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

Side by Side Diff: content/browser/media/android/browser_media_player_manager.cc

Issue 25040002: Enables fullscreen subtitle and media control from Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@build_hack
Patch Set: Created 7 years, 2 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 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 void BrowserMediaPlayerManager::FullscreenPlayerSeek(int msec) { 140 void BrowserMediaPlayerManager::FullscreenPlayerSeek(int msec) {
141 MediaPlayerAndroid* player = GetFullscreenPlayer(); 141 MediaPlayerAndroid* player = GetFullscreenPlayer();
142 if (player) { 142 if (player) {
143 OnSeekRequest(fullscreen_player_id_, 143 OnSeekRequest(fullscreen_player_id_,
144 base::TimeDelta::FromMilliseconds(msec)); 144 base::TimeDelta::FromMilliseconds(msec));
145 } 145 }
146 } 146 }
147 147
148 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) { 148 void BrowserMediaPlayerManager::ExitFullscreen(bool release_media_player) {
149 render_view_host()->GetDelegate()->ToggleFullscreenMode(false);
150 RenderWidgetHostViewAndroid* view_android =
151 static_cast<RenderWidgetHostViewAndroid*>(render_view_host()->GetView());
152 if (view_android)
153 view_android->SetOverlayVideoMode(false);
154
149 Send(new MediaPlayerMsg_DidExitFullscreen( 155 Send(new MediaPlayerMsg_DidExitFullscreen(
150 routing_id(), fullscreen_player_id_)); 156 routing_id(), fullscreen_player_id_));
151 video_view_.reset(); 157 video_view_.reset();
152 MediaPlayerAndroid* player = GetFullscreenPlayer(); 158 MediaPlayerAndroid* player = GetFullscreenPlayer();
153 fullscreen_player_id_ = -1; 159 fullscreen_player_id_ = -1;
154 if (!player) 160 if (!player)
155 return; 161 return;
156 if (release_media_player) 162 if (release_media_player)
157 player->Release(); 163 player->Release();
158 else 164 else
159 player->SetVideoSurface(gfx::ScopedJavaSurface()); 165 player->SetVideoSurface(gfx::ScopedJavaSurface());
160 } 166 }
161 167
162 void BrowserMediaPlayerManager::OnTimeUpdate(int player_id, 168 void BrowserMediaPlayerManager::OnTimeUpdate(int player_id,
163 base::TimeDelta current_time) { 169 base::TimeDelta current_time) {
164 Send(new MediaPlayerMsg_MediaTimeUpdate( 170 Send(new MediaPlayerMsg_MediaTimeUpdate(
165 routing_id(), player_id, current_time)); 171 routing_id(), player_id, current_time));
166 } 172 }
167 173
168 void BrowserMediaPlayerManager::SetVideoSurface( 174 void BrowserMediaPlayerManager::SetVideoSurface(
169 gfx::ScopedJavaSurface surface) { 175 gfx::ScopedJavaSurface surface) {
170 MediaPlayerAndroid* player = GetFullscreenPlayer(); 176 MediaPlayerAndroid* player = GetFullscreenPlayer();
171 if (player) { 177 if (player) {
172 player->SetVideoSurface(surface.Pass()); 178 player->SetVideoSurface(surface.Pass());
173 Send(new MediaPlayerMsg_DidEnterFullscreen( 179 Send(new MediaPlayerMsg_DidEnterFullscreen(
174 routing_id(), player->player_id())); 180 routing_id(), player->player_id()));
175 } 181 }
182 RenderWidgetHostViewAndroid* view_android =
183 static_cast<RenderWidgetHostViewAndroid*>(render_view_host()->GetView());
184 if (view_android)
185 view_android->SetOverlayVideoMode(true);
186 render_view_host()->GetDelegate()->ToggleFullscreenMode(true);
176 } 187 }
177 188
178 void BrowserMediaPlayerManager::OnMediaMetadataChanged( 189 void BrowserMediaPlayerManager::OnMediaMetadataChanged(
179 int player_id, base::TimeDelta duration, int width, int height, 190 int player_id, base::TimeDelta duration, int width, int height,
180 bool success) { 191 bool success) {
181 Send(new MediaPlayerMsg_MediaMetadataChanged( 192 Send(new MediaPlayerMsg_MediaMetadataChanged(
182 routing_id(), player_id, duration, width, height, success)); 193 routing_id(), player_id, duration, width, height, success));
183 if (fullscreen_player_id_ != -1) 194 if (fullscreen_player_id_ != -1)
184 video_view_->UpdateMediaMetadata(); 195 video_view_->UpdateMediaMetadata();
185 } 196 }
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 if (!drm_bridge) { 637 if (!drm_bridge) {
627 DLOG(WARNING) << "No MediaDrmBridge for ID: " << media_keys_id << " found"; 638 DLOG(WARNING) << "No MediaDrmBridge for ID: " << media_keys_id << " found";
628 OnKeyError(media_keys_id, "", media::MediaKeys::kUnknownError, 0); 639 OnKeyError(media_keys_id, "", media::MediaKeys::kUnknownError, 0);
629 return; 640 return;
630 } 641 }
631 642
632 drm_bridge->GenerateKeyRequest(type, &init_data[0], init_data.size()); 643 drm_bridge->GenerateKeyRequest(type, &init_data[0], init_data.size());
633 } 644 }
634 645
635 } // namespace content 646 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698