OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WEBKIT_MEDIA_WEBMEDIAPLAYER_PARAMS_H_ | 5 #ifndef WEBKIT_MEDIA_WEBMEDIAPLAYER_PARAMS_H_ |
6 #define WEBKIT_MEDIA_WEBMEDIAPLAYER_PARAMS_H_ | 6 #define WEBKIT_MEDIA_WEBMEDIAPLAYER_PARAMS_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "media/filters/gpu_video_decoder.h" | 9 #include "media/filters/gpu_video_decoder.h" |
10 | 10 |
11 namespace media { | 11 namespace media { |
12 class AudioRendererSink; | 12 class AudioRendererSink; |
13 class MediaLog; | 13 class MediaLog; |
14 } | 14 } |
15 | 15 |
16 namespace webkit_media { | 16 namespace webkit_media { |
17 | 17 |
18 class MediaStreamClient; | |
19 | |
20 // Holds parameters for constructing WebMediaPlayerImpl without having | 18 // Holds parameters for constructing WebMediaPlayerImpl without having |
21 // to plumb arguments through various abstraction layers. | 19 // to plumb arguments through various abstraction layers. |
22 class WebMediaPlayerParams { | 20 class WebMediaPlayerParams { |
23 public: | 21 public: |
24 // |media_log| is the only required parameter; all others may be null. | 22 // |media_log| is the only required parameter; all others may be null. |
25 WebMediaPlayerParams( | 23 WebMediaPlayerParams( |
26 const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink, | 24 const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink, |
27 const scoped_refptr<media::GpuVideoDecoder::Factories>& gpu_factories, | 25 const scoped_refptr<media::GpuVideoDecoder::Factories>& gpu_factories, |
28 MediaStreamClient* media_stream_client, | |
29 const scoped_refptr<media::MediaLog>& media_log); | 26 const scoped_refptr<media::MediaLog>& media_log); |
30 ~WebMediaPlayerParams(); | 27 ~WebMediaPlayerParams(); |
31 | 28 |
32 const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink() const { | 29 const scoped_refptr<media::AudioRendererSink>& audio_renderer_sink() const { |
33 return audio_renderer_sink_; | 30 return audio_renderer_sink_; |
34 } | 31 } |
35 | 32 |
36 const scoped_refptr<media::GpuVideoDecoder::Factories>& | 33 const scoped_refptr<media::GpuVideoDecoder::Factories>& |
37 gpu_factories() const { | 34 gpu_factories() const { |
38 return gpu_factories_; | 35 return gpu_factories_; |
39 } | 36 } |
40 | 37 |
41 MediaStreamClient* media_stream_client() const { | |
42 return media_stream_client_; | |
43 } | |
44 | |
45 const scoped_refptr<media::MediaLog>& media_log() const { | 38 const scoped_refptr<media::MediaLog>& media_log() const { |
46 return media_log_; | 39 return media_log_; |
47 } | 40 } |
48 | 41 |
49 private: | 42 private: |
50 scoped_refptr<media::AudioRendererSink> audio_renderer_sink_; | 43 scoped_refptr<media::AudioRendererSink> audio_renderer_sink_; |
51 scoped_refptr<media::GpuVideoDecoder::Factories> gpu_factories_; | 44 scoped_refptr<media::GpuVideoDecoder::Factories> gpu_factories_; |
52 MediaStreamClient* media_stream_client_; | |
53 scoped_refptr<media::MediaLog> media_log_; | 45 scoped_refptr<media::MediaLog> media_log_; |
54 | 46 |
55 DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerParams); | 47 DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerParams); |
56 }; | 48 }; |
57 | 49 |
58 } // namespace media | 50 } // namespace media |
59 | 51 |
60 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_PARAMS_H_ | 52 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_PARAMS_H_ |
OLD | NEW |