Index: content/public/renderer/media_stream_api.cc |
diff --git a/content/public/renderer/media_stream_api.cc b/content/public/renderer/media_stream_api.cc |
index dfe7896d2b4015e9d4e94b1758707f6a918e5db2..5908c99690751894b0663c07b039da1a3a4fb26b 100644 |
--- a/content/public/renderer/media_stream_api.cc |
+++ b/content/public/renderer/media_stream_api.cc |
@@ -30,11 +30,10 @@ blink::WebString MakeTrackId() { |
} // namespace |
-bool AddVideoTrackToMediaStream( |
- scoped_ptr<media::VideoCapturerSource> source, |
- bool is_remote, |
- bool is_readonly, |
- const std::string& media_stream_url) { |
+bool AddVideoTrackToMediaStream(scoped_ptr<media::VideoCapturerSource> source, |
+ bool is_remote, |
+ bool is_readonly, |
+ const std::string& media_stream_url) { |
blink::WebMediaStream web_stream = |
blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor( |
GURL(media_stream_url)); |
@@ -42,6 +41,31 @@ bool AddVideoTrackToMediaStream( |
&web_stream); |
} |
+bool AddVideoTrackToMediaStream(scoped_ptr<media::VideoCapturerSource> source, |
+ bool is_remote, |
+ bool is_readonly, |
+ blink::WebMediaStream* web_stream) { |
+ if (web_stream->isNull()) { |
+ DLOG(ERROR) << "Stream not found"; |
+ return false; |
+ } |
+ const blink::WebString track_id = MakeTrackId(); |
+ blink::WebMediaStreamSource webkit_source; |
+ scoped_ptr<MediaStreamVideoSource> media_stream_source( |
+ new MediaStreamVideoCapturerSource( |
+ MediaStreamSource::SourceStoppedCallback(), source.Pass())); |
+ webkit_source.initialize(track_id, blink::WebMediaStreamSource::TypeVideo, |
+ track_id, is_remote, is_readonly); |
+ webkit_source.setExtraData(media_stream_source.get()); |
+ |
+ blink::WebMediaConstraints constraints; |
+ constraints.initialize(); |
+ web_stream->addTrack(MediaStreamVideoTrack::CreateVideoTrack( |
+ media_stream_source.release(), constraints, |
+ MediaStreamVideoSource::ConstraintsCallback(), true)); |
+ return true; |
+} |
+ |
bool AddAudioTrackToMediaStream( |
const scoped_refptr<media::AudioCapturerSource>& source, |
const media::AudioParameters& params, |
@@ -52,10 +76,26 @@ bool AddAudioTrackToMediaStream( |
blink::WebMediaStream web_stream = |
blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor( |
GURL(media_stream_url)); |
- if (web_stream.isNull()) { |
+ return AddAudioTrackToMediaStream(source, |
+ is_remote, is_readonly, &web_stream); |
+} |
+ |
+bool AddAudioTrackToMediaStream( |
+ const scoped_refptr<media::AudioCapturerSource>& source, |
+ bool is_remote, |
+ bool is_readonly, |
+ blink::WebMediaStream* web_stream) { |
+ if (web_stream->isNull()) { |
DLOG(ERROR) << "Stream not found"; |
return false; |
} |
+ |
+ media::AudioParameters params( |
+ media::AudioParameters::AUDIO_PCM_LINEAR, media::CHANNEL_LAYOUT_STEREO, |
+ 48000, /* sample rate */ |
+ 16, /* bits per sample */ |
+ 480); /* frames per buffer */ |
+ |
blink::WebMediaStreamSource webkit_source; |
const blink::WebString track_id = MakeTrackId(); |
webkit_source.initialize(track_id, |
@@ -85,38 +125,7 @@ bool AddAudioTrackToMediaStream( |
RenderThreadImpl::current()->GetPeerConnectionDependencyFactory()-> |
CreateLocalAudioTrack(web_media_audio_track); |
- web_stream.addTrack(web_media_audio_track); |
- return true; |
-} |
- |
-bool AddVideoTrackToMediaStream(scoped_ptr<media::VideoCapturerSource> source, |
- bool is_remote, |
- bool is_readonly, |
- blink::WebMediaStream* web_stream) { |
- if (web_stream->isNull()) { |
- DLOG(ERROR) << "Stream not found"; |
- return false; |
- } |
- const blink::WebString track_id = MakeTrackId(); |
- blink::WebMediaStreamSource webkit_source; |
- scoped_ptr<MediaStreamVideoSource> media_stream_source( |
- new MediaStreamVideoCapturerSource( |
- MediaStreamSource::SourceStoppedCallback(), |
- source.Pass())); |
- webkit_source.initialize(track_id, |
- blink::WebMediaStreamSource::TypeVideo, |
- track_id, |
- is_remote, |
- is_readonly); |
- webkit_source.setExtraData(media_stream_source.get()); |
- |
- blink::WebMediaConstraints constraints; |
- constraints.initialize(); |
- web_stream->addTrack(MediaStreamVideoTrack::CreateVideoTrack( |
- media_stream_source.release(), |
- constraints, |
- MediaStreamVideoSource::ConstraintsCallback(), |
- true)); |
+ web_stream->addTrack(web_media_audio_track); |
return true; |
} |