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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 } | 42 } |
43 | 43 |
44 namespace gpu { | 44 namespace gpu { |
45 struct MailboxHolder; | 45 struct MailboxHolder; |
46 } | 46 } |
47 | 47 |
48 namespace media { | 48 namespace media { |
49 class MediaLog; | 49 class MediaLog; |
50 } | 50 } |
51 | 51 |
52 namespace webkit { | |
53 class WebLayerImpl; | |
54 } | |
55 | |
56 namespace content { | 52 namespace content { |
57 class RendererCdmManager; | 53 class RendererCdmManager; |
58 class RendererMediaPlayerManager; | 54 class RendererMediaPlayerManager; |
59 class WebContentDecryptionModuleImpl; | 55 class WebContentDecryptionModuleImpl; |
| 56 class WebLayerImpl; |
60 class WebMediaPlayerDelegate; | 57 class WebMediaPlayerDelegate; |
61 | 58 |
62 // This class implements blink::WebMediaPlayer by keeping the android | 59 // This class implements blink::WebMediaPlayer by keeping the android |
63 // media player in the browser process. It listens to all the status changes | 60 // media player in the browser process. It listens to all the status changes |
64 // sent from the browser process and sends playback controls to the media | 61 // sent from the browser process and sends playback controls to the media |
65 // player. | 62 // player. |
66 class WebMediaPlayerAndroid : public blink::WebMediaPlayer, | 63 class WebMediaPlayerAndroid : public blink::WebMediaPlayer, |
67 public cc::VideoFrameProvider, | 64 public cc::VideoFrameProvider, |
68 public RenderFrameObserver { | 65 public RenderFrameObserver { |
69 public: | 66 public: |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 ScopedStreamTextureProxy stream_texture_proxy_; | 385 ScopedStreamTextureProxy stream_texture_proxy_; |
389 | 386 |
390 // Whether media player needs external surface. | 387 // Whether media player needs external surface. |
391 // Only used for the VIDEO_HOLE logic. | 388 // Only used for the VIDEO_HOLE logic. |
392 bool needs_external_surface_; | 389 bool needs_external_surface_; |
393 | 390 |
394 // A pointer back to the compositor to inform it about state changes. This is | 391 // A pointer back to the compositor to inform it about state changes. This is |
395 // not NULL while the compositor is actively using this webmediaplayer. | 392 // not NULL while the compositor is actively using this webmediaplayer. |
396 cc::VideoFrameProvider::Client* video_frame_provider_client_; | 393 cc::VideoFrameProvider::Client* video_frame_provider_client_; |
397 | 394 |
398 scoped_ptr<webkit::WebLayerImpl> video_weblayer_; | 395 scoped_ptr<WebLayerImpl> video_weblayer_; |
399 | 396 |
400 #if defined(VIDEO_HOLE) | 397 #if defined(VIDEO_HOLE) |
401 // A rectangle represents the geometry of video frame, when computed last | 398 // A rectangle represents the geometry of video frame, when computed last |
402 // time. | 399 // time. |
403 gfx::RectF last_computed_rect_; | 400 gfx::RectF last_computed_rect_; |
404 | 401 |
405 // Whether to use the video overlay for all embedded video. | 402 // Whether to use the video overlay for all embedded video. |
406 // True only for testing. | 403 // True only for testing. |
407 bool force_use_overlay_embedded_video_; | 404 bool force_use_overlay_embedded_video_; |
408 #endif // defined(VIDEO_HOLE) | 405 #endif // defined(VIDEO_HOLE) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 | 448 |
452 // NOTE: Weak pointers must be invalidated before all other member variables. | 449 // NOTE: Weak pointers must be invalidated before all other member variables. |
453 base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; | 450 base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_; |
454 | 451 |
455 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); | 452 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); |
456 }; | 453 }; |
457 | 454 |
458 } // namespace content | 455 } // namespace content |
459 | 456 |
460 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ | 457 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIAPLAYER_ANDROID_H_ |
OLD | NEW |