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 #include "content/browser/media/android/browser_media_player_manager.h" | 5 #include "content/browser/media/android/browser_media_player_manager.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "content/browser/android/content_view_core_impl.h" | 8 #include "content/browser/android/content_view_core_impl.h" |
9 #include "content/browser/media/android/browser_demuxer_android.h" | 9 #include "content/browser/media/android/browser_demuxer_android.h" |
10 #include "content/browser/media/android/media_resource_getter_impl.h" | 10 #include "content/browser/media/android/media_resource_getter_impl.h" |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
170 if (player) { | 170 if (player) { |
171 // TODO(kbalazs): if |fullscreen_player_is_released_| is true | 171 // TODO(kbalazs): if |fullscreen_player_is_released_| is true |
172 // at this point, player->GetCurrentTime() will be wrong until | 172 // at this point, player->GetCurrentTime() will be wrong until |
173 // FullscreenPlayerPlay (http://crbug.com/322798). | 173 // FullscreenPlayerPlay (http://crbug.com/322798). |
174 OnSeekRequest(fullscreen_player_id_, | 174 OnSeekRequest(fullscreen_player_id_, |
175 base::TimeDelta::FromMilliseconds(msec)); | 175 base::TimeDelta::FromMilliseconds(msec)); |
176 } | 176 } |
177 } | 177 } |
178 | 178 |
179 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { | 179 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { |
180 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) | |
181 delegate->ToggleFullscreenModeForTab(web_contents_, false); | |
182 if (RenderWidgetHostViewAndroid* view_android = | |
qinmin
2013/12/21 01:35:13
nit: add {} for multi-line if statement
| |
183 static_cast<RenderWidgetHostViewAndroid*>( | |
184 web_contents_->GetRenderWidgetHostView())) | |
185 view_android->SetOverlayVideoMode(false); | |
186 | |
180 Send(new MediaPlayerMsg_DidExitFullscreen( | 187 Send(new MediaPlayerMsg_DidExitFullscreen( |
181 routing_id(), fullscreen_player_id_)); | 188 routing_id(), fullscreen_player_id_)); |
182 video_view_.reset(); | 189 video_view_.reset(); |
183 MediaPlayerAndroid* player = GetFullscreenPlayer(); | 190 MediaPlayerAndroid* player = GetFullscreenPlayer(); |
184 fullscreen_player_id_ = -1; | 191 fullscreen_player_id_ = -1; |
185 if (!player) | 192 if (!player) |
186 return; | 193 return; |
187 if (release_media_player) | 194 if (release_media_player) |
188 player->Release(); | 195 player->Release(); |
189 else | 196 else |
190 player->SetVideoSurface(gfx::ScopedJavaSurface()); | 197 player->SetVideoSurface(gfx::ScopedJavaSurface()); |
191 } | 198 } |
192 | 199 |
193 void BrowserMediaPlayerManager::OnTimeUpdate(int player_id, | 200 void BrowserMediaPlayerManager::OnTimeUpdate(int player_id, |
194 base::TimeDelta current_time) { | 201 base::TimeDelta current_time) { |
195 Send(new MediaPlayerMsg_MediaTimeUpdate( | 202 Send(new MediaPlayerMsg_MediaTimeUpdate( |
196 routing_id(), player_id, current_time)); | 203 routing_id(), player_id, current_time)); |
197 } | 204 } |
198 | 205 |
199 void BrowserMediaPlayerManager::SetVideoSurface( | 206 void BrowserMediaPlayerManager::SetVideoSurface( |
200 gfx::ScopedJavaSurface surface) { | 207 gfx::ScopedJavaSurface surface) { |
201 MediaPlayerAndroid* player = GetFullscreenPlayer(); | 208 MediaPlayerAndroid* player = GetFullscreenPlayer(); |
202 if (!player) | 209 if (!player) |
203 return; | 210 return; |
204 if (!surface.IsEmpty()) { | 211 if (!surface.IsEmpty()) { |
205 Send(new MediaPlayerMsg_DidEnterFullscreen(routing_id(), | 212 Send(new MediaPlayerMsg_DidEnterFullscreen(routing_id(), |
206 player->player_id())); | 213 player->player_id())); |
207 } | 214 } |
208 player->SetVideoSurface(surface.Pass()); | 215 player->SetVideoSurface(surface.Pass()); |
216 | |
217 if (RenderWidgetHostViewAndroid* view_android = | |
qinmin
2013/12/21 01:35:13
ditto
| |
218 static_cast<RenderWidgetHostViewAndroid*>( | |
219 web_contents_->GetRenderWidgetHostView())) | |
220 view_android->SetOverlayVideoMode(true); | |
221 if (WebContentsDelegate* delegate = web_contents_->GetDelegate()) | |
222 delegate->ToggleFullscreenModeForTab(web_contents_, true); | |
209 } | 223 } |
210 | 224 |
211 void BrowserMediaPlayerManager::OnMediaMetadataChanged( | 225 void BrowserMediaPlayerManager::OnMediaMetadataChanged( |
212 int player_id, base::TimeDelta duration, int width, int height, | 226 int player_id, base::TimeDelta duration, int width, int height, |
213 bool success) { | 227 bool success) { |
214 Send(new MediaPlayerMsg_MediaMetadataChanged( | 228 Send(new MediaPlayerMsg_MediaMetadataChanged( |
215 routing_id(), player_id, duration, width, height, success)); | 229 routing_id(), player_id, duration, width, height, success)); |
216 if (fullscreen_player_id_ == player_id) | 230 if (fullscreen_player_id_ == player_id) |
217 video_view_->UpdateMediaMetadata(); | 231 video_view_->UpdateMediaMetadata(); |
218 } | 232 } |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
771 if (pending_fullscreen_player_id_ != media_keys_id) | 785 if (pending_fullscreen_player_id_ != media_keys_id) |
772 return; | 786 return; |
773 | 787 |
774 pending_fullscreen_player_id_ = -1; | 788 pending_fullscreen_player_id_ = -1; |
775 MediaPlayerAndroid* player = GetPlayer(media_keys_id); | 789 MediaPlayerAndroid* player = GetPlayer(media_keys_id); |
776 if (player->IsPlaying()) | 790 if (player->IsPlaying()) |
777 OnProtectedSurfaceRequested(media_keys_id); | 791 OnProtectedSurfaceRequested(media_keys_id); |
778 } | 792 } |
779 | 793 |
780 } // namespace content | 794 } // namespace content |
OLD | NEW |