Chromium Code Reviews| 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 da39c4be45df966ffb8cd4ec75c3e965ea1f0dce..511879accd38ddb9426d19ad3de255486a3c5509 100644 |
| --- a/content/public/renderer/media_stream_api.cc |
| +++ b/content/public/renderer/media_stream_api.cc |
| @@ -11,9 +11,6 @@ |
| #include "content/renderer/media/media_stream_audio_source.h" |
| #include "content/renderer/media/media_stream_video_capturer_source.h" |
| #include "content/renderer/media/media_stream_video_track.h" |
| -#include "media/base/audio_capturer_source.h" |
| -#include "media/base/video_capturer_source.h" |
| -#include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h" |
| #include "third_party/WebKit/public/platform/WebMediaStream.h" |
| #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" |
| #include "third_party/WebKit/public/platform/WebURL.h" |
| @@ -37,61 +34,34 @@ bool AddVideoTrackToMediaStream( |
| bool is_remote, |
| bool is_readonly, |
| const std::string& media_stream_url) { |
| - blink::WebMediaStream stream = |
| + blink::WebMediaStream web_stream = |
| blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor( |
| GURL(media_stream_url)); |
| - |
| - if (stream.isNull()) { |
| - LOG(ERROR) << "Stream not found"; |
| - return false; |
| - } |
| - 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(); |
| - stream.addTrack(MediaStreamVideoTrack::CreateVideoTrack( |
| - media_stream_source.release(), |
| - constraints, |
| - MediaStreamVideoSource::ConstraintsCallback(), |
| - true)); |
| - return true; |
| + return AddVideoTrackToMediaStream(source.Pass(), is_remote, is_readonly, |
| + &web_stream); |
| } |
| bool AddAudioTrackToMediaStream( |
| - scoped_refptr<media::AudioCapturerSource> source, |
| + const scoped_refptr<media::AudioCapturerSource>& source, |
| const media::AudioParameters& params, |
| bool is_remote, |
| bool is_readonly, |
| const std::string& media_stream_url) { |
| DCHECK(params.IsValid()) << params.AsHumanReadableString(); |
| - blink::WebMediaStream stream = |
| + blink::WebMediaStream web_stream = |
| blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor( |
| GURL(media_stream_url)); |
| - |
| - if (stream.isNull()) { |
| + if (web_stream.isNull()) { |
| LOG(ERROR) << "Stream not found"; |
| return false; |
| } |
| blink::WebMediaStreamSource webkit_source; |
| - blink::WebString track_id = MakeTrackId(); |
| - webkit_source.initialize( |
| - track_id, |
| - blink::WebMediaStreamSource::TypeAudio, |
| - track_id, |
| - is_remote, |
| - is_readonly); |
| + const blink::WebString track_id = MakeTrackId(); |
| + webkit_source.initialize(track_id, |
| + blink::WebMediaStreamSource::TypeAudio, |
| + track_id, |
| + is_remote, |
| + is_readonly); |
| MediaStreamAudioSource* audio_source( |
| new MediaStreamAudioSource( |
| @@ -114,7 +84,38 @@ bool AddAudioTrackToMediaStream( |
| RenderThreadImpl::current()->GetPeerConnectionDependencyFactory()-> |
| CreateLocalAudioTrack(web_media_audio_track); |
| - stream.addTrack(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()) { |
| + LOG(ERROR) << "Stream not found"; |
|
dmazzoni
2015/09/30 15:23:45
Is this error likely to occur? Should it be a fata
mcasas
2015/09/30 19:14:58
DLOG() it is, here and in l.55.
|
| + 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; |
| } |