Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / public / renderer / media_stream_api.h
blob71ce675309b5c25ed69c7b7bc54051b4e8ee75eb
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_API_H_
6 #define CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_API_H_
8 #include "content/common/content_export.h"
9 #include "media/base/audio_capturer_source.h"
10 #include "media/base/video_capturer_source.h"
12 namespace blink {
13 class WebMediaStreamSource;
16 namespace Media {
17 class AudioParameters;
20 namespace content {
22 // These two methods will initialize a WebMediaStreamSource object to take
23 // data from the provided audio or video capturer source.
24 // |is_remote| should be true if the source of the data is not a local device.
25 // |is_readonly| should be true if the format of the data cannot be changed by
26 // MediaTrackConstraints.
27 CONTENT_EXPORT bool AddVideoTrackToMediaStream(
28 scoped_ptr<media::VideoCapturerSource> source,
29 bool is_remote,
30 bool is_readonly,
31 const std::string& media_stream_url);
32 CONTENT_EXPORT bool AddAudioTrackToMediaStream(
33 scoped_refptr<media::AudioCapturerSource> source,
34 const media::AudioParameters& params,
35 bool is_remote,
36 bool is_readonly,
37 const std::string& media_stream_url);
39 } // namespace content
41 #endif // CONTENT_PUBLIC_RENDERER_MEDIA_STREAM_API_H_