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_BROWSER_MEDIA_ANDROID_BROWSER_MEDIA_PLAYER_MANAGER_H_ | 5 #ifndef CONTENT_BROWSER_MEDIA_ANDROID_BROWSER_MEDIA_PLAYER_MANAGER_H_ |
6 #define CONTENT_BROWSER_MEDIA_ANDROID_BROWSER_MEDIA_PLAYER_MANAGER_H_ | 6 #define CONTENT_BROWSER_MEDIA_ANDROID_BROWSER_MEDIA_PLAYER_MANAGER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 | 47 |
48 // Permits embedders to handle custom urls. | 48 // Permits embedders to handle custom urls. |
49 static void RegisterMediaUrlInterceptor( | 49 static void RegisterMediaUrlInterceptor( |
50 media::MediaUrlInterceptor* media_url_interceptor); | 50 media::MediaUrlInterceptor* media_url_interceptor); |
51 | 51 |
52 // Returns a new instance using the registered factory if available. | 52 // Returns a new instance using the registered factory if available. |
53 static BrowserMediaPlayerManager* Create(RenderFrameHost* rfh); | 53 static BrowserMediaPlayerManager* Create(RenderFrameHost* rfh); |
54 | 54 |
55 ContentViewCoreImpl* GetContentViewCore() const; | 55 ContentViewCoreImpl* GetContentViewCore() const; |
56 | 56 |
57 virtual ~BrowserMediaPlayerManager(); | 57 ~BrowserMediaPlayerManager() override; |
58 | 58 |
59 // Fullscreen video playback controls. | 59 // Fullscreen video playback controls. |
60 virtual void ExitFullscreen(bool release_media_player); | 60 virtual void ExitFullscreen(bool release_media_player); |
61 virtual void SetVideoSurface(gfx::ScopedJavaSurface surface); | 61 virtual void SetVideoSurface(gfx::ScopedJavaSurface surface); |
62 | 62 |
63 // Called when browser player wants the renderer media element to seek. | 63 // Called when browser player wants the renderer media element to seek. |
64 // Any actual seek started by renderer will be handled by browser in OnSeek(). | 64 // Any actual seek started by renderer will be handled by browser in OnSeek(). |
65 void OnSeekRequest(int player_id, const base::TimeDelta& time_to_seek); | 65 void OnSeekRequest(int player_id, const base::TimeDelta& time_to_seek); |
66 | 66 |
67 // Stops and releases every media managed by this class. | 67 // Stops and releases every media managed by this class. |
68 void ReleaseAllMediaPlayers(); | 68 void ReleaseAllMediaPlayers(); |
69 | 69 |
70 // media::MediaPlayerManager overrides. | 70 // media::MediaPlayerManager overrides. |
71 virtual void OnTimeUpdate( | 71 void OnTimeUpdate(int player_id, |
72 int player_id, | 72 base::TimeDelta current_timestamp, |
73 base::TimeDelta current_timestamp, | 73 base::TimeTicks current_time_ticks) override; |
74 base::TimeTicks current_time_ticks) override; | 74 void OnMediaMetadataChanged(int player_id, |
75 virtual void OnMediaMetadataChanged( | 75 base::TimeDelta duration, |
76 int player_id, | 76 int width, |
77 base::TimeDelta duration, | 77 int height, |
78 int width, | 78 bool success) override; |
79 int height, | 79 void OnPlaybackComplete(int player_id) override; |
80 bool success) override; | 80 void OnMediaInterrupted(int player_id) override; |
81 virtual void OnPlaybackComplete(int player_id) override; | 81 void OnBufferingUpdate(int player_id, int percentage) override; |
82 virtual void OnMediaInterrupted(int player_id) override; | 82 void OnSeekComplete(int player_id, |
83 virtual void OnBufferingUpdate(int player_id, int percentage) override; | 83 const base::TimeDelta& current_time) override; |
84 virtual void OnSeekComplete( | 84 void OnError(int player_id, int error) override; |
85 int player_id, | 85 void OnVideoSizeChanged(int player_id, int width, int height) override; |
86 const base::TimeDelta& current_time) override; | 86 media::MediaResourceGetter* GetMediaResourceGetter() override; |
87 virtual void OnError(int player_id, int error) override; | 87 media::MediaUrlInterceptor* GetMediaUrlInterceptor() override; |
88 virtual void OnVideoSizeChanged( | 88 media::MediaPlayerAndroid* GetFullscreenPlayer() override; |
89 int player_id, int width, int height) override; | 89 media::MediaPlayerAndroid* GetPlayer(int player_id) override; |
90 virtual media::MediaResourceGetter* GetMediaResourceGetter() override; | 90 void RequestFullScreen(int player_id) override; |
91 virtual media::MediaUrlInterceptor* GetMediaUrlInterceptor() override; | |
92 virtual media::MediaPlayerAndroid* GetFullscreenPlayer() override; | |
93 virtual media::MediaPlayerAndroid* GetPlayer(int player_id) override; | |
94 virtual void RequestFullScreen(int player_id) override; | |
95 #if defined(VIDEO_HOLE) | 91 #if defined(VIDEO_HOLE) |
96 virtual bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() override; | 92 bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() override; |
97 | 93 |
98 void AttachExternalVideoSurface(int player_id, jobject surface); | 94 void AttachExternalVideoSurface(int player_id, jobject surface); |
99 void DetachExternalVideoSurface(int player_id); | 95 void DetachExternalVideoSurface(int player_id); |
100 void OnFrameInfoUpdated(); | 96 void OnFrameInfoUpdated(); |
101 #endif // defined(VIDEO_HOLE) | 97 #endif // defined(VIDEO_HOLE) |
102 | 98 |
103 // Message handlers. | 99 // Message handlers. |
104 virtual void OnEnterFullscreen(int player_id); | 100 virtual void OnEnterFullscreen(int player_id); |
105 virtual void OnExitFullscreen(int player_id); | 101 virtual void OnExitFullscreen(int player_id); |
106 virtual void OnInitialize( | 102 virtual void OnInitialize( |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 | 192 |
197 // NOTE: Weak pointers must be invalidated before all other member variables. | 193 // NOTE: Weak pointers must be invalidated before all other member variables. |
198 base::WeakPtrFactory<BrowserMediaPlayerManager> weak_ptr_factory_; | 194 base::WeakPtrFactory<BrowserMediaPlayerManager> weak_ptr_factory_; |
199 | 195 |
200 DISALLOW_COPY_AND_ASSIGN(BrowserMediaPlayerManager); | 196 DISALLOW_COPY_AND_ASSIGN(BrowserMediaPlayerManager); |
201 }; | 197 }; |
202 | 198 |
203 } // namespace content | 199 } // namespace content |
204 | 200 |
205 #endif // CONTENT_BROWSER_MEDIA_ANDROID_BROWSER_MEDIA_PLAYER_MANAGER_H_ | 201 #endif // CONTENT_BROWSER_MEDIA_ANDROID_BROWSER_MEDIA_PLAYER_MANAGER_H_ |
OLD | NEW |