| 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 5934ef9fd11ee121a05e63fa12dcb506736b2ce8..34800585695ae59af9b93cd32485fcb45aa82baa 100644
|
| --- a/content/renderer/media/media_recorder_handler.cc
|
| +++ b/content/renderer/media/media_recorder_handler.cc
|
| @@ -18,6 +18,11 @@ namespace content {
|
| MediaRecorderHandler::MediaRecorderHandler()
|
| : recording_(false), client_(nullptr), weak_factory_(this) {
|
| DVLOG(3) << __FUNCTION__;
|
| + webm_muxer_ = make_scoped_refptr(
|
| + new media::WebmMuxer(base::MessageLoop::current()->task_runner(),
|
| + media::BindToCurrentLoop(
|
| + base::Bind(&MediaRecorderHandler::WriteData,
|
| + weak_factory_.GetWeakPtr()))));
|
| }
|
|
|
| MediaRecorderHandler::~MediaRecorderHandler() {
|
| @@ -60,9 +65,6 @@ bool MediaRecorderHandler::start(int timeslice) {
|
| DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| DCHECK(!recording_);
|
| DCHECK(!media_stream_.isNull());
|
| -
|
| - webm_muxer_.reset(new media::WebmMuxer(media::BindToCurrentLoop(base::Bind(
|
| - &MediaRecorderHandler::WriteData, weak_factory_.GetWeakPtr()))));
|
| DCHECK(webm_muxer_);
|
|
|
| blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
|
| @@ -84,8 +86,7 @@ bool MediaRecorderHandler::start(int timeslice) {
|
| return false;
|
|
|
| const VideoTrackRecorder::OnEncodedVideoCB on_encoded_video_cb =
|
| - base::Bind(&media::WebmMuxer::OnEncodedVideo,
|
| - base::Unretained(webm_muxer_.get()));
|
| + base::Bind(&media::WebmMuxer::OnEncodedVideo, webm_muxer_);
|
|
|
| video_recorders_.push_back(new VideoTrackRecorder(video_track,
|
| on_encoded_video_cb));
|
| @@ -100,7 +101,6 @@ void MediaRecorderHandler::stop() {
|
|
|
| recording_ = false;
|
| video_recorders_.clear();
|
| - webm_muxer_.reset(NULL);
|
| }
|
|
|
| void MediaRecorderHandler::pause() {
|
|
|