| Index: webkit/renderer/media/webmediaplayer_impl.cc
|
| diff --git a/webkit/renderer/media/webmediaplayer_impl.cc b/webkit/renderer/media/webmediaplayer_impl.cc
|
| index c70ed2794cf7f6f0814654ae3f374679c77aa87f..8be02d7361ded5e50d229ebb2f6de8555110e452 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() {
|
| @@ -1058,7 +1056,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_);
|
| @@ -1097,15 +1095,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,
|
| @@ -1117,7 +1113,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
|
| @@ -1125,17 +1121,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)),
|
| @@ -1205,8 +1199,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();
|
|
|