Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: content/browser/android/media_player_manager_android.cc

Issue 13688004: Location/size change notification when external rendering is enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase & added a missing ifdef guard Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "content/browser/android/media_player_manager_android.h" 5 #include "content/browser/android/media_player_manager_android.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "content/browser/android/media_resource_getter_impl.h" 8 #include "content/browser/android/media_resource_getter_impl.h"
9 #include "content/browser/web_contents/web_contents_view_android.h" 9 #include "content/browser/web_contents/web_contents_view_android.h"
10 #include "content/common/media/media_player_messages.h" 10 #include "content/common/media/media_player_messages.h"
(...skipping 27 matching lines...) Expand all
38 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ExitFullscreen, OnExitFullscreen) 38 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ExitFullscreen, OnExitFullscreen)
39 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerInitialize, OnInitialize) 39 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerInitialize, OnInitialize)
40 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerStart, OnStart) 40 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerStart, OnStart)
41 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerSeek, OnSeek) 41 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerSeek, OnSeek)
42 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerPause, OnPause) 42 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerPause, OnPause)
43 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerRelease, 43 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerRelease,
44 OnReleaseResources) 44 OnReleaseResources)
45 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer) 45 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer)
46 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers, 46 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers,
47 DestroyAllMediaPlayers) 47 DestroyAllMediaPlayers)
48 #if defined(GOOGLE_TV)
48 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_RequestExternalSurface, 49 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_RequestExternalSurface,
49 OnRequestExternalSurface) 50 OnRequestExternalSurface)
51 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyGeometryChange,
52 OnNotifyGeometryChange)
53 #endif
50 IPC_MESSAGE_UNHANDLED(handled = false) 54 IPC_MESSAGE_UNHANDLED(handled = false)
51 IPC_END_MESSAGE_MAP() 55 IPC_END_MESSAGE_MAP()
52 return handled; 56 return handled;
53 } 57 }
54 58
55 void MediaPlayerManagerAndroid::FullscreenPlayerPlay() { 59 void MediaPlayerManagerAndroid::FullscreenPlayerPlay() {
56 MediaPlayerBridge* player = GetFullscreenPlayer(); 60 MediaPlayerBridge* player = GetFullscreenPlayer();
57 if (player) { 61 if (player) {
58 player->Start(); 62 player->Start();
59 Send(new MediaPlayerMsg_DidMediaPlayerPlay( 63 Send(new MediaPlayerMsg_DidMediaPlayerPlay(
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 } 196 }
193 197
194 void MediaPlayerManagerAndroid::DestroyAllMediaPlayers() { 198 void MediaPlayerManagerAndroid::DestroyAllMediaPlayers() {
195 players_.clear(); 199 players_.clear();
196 if (fullscreen_player_id_ != -1) { 200 if (fullscreen_player_id_ != -1) {
197 video_view_.DestroyContentVideoView(); 201 video_view_.DestroyContentVideoView();
198 fullscreen_player_id_ = -1; 202 fullscreen_player_id_ = -1;
199 } 203 }
200 } 204 }
201 205
206 #if defined(GOOGLE_TV)
202 void MediaPlayerManagerAndroid::AttachExternalVideoSurface(int player_id, 207 void MediaPlayerManagerAndroid::AttachExternalVideoSurface(int player_id,
203 jobject surface) { 208 jobject surface) {
204 MediaPlayerBridge* player = GetPlayer(player_id); 209 MediaPlayerBridge* player = GetPlayer(player_id);
205 if (player) 210 if (player)
206 player->SetVideoSurface(surface); 211 player->SetVideoSurface(surface);
207 } 212 }
208 213
209 void MediaPlayerManagerAndroid::DetachExternalVideoSurface(int player_id) { 214 void MediaPlayerManagerAndroid::DetachExternalVideoSurface(int player_id) {
210 MediaPlayerBridge* player = GetPlayer(player_id); 215 MediaPlayerBridge* player = GetPlayer(player_id);
211 if (player) 216 if (player)
212 player->SetVideoSurface(NULL); 217 player->SetVideoSurface(NULL);
213 } 218 }
214 219
215 void MediaPlayerManagerAndroid::OnRequestExternalSurface(int player_id) { 220 void MediaPlayerManagerAndroid::OnRequestExternalSurface(int player_id) {
216 if (web_contents_) { 221 if (!web_contents_)
217 WebContentsViewAndroid* view = 222 return;
218 static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); 223
219 if (view) 224 WebContentsViewAndroid* view =
220 view->RequestExternalVideoSurface(player_id); 225 static_cast<WebContentsViewAndroid*>(web_contents_->GetView());
221 } 226 if (view)
227 view->RequestExternalVideoSurface(player_id);
222 } 228 }
223 229
230 void MediaPlayerManagerAndroid::OnNotifyGeometryChange(int player_id,
231 const gfx::RectF& rect) {
232 if (!web_contents_)
233 return;
234
235 WebContentsViewAndroid* view =
236 static_cast<WebContentsViewAndroid*>(web_contents_->GetView());
237 if (view)
238 view->NotifyGeometryChange(player_id, rect);
239 }
240 #endif
241
224 MediaPlayerBridge* MediaPlayerManagerAndroid::GetPlayer(int player_id) { 242 MediaPlayerBridge* MediaPlayerManagerAndroid::GetPlayer(int player_id) {
225 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin(); 243 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin();
226 it != players_.end(); ++it) { 244 it != players_.end(); ++it) {
227 if ((*it)->player_id() == player_id) 245 if ((*it)->player_id() == player_id)
228 return *it; 246 return *it;
229 } 247 }
230 return NULL; 248 return NULL;
231 } 249 }
232 250
233 MediaPlayerBridge* MediaPlayerManagerAndroid::GetFullscreenPlayer() { 251 MediaPlayerBridge* MediaPlayerManagerAndroid::GetFullscreenPlayer() {
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 } 338 }
321 } 339 }
322 } 340 }
323 341
324 void MediaPlayerManagerAndroid::ReleaseMediaResources( 342 void MediaPlayerManagerAndroid::ReleaseMediaResources(
325 MediaPlayerBridge* player) { 343 MediaPlayerBridge* player) {
326 // Nothing needs to be done. 344 // Nothing needs to be done.
327 } 345 }
328 346
329 } // namespace content 347 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/media_player_manager_android.h ('k') | content/browser/web_contents/web_contents_view_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698