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

Unified Diff: content/renderer/media/webmediaplayer_params.h

Issue 517003002: Remove RenderThreadImpl dependencies from WebMediaPlayerImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix player_x11 with 1 hand while shaking fist at it with the other. 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_params.h
diff --git a/content/renderer/media/webmediaplayer_params.h b/content/renderer/media/webmediaplayer_params.h
index 87105fef85551d547a9af42821fa5d2345542b7b..cfaff62cc1d0801cea329ac3a0cc238f8afb0ef3 100644
--- a/content/renderer/media/webmediaplayer_params.h
+++ b/content/renderer/media/webmediaplayer_params.h
@@ -7,9 +7,21 @@
#include "base/callback.h"
#include "base/memory/ref_counted.h"
+#include "content/renderer/media/crypto/encrypted_media_player_support.h"
+
+namespace base {
+class SingleThreadTaskRunner;
+}
+
+namespace blink {
+class WebMediaPlayerClient;
+}
namespace media {
+class AudioHardwareConfig;
class AudioRendererSink;
+class GpuVideoAcceleratorFactories;
+class MediaLog;
}
namespace content {
@@ -18,10 +30,26 @@ namespace content {
// to plumb arguments through various abstraction layers.
class WebMediaPlayerParams {
public:
- // Parameters may be null.
+ // Callback used to create EncryptedMediaPlayerSupport instances. This
+ // callback must always return a valid EncryptedMediaPlayerSupport object.
+ typedef base::Callback<scoped_ptr<EncryptedMediaPlayerSupport>(
+ blink::WebMediaPlayerClient*)> EncryptedMediaPlayerSupportCreateCB;
+
+ // |defer_load_cb|, |audio_renderer_sink|, and |compositor_task_runner| may be
+ // null.
WebMediaPlayerParams(
const base::Callback<void(const base::Closure&)>& defer_load_cb,
- const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink);
+ const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink,
+ const media::AudioHardwareConfig& audio_hardware_config,
+ const scoped_refptr<media::MediaLog>& media_log,
+ const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories,
+ const scoped_refptr<base::SingleThreadTaskRunner>&
+ media_task_runner,
+ const scoped_refptr<base::SingleThreadTaskRunner>&
+ compositor_task_runner,
+ const EncryptedMediaPlayerSupportCreateCB&
+ encrypted_media_player_support_cb);
+
~WebMediaPlayerParams();
base::Callback<void(const base::Closure&)> defer_load_cb() const {
@@ -32,9 +60,41 @@ class WebMediaPlayerParams {
return audio_renderer_sink_;
}
+ const media::AudioHardwareConfig& audio_hardware_config() const {
+ return audio_hardware_config_;
+ }
+
+ const scoped_refptr<media::MediaLog>& media_log() const {
+ return media_log_;
+ }
+
+ const scoped_refptr<media::GpuVideoAcceleratorFactories>&
+ gpu_factories() const {
+ return gpu_factories_;
+ }
+
+ const scoped_refptr<base::SingleThreadTaskRunner>&
+ media_task_runner() const {
+ return media_task_runner_;
+ }
+
+ const scoped_refptr<base::SingleThreadTaskRunner>&
+ compositor_task_runner() const {
+ return compositor_task_runner_;
+ }
+
+ scoped_ptr<EncryptedMediaPlayerSupport>
+ CreateEncryptedMediaPlayerSupport(blink::WebMediaPlayerClient* client) const;
+
private:
base::Callback<void(const base::Closure&)> defer_load_cb_;
scoped_refptr<media::AudioRendererSink> audio_renderer_sink_;
+ const media::AudioHardwareConfig& audio_hardware_config_;
+ scoped_refptr<media::MediaLog> media_log_;
+ scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories_;
+ scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
+ scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
+ EncryptedMediaPlayerSupportCreateCB encrypted_media_player_support_cb_;
DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerParams);
};

Powered by Google App Engine
This is Rietveld 408576698