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

Side by Side Diff: content/renderer/media/webmediaplayer_params.h

Issue 495353003: Move WebMediaPlayerImpl and its dependencies to media/blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_PARAMS_H_
6 #define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_PARAMS_H_
7
8 #include "base/callback.h"
9 #include "base/memory/ref_counted.h"
10 #include "content/renderer/media/crypto/encrypted_media_player_support.h"
11
12 namespace base {
13 class SingleThreadTaskRunner;
14 }
15
16 namespace blink {
17 class WebMediaPlayerClient;
18 }
19
20 namespace media {
21 class AudioHardwareConfig;
22 class AudioRendererSink;
23 class GpuVideoAcceleratorFactories;
24 class MediaLog;
25 }
26
27 namespace content {
28
29 // Holds parameters for constructing WebMediaPlayerImpl without having
30 // to plumb arguments through various abstraction layers.
31 class WebMediaPlayerParams {
32 public:
33 // Callback used to create EncryptedMediaPlayerSupport instances. This
34 // callback must always return a valid EncryptedMediaPlayerSupport object.
35 typedef base::Callback<scoped_ptr<EncryptedMediaPlayerSupport>(
36 blink::WebMediaPlayerClient*)> EncryptedMediaPlayerSupportCreateCB;
37
38 // |defer_load_cb|, |audio_renderer_sink|, and |compositor_task_runner| may be
39 // null.
40 WebMediaPlayerParams(
41 const base::Callback<void(const base::Closure&)>& defer_load_cb,
42 const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink,
43 const media::AudioHardwareConfig& audio_hardware_config,
44 const scoped_refptr<media::MediaLog>& media_log,
45 const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories,
46 const scoped_refptr<base::SingleThreadTaskRunner>&
47 media_task_runner,
48 const scoped_refptr<base::SingleThreadTaskRunner>&
49 compositor_task_runner,
50 const EncryptedMediaPlayerSupportCreateCB&
51 encrypted_media_player_support_cb);
52
53 ~WebMediaPlayerParams();
54
55 base::Callback<void(const base::Closure&)> defer_load_cb() const {
56 return defer_load_cb_;
57 }
58
59 const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink() const {
60 return audio_renderer_sink_;
61 }
62
63 const media::AudioHardwareConfig& audio_hardware_config() const {
64 return audio_hardware_config_;
65 }
66
67 const scoped_refptr<media::MediaLog>& media_log() const {
68 return media_log_;
69 }
70
71 const scoped_refptr<media::GpuVideoAcceleratorFactories>&
72 gpu_factories() const {
73 return gpu_factories_;
74 }
75
76 const scoped_refptr<base::SingleThreadTaskRunner>&
77 media_task_runner() const {
78 return media_task_runner_;
79 }
80
81 const scoped_refptr<base::SingleThreadTaskRunner>&
82 compositor_task_runner() const {
83 return compositor_task_runner_;
84 }
85
86 scoped_ptr<EncryptedMediaPlayerSupport>
87 CreateEncryptedMediaPlayerSupport(blink::WebMediaPlayerClient* client) const;
88
89 private:
90 base::Callback<void(const base::Closure&)> defer_load_cb_;
91 scoped_refptr<media::AudioRendererSink> audio_renderer_sink_;
92 const media::AudioHardwareConfig& audio_hardware_config_;
93 scoped_refptr<media::MediaLog> media_log_;
94 scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories_;
95 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
96 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
97 EncryptedMediaPlayerSupportCreateCB encrypted_media_player_support_cb_;
98
99 DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerParams);
100 };
101
102 } // namespace content
103
104 #endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_PARAMS_H_
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_ms.cc ('k') | content/renderer/media/webmediaplayer_params.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698