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