diff options
Diffstat (limited to 'webkit/renderer/media/webmediaplayer_impl.cc')
-rw-r--r-- | webkit/renderer/media/webmediaplayer_impl.cc | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/webkit/renderer/media/webmediaplayer_impl.cc b/webkit/renderer/media/webmediaplayer_impl.cc index fb78842..13d8b52 100644 --- a/webkit/renderer/media/webmediaplayer_impl.cc +++ b/webkit/renderer/media/webmediaplayer_impl.cc @@ -130,7 +130,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( network_state_(WebMediaPlayer::NetworkStateEmpty), ready_state_(WebMediaPlayer::ReadyStateHaveNothing), main_loop_(base::MessageLoopProxy::current()), - media_thread_("MediaPipeline"), + media_loop_(params.message_loop_proxy()), paused_(true), seeking_(false), playback_rate_(0.0f), @@ -153,9 +153,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( media_log_->AddEvent( media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); - CHECK(media_thread_.Start()); - pipeline_.reset(new media::Pipeline(media_thread_.message_loop_proxy(), - media_log_.get())); + pipeline_.reset(new media::Pipeline(media_loop_, media_log_)); // Let V8 know we started new thread if we did not do it yet. // Made separate task to avoid deletion of player currently being created. @@ -185,7 +183,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( audio_source_provider_ = new WebAudioSourceProviderImpl( params.audio_renderer_sink().get() ? params.audio_renderer_sink() - : new media::NullAudioSink(media_thread_.message_loop_proxy())); + : new media::NullAudioSink(media_loop_)); } WebMediaPlayerImpl::~WebMediaPlayerImpl() { @@ -1061,7 +1059,7 @@ void WebMediaPlayerImpl::StartPipeline(WebKit::WebMediaSource* media_source) { DCHECK(data_source_); demuxer_.reset(new media::FFmpegDemuxer( - media_thread_.message_loop_proxy(), data_source_.get(), + media_loop_, data_source_.get(), BIND_TO_RENDER_LOOP_2(&WebMediaPlayerImpl::OnNeedKey, "", ""))); } else { DCHECK(!chunk_demuxer_); @@ -1100,15 +1098,13 @@ void WebMediaPlayerImpl::StartPipeline(WebKit::WebMediaSource* media_source) { // Create our audio decoders and renderer. ScopedVector<media::AudioDecoder> audio_decoders; - audio_decoders.push_back(new media::FFmpegAudioDecoder( - media_thread_.message_loop_proxy())); + audio_decoders.push_back(new media::FFmpegAudioDecoder(media_loop_)); if (cmd_line->HasSwitch(switches::kEnableOpusPlayback)) { - audio_decoders.push_back(new media::OpusAudioDecoder( - media_thread_.message_loop_proxy())); + audio_decoders.push_back(new media::OpusAudioDecoder(media_loop_)); } scoped_ptr<media::AudioRenderer> audio_renderer( - new media::AudioRendererImpl(media_thread_.message_loop_proxy(), + new media::AudioRendererImpl(media_loop_, audio_source_provider_.get(), audio_decoders.Pass(), set_decryptor_ready_cb, @@ -1120,7 +1116,7 @@ void WebMediaPlayerImpl::StartPipeline(WebKit::WebMediaSource* media_source) { if (gpu_factories_.get()) { video_decoders.push_back(new media::GpuVideoDecoder( - media_thread_.message_loop_proxy(), gpu_factories_)); + media_loop_, gpu_factories_)); } // TODO(phajdan.jr): Remove ifdefs when libvpx with vp9 support is released @@ -1128,17 +1124,15 @@ void WebMediaPlayerImpl::StartPipeline(WebKit::WebMediaSource* media_source) { #if !defined(MEDIA_DISABLE_LIBVPX) if (cmd_line->HasSwitch(switches::kEnableVp9Playback) || cmd_line->HasSwitch(switches::kEnableVp8AlphaPlayback)) { - video_decoders.push_back(new media::VpxVideoDecoder( - media_thread_.message_loop_proxy())); + video_decoders.push_back(new media::VpxVideoDecoder(media_loop_)); } #endif // !defined(MEDIA_DISABLE_LIBVPX) - video_decoders.push_back(new media::FFmpegVideoDecoder( - media_thread_.message_loop_proxy())); + video_decoders.push_back(new media::FFmpegVideoDecoder(media_loop_)); scoped_ptr<media::VideoRenderer> video_renderer( new media::VideoRendererBase( - media_thread_.message_loop_proxy(), + media_loop_, video_decoders.Pass(), set_decryptor_ready_cb, base::Bind(&WebMediaPlayerImpl::FrameReady, base::Unretained(this)), @@ -1208,8 +1202,6 @@ void WebMediaPlayerImpl::Destroy() { incremented_externally_allocated_memory_ = false; } - media_thread_.Stop(); - // Release any final references now that everything has stopped. pipeline_.reset(); demuxer_.reset(); |