| Index: content/renderer/media/android/webmediaplayer_android.cc
|
| diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
|
| index e3c5712ab306951f1cbde4089584d8e57bfd4d4a..81a8d6a9619923274d07e3a3664f42c4c49fb8ae 100644
|
| --- a/content/renderer/media/android/webmediaplayer_android.cc
|
| +++ b/content/renderer/media/android/webmediaplayer_android.cc
|
| @@ -154,23 +154,25 @@
|
| base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
|
| RendererMediaPlayerManager* player_manager,
|
| media::CdmFactory* cdm_factory,
|
| + media::MediaPermission* media_permission,
|
| + blink::WebContentDecryptionModule* initial_cdm,
|
| scoped_refptr<StreamTextureFactory> factory,
|
| - const media::WebMediaPlayerParams& params)
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
|
| + media::MediaLog* media_log)
|
| : RenderFrameObserver(RenderFrame::FromWebFrame(frame)),
|
| frame_(frame),
|
| client_(client),
|
| encrypted_client_(encrypted_client),
|
| delegate_(delegate),
|
| - defer_load_cb_(params.defer_load_cb()),
|
| buffered_(static_cast<size_t>(1)),
|
| - media_task_runner_(params.media_task_runner()),
|
| + media_task_runner_(task_runner),
|
| ignore_metadata_duration_change_(false),
|
| pending_seek_(false),
|
| seeking_(false),
|
| did_loading_progress_(false),
|
| player_manager_(player_manager),
|
| cdm_factory_(cdm_factory),
|
| - media_permission_(params.media_permission()),
|
| + media_permission_(media_permission),
|
| network_state_(WebMediaPlayer::NetworkStateEmpty),
|
| ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
|
| texture_id_(0),
|
| @@ -179,10 +181,10 @@
|
| is_playing_(false),
|
| needs_establish_peer_(true),
|
| has_size_info_(false),
|
| - // Threaded compositing isn't enabled universally yet.
|
| - compositor_task_runner_(
|
| - params.compositor_task_runner()
|
| - ? params.compositor_task_runner()
|
| + // Compositor thread does not exist in layout tests.
|
| + compositor_loop_(
|
| + RenderThreadImpl::current()->compositor_task_runner().get()
|
| + ? RenderThreadImpl::current()->compositor_task_runner()
|
| : base::ThreadTaskRunnerHandle::Get()),
|
| stream_texture_factory_(factory),
|
| needs_external_surface_(false),
|
| @@ -190,7 +192,7 @@
|
| video_frame_provider_client_(NULL),
|
| player_type_(MEDIA_PLAYER_TYPE_URL),
|
| is_remote_(false),
|
| - media_log_(params.media_log()),
|
| + media_log_(media_log),
|
| init_data_type_(media::EmeInitDataType::UNKNOWN),
|
| cdm_context_(NULL),
|
| allow_stored_credentials_(false),
|
| @@ -221,9 +223,9 @@
|
| TryCreateStreamTextureProxyIfNeeded();
|
| interpolator_.SetUpperBound(base::TimeDelta());
|
|
|
| - if (params.initial_cdm()) {
|
| - cdm_context_ = media::ToWebContentDecryptionModuleImpl(params.initial_cdm())
|
| - ->GetCdmContext();
|
| + if (initial_cdm) {
|
| + cdm_context_ =
|
| + media::ToWebContentDecryptionModuleImpl(initial_cdm)->GetCdmContext();
|
| }
|
| }
|
|
|
| @@ -271,18 +273,6 @@
|
| void WebMediaPlayerAndroid::load(LoadType load_type,
|
| const blink::WebURL& url,
|
| CORSMode cors_mode) {
|
| - if (!defer_load_cb_.is_null()) {
|
| - defer_load_cb_.Run(base::Bind(&WebMediaPlayerAndroid::DoLoad,
|
| - weak_factory_.GetWeakPtr(), load_type, url,
|
| - cors_mode));
|
| - return;
|
| - }
|
| - DoLoad(load_type, url, cors_mode);
|
| -}
|
| -
|
| -void WebMediaPlayerAndroid::DoLoad(LoadType load_type,
|
| - const blink::WebURL& url,
|
| - CORSMode cors_mode) {
|
| DCHECK(main_thread_checker_.CalledOnValidThread());
|
|
|
| media::ReportMetrics(load_type, GURL(url),
|
| @@ -1268,10 +1258,8 @@
|
|
|
| // Set the callback target when a frame is produced. Need to do this before
|
| // StopUsingProvider to ensure we really stop using the client.
|
| - if (stream_texture_proxy_) {
|
| - stream_texture_proxy_->BindToLoop(stream_id_, client,
|
| - compositor_task_runner_);
|
| - }
|
| + if (stream_texture_proxy_)
|
| + stream_texture_proxy_->BindToLoop(stream_id_, client, compositor_loop_);
|
|
|
| if (video_frame_provider_client_ && video_frame_provider_client_ != client)
|
| video_frame_provider_client_->StopUsingProvider();
|
| @@ -1357,7 +1345,7 @@
|
| ReallocateVideoFrame();
|
| if (video_frame_provider_client_) {
|
| stream_texture_proxy_->BindToLoop(
|
| - stream_id_, video_frame_provider_client_, compositor_task_runner_);
|
| + stream_id_, video_frame_provider_client_, compositor_loop_);
|
| }
|
| }
|
| }
|
|
|