| Index: content/renderer/media/webmediaplayer_impl.cc
|
| diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc
|
| index 5067d28148bf963b691bee7ed0ec8b283c727766..4ff961e7e69aeedab4f03deec35f015fa7926eb0 100644
|
| --- a/content/renderer/media/webmediaplayer_impl.cc
|
| +++ b/content/renderer/media/webmediaplayer_impl.cc
|
| @@ -23,10 +23,8 @@
|
| #include "cc/blink/web_layer_impl.h"
|
| #include "cc/layers/video_layer.h"
|
| #include "content/public/common/content_switches.h"
|
| -#include "content/public/renderer/render_frame.h"
|
| #include "content/renderer/media/buffered_data_source.h"
|
| #include "content/renderer/media/crypto/encrypted_media_player_support.h"
|
| -#include "content/renderer/media/render_media_log.h"
|
| #include "content/renderer/media/texttrack_impl.h"
|
| #include "content/renderer/media/webaudiosourceprovider_impl.h"
|
| #include "content/renderer/media/webinbandtexttrack_impl.h"
|
| @@ -34,7 +32,6 @@
|
| #include "content/renderer/media/webmediaplayer_params.h"
|
| #include "content/renderer/media/webmediaplayer_util.h"
|
| #include "content/renderer/media/webmediasource_impl.h"
|
| -#include "content/renderer/render_thread_impl.h"
|
| #include "gpu/GLES2/gl2extchromium.h"
|
| #include "gpu/command_buffer/common/mailbox_holder.h"
|
| #include "media/audio/null_audio_sink.h"
|
| @@ -144,15 +141,14 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| blink::WebLocalFrame* frame,
|
| blink::WebMediaPlayerClient* client,
|
| base::WeakPtr<WebMediaPlayerDelegate> delegate,
|
| - const WebMediaPlayerParams& params)
|
| + scoped_ptr<WebMediaPlayerParams> params)
|
| : frame_(frame),
|
| network_state_(WebMediaPlayer::NetworkStateEmpty),
|
| ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
|
| preload_(AUTO),
|
| main_task_runner_(base::MessageLoopProxy::current()),
|
| - media_task_runner_(
|
| - RenderThreadImpl::current()->GetMediaThreadTaskRunner()),
|
| - media_log_(new RenderMediaLog()),
|
| + media_task_runner_(params->media_task_runner()),
|
| + media_log_(params->media_log()),
|
| pipeline_(media_task_runner_, media_log_.get()),
|
| load_type_(LoadTypeURL),
|
| opaque_(false),
|
| @@ -164,22 +160,23 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| should_notify_time_changed_(false),
|
| client_(client),
|
| delegate_(delegate),
|
| - defer_load_cb_(params.defer_load_cb()),
|
| - gpu_factories_(RenderThreadImpl::current()->GetGpuFactories()),
|
| + defer_load_cb_(params->defer_load_cb()),
|
| + gpu_factories_(params->gpu_factories()),
|
| supports_save_(true),
|
| chunk_demuxer_(NULL),
|
| - // Threaded compositing isn't enabled universally yet.
|
| - compositor_task_runner_(
|
| - RenderThreadImpl::current()->compositor_message_loop_proxy()
|
| - ? RenderThreadImpl::current()->compositor_message_loop_proxy()
|
| - : base::MessageLoopProxy::current()),
|
| + compositor_task_runner_(params->compositor_task_runner()),
|
| compositor_(new VideoFrameCompositor(
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnNaturalSizeChanged),
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnOpacityChanged))),
|
| text_track_index_(0),
|
| - encrypted_media_support_(EncryptedMediaPlayerSupport::Create(client)) {
|
| + encrypted_media_support_(params->encrypted_media_player_support().Pass()),
|
| + audio_hardware_config_(params->audio_hardware_config()) {
|
| DCHECK(encrypted_media_support_);
|
|
|
| + // Threaded compositing isn't enabled universally yet.
|
| + if (!compositor_task_runner_)
|
| + compositor_task_runner_ = base::MessageLoopProxy::current();
|
| +
|
| media_log_->AddEvent(
|
| media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED));
|
|
|
| @@ -191,8 +188,8 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
|
|
| // Use the null sink if no sink was provided.
|
| audio_source_provider_ = new WebAudioSourceProviderImpl(
|
| - params.audio_renderer_sink().get()
|
| - ? params.audio_renderer_sink()
|
| + params->audio_renderer_sink().get()
|
| + ? params->audio_renderer_sink()
|
| : new media::NullAudioSink(media_task_runner_));
|
| }
|
|
|
| @@ -841,7 +838,7 @@ scoped_ptr<media::Renderer> WebMediaPlayerImpl::CreateRenderer() {
|
| audio_source_provider_.get(),
|
| audio_decoders.Pass(),
|
| set_decryptor_ready_cb,
|
| - RenderThreadImpl::current()->GetAudioHardwareConfig()));
|
| + audio_hardware_config_));
|
|
|
| // Create our video decoders and renderer.
|
| ScopedVector<media::VideoDecoder> video_decoders;
|
|
|