| Index: content/renderer/media/media_recorder_handler.cc
|
| diff --git a/content/renderer/media/media_recorder_handler.cc b/content/renderer/media/media_recorder_handler.cc
|
| index 2944013d3a50abb1f91a641ae9f62be14c338e4a..713d709c6137870d054858edbe1cbaf0daff765c 100644
|
| --- a/content/renderer/media/media_recorder_handler.cc
|
| +++ b/content/renderer/media/media_recorder_handler.cc
|
| @@ -82,7 +82,7 @@ bool MediaRecorderHandler::canSupportMimeType(
|
|
|
| bool MediaRecorderHandler::initialize(
|
| blink::WebMediaRecorderHandlerClient* client,
|
| - const blink::WebMediaStream& media_stream,
|
| + const blink::WebMediaStream& web_media_stream,
|
| const blink::WebString& type,
|
| const blink::WebString& codecs) {
|
| DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| @@ -96,10 +96,12 @@ bool MediaRecorderHandler::initialize(
|
| return false;
|
| }
|
| use_vp9_ = base::ToLowerASCII(codecs.utf8()).find("vp9") != std::string::npos;
|
| - media_stream_ = media_stream;
|
| DCHECK(client);
|
| client_ = client;
|
|
|
| + web_media_stream_ = web_media_stream;
|
| + MediaStream::GetMediaStream(web_media_stream)->AddObserver(this);
|
| +
|
| return true;
|
| }
|
|
|
| @@ -112,7 +114,7 @@ bool MediaRecorderHandler::start() {
|
| bool MediaRecorderHandler::start(int timeslice) {
|
| DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| DCHECK(!recording_);
|
| - DCHECK(!media_stream_.isNull());
|
| + DCHECK(!web_media_stream_.isNull());
|
| DCHECK(timeslice_.is_zero());
|
| DCHECK(!webm_muxer_);
|
|
|
| @@ -120,8 +122,8 @@ bool MediaRecorderHandler::start(int timeslice) {
|
| slice_origin_timestamp_ = TimeTicks::Now();
|
|
|
| blink::WebVector<blink::WebMediaStreamTrack> video_tracks, audio_tracks;
|
| - media_stream_.videoTracks(video_tracks);
|
| - media_stream_.audioTracks(audio_tracks);
|
| + web_media_stream_.videoTracks(video_tracks);
|
| + web_media_stream_.audioTracks(audio_tracks);
|
|
|
| if (video_tracks.isEmpty() && audio_tracks.isEmpty()) {
|
| LOG(WARNING) << __FUNCTION__ << ": no media tracks.";
|
| @@ -205,6 +207,15 @@ void MediaRecorderHandler::resume() {
|
| video_recorder->Resume();
|
| }
|
|
|
| +void MediaRecorderHandler::TrackAdded(const blink::WebMediaStreamTrack& track) {
|
| + client_->onError("Track added");
|
| +}
|
| +
|
| +void MediaRecorderHandler::TrackRemoved(
|
| + const blink::WebMediaStreamTrack& track) {
|
| + client_->onError("Track removed");
|
| +}
|
| +
|
| void MediaRecorderHandler::OnEncodedVideo(
|
| const scoped_refptr<media::VideoFrame>& video_frame,
|
| scoped_ptr<std::string> encoded_data,
|
|
|