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_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
6 #define CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 6 #define CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
7 | 7 |
8 #include <jni.h> | 8 #include <jni.h> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 27 matching lines...) Expand all Loading... |
38 class MessageLoopProxy; | 38 class MessageLoopProxy; |
39 } | 39 } |
40 | 40 |
41 namespace blink { | 41 namespace blink { |
42 class WebContentDecryptionModule; | 42 class WebContentDecryptionModule; |
43 class WebContentDecryptionModuleResult; | 43 class WebContentDecryptionModuleResult; |
44 class WebFrame; | 44 class WebFrame; |
45 class WebURL; | 45 class WebURL; |
46 } | 46 } |
47 | 47 |
| 48 namespace cc_blink { |
| 49 class WebLayerImpl; |
| 50 } |
| 51 |
48 namespace gpu { | 52 namespace gpu { |
49 struct MailboxHolder; | 53 struct MailboxHolder; |
50 } | 54 } |
51 | 55 |
52 namespace media { | 56 namespace media { |
53 class MediaLog; | 57 class MediaLog; |
54 } | 58 } |
55 | 59 |
56 namespace content { | 60 namespace content { |
57 class RendererCdmManager; | 61 class RendererCdmManager; |
58 class RendererMediaPlayerManager; | 62 class RendererMediaPlayerManager; |
59 class WebContentDecryptionModuleImpl; | 63 class WebContentDecryptionModuleImpl; |
60 class WebLayerImpl; | |
61 class WebMediaPlayerDelegate; | 64 class WebMediaPlayerDelegate; |
62 | 65 |
63 // This class implements blink::WebMediaPlayer by keeping the android | 66 // This class implements blink::WebMediaPlayer by keeping the android |
64 // media player in the browser process. It listens to all the status changes | 67 // media player in the browser process. It listens to all the status changes |
65 // sent from the browser process and sends playback controls to the media | 68 // sent from the browser process and sends playback controls to the media |
66 // player. | 69 // player. |
67 class WebMediaPlayerAndroid : public blink::WebMediaPlayer, | 70 class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
68 public cc::VideoFrameProvider, | 71 public cc::VideoFrameProvider, |
69 public RenderFrameObserver { | 72 public RenderFrameObserver { |
70 public: | 73 public: |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 ScopedStreamTextureProxy stream_texture_proxy_; | 410 ScopedStreamTextureProxy stream_texture_proxy_; |
408 | 411 |
409 // Whether media player needs external surface. | 412 // Whether media player needs external surface. |
410 // Only used for the VIDEO_HOLE logic. | 413 // Only used for the VIDEO_HOLE logic. |
411 bool needs_external_surface_; | 414 bool needs_external_surface_; |
412 | 415 |
413 // A pointer back to the compositor to inform it about state changes. This is | 416 // A pointer back to the compositor to inform it about state changes. This is |
414 // not NULL while the compositor is actively using this webmediaplayer. | 417 // not NULL while the compositor is actively using this webmediaplayer. |
415 cc::VideoFrameProvider::Client* video_frame_provider_client_; | 418 cc::VideoFrameProvider::Client* video_frame_provider_client_; |
416 | 419 |
417 scoped_ptr<WebLayerImpl> video_weblayer_; | 420 scoped_ptr<cc_blink::WebLayerImpl> video_weblayer_; |
418 | 421 |
419 #if defined(VIDEO_HOLE) | 422 #if defined(VIDEO_HOLE) |
420 // A rectangle represents the geometry of video frame, when computed last | 423 // A rectangle represents the geometry of video frame, when computed last |
421 // time. | 424 // time. |
422 gfx::RectF last_computed_rect_; | 425 gfx::RectF last_computed_rect_; |
423 | 426 |
424 // Whether to use the video overlay for all embedded video. | 427 // Whether to use the video overlay for all embedded video. |
425 // True only for testing. | 428 // True only for testing. |
426 bool force_use_overlay_embedded_video_; | 429 bool force_use_overlay_embedded_video_; |
427 #endif // defined(VIDEO_HOLE) | 430 #endif // defined(VIDEO_HOLE) |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 | 478 |
476 // NOTE: Weak pointers must be invalidated before all other member variables. | 479 // NOTE: Weak pointers must be invalidated before all other member variables. |
477 base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; | 480 base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; |
478 | 481 |
479 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); | 482 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); |
480 }; | 483 }; |
481 | 484 |
482 } // namespace content | 485 } // namespace content |
483 | 486 |
484 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 487 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
OLD | NEW |