OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
6 #define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 6 #define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 29 matching lines...) Expand all Loading... |
40 namespace base { | 40 namespace base { |
41 class MessageLoopProxy; | 41 class MessageLoopProxy; |
42 } | 42 } |
43 | 43 |
44 namespace media { | 44 namespace media { |
45 class ChunkDemuxer; | 45 class ChunkDemuxer; |
46 class GpuVideoAcceleratorFactories; | 46 class GpuVideoAcceleratorFactories; |
47 class MediaLog; | 47 class MediaLog; |
48 } | 48 } |
49 | 49 |
50 namespace webkit { | |
51 class WebLayerImpl; | |
52 } | |
53 | 50 |
54 namespace content { | 51 namespace content { |
55 class BufferedDataSource; | 52 class BufferedDataSource; |
56 class VideoFrameCompositor; | 53 class VideoFrameCompositor; |
57 class WebAudioSourceProviderImpl; | 54 class WebAudioSourceProviderImpl; |
58 class WebContentDecryptionModuleImpl; | 55 class WebContentDecryptionModuleImpl; |
| 56 class WebLayerImpl; |
59 class WebMediaPlayerDelegate; | 57 class WebMediaPlayerDelegate; |
60 class WebMediaPlayerParams; | 58 class WebMediaPlayerParams; |
61 class WebTextTrackImpl; | 59 class WebTextTrackImpl; |
62 | 60 |
63 // The canonical implementation of blink::WebMediaPlayer that's backed by | 61 // The canonical implementation of blink::WebMediaPlayer that's backed by |
64 // media::Pipeline. Handles normal resource loading, Media Source, and | 62 // media::Pipeline. Handles normal resource loading, Media Source, and |
65 // Encrypted Media. | 63 // Encrypted Media. |
66 class WebMediaPlayerImpl | 64 class WebMediaPlayerImpl |
67 : public blink::WebMediaPlayer, | 65 : public blink::WebMediaPlayer, |
68 public base::SupportsWeakPtr<WebMediaPlayerImpl> { | 66 public base::SupportsWeakPtr<WebMediaPlayerImpl> { |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 // through GenerateKeyRequest() directly from WebKit. | 328 // through GenerateKeyRequest() directly from WebKit. |
331 std::string init_data_type_; | 329 std::string init_data_type_; |
332 | 330 |
333 // Video rendering members. | 331 // Video rendering members. |
334 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; | 332 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; |
335 VideoFrameCompositor* compositor_; // Deleted on |compositor_task_runner_|. | 333 VideoFrameCompositor* compositor_; // Deleted on |compositor_task_runner_|. |
336 media::SkCanvasVideoRenderer skcanvas_video_renderer_; | 334 media::SkCanvasVideoRenderer skcanvas_video_renderer_; |
337 | 335 |
338 // The compositor layer for displaying the video content when using composited | 336 // The compositor layer for displaying the video content when using composited |
339 // playback. | 337 // playback. |
340 scoped_ptr<webkit::WebLayerImpl> video_weblayer_; | 338 scoped_ptr<WebLayerImpl> video_weblayer_; |
341 | 339 |
342 // Text track objects get a unique index value when they're created. | 340 // Text track objects get a unique index value when they're created. |
343 int text_track_index_; | 341 int text_track_index_; |
344 | 342 |
345 // Manages decryption keys and decrypts encrypted frames. | 343 // Manages decryption keys and decrypts encrypted frames. |
346 scoped_ptr<ProxyDecryptor> proxy_decryptor_; | 344 scoped_ptr<ProxyDecryptor> proxy_decryptor_; |
347 | 345 |
348 // Non-owned pointer to the CDM. Updated via calls to | 346 // Non-owned pointer to the CDM. Updated via calls to |
349 // setContentDecryptionModule(). | 347 // setContentDecryptionModule(). |
350 WebContentDecryptionModuleImpl* web_cdm_; | 348 WebContentDecryptionModuleImpl* web_cdm_; |
351 | 349 |
352 media::DecryptorReadyCB decryptor_ready_cb_; | 350 media::DecryptorReadyCB decryptor_ready_cb_; |
353 | 351 |
354 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 352 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
355 }; | 353 }; |
356 | 354 |
357 } // namespace content | 355 } // namespace content |
358 | 356 |
359 #endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 357 #endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
OLD | NEW |