Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Unified Diff: content/renderer/media/webmediaplayer_impl.cc

Issue 517003002: Remove RenderThreadImpl dependencies from WebMediaPlayerImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698