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

Unified Diff: content/renderer/media/android/media_player_renderer_client.cc

Issue 2282633002: Integrate Surface requests with MediaPlayerRenderer (Closed)
Patch Set: Switch token type to base::Nonce Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/android/media_player_renderer_client.cc
diff --git a/content/renderer/media/android/media_player_renderer_client.cc b/content/renderer/media/android/media_player_renderer_client.cc
index 20a5871c83ec1a88b38e80af2b8b351058b1d327..e12b569cf7f6a6355fa4b82240a9e0f1a2099d69 100644
--- a/content/renderer/media/android/media_player_renderer_client.cc
+++ b/content/renderer/media/android/media_player_renderer_client.cc
@@ -58,13 +58,31 @@ void MediaPlayerRendererClient::InitializeRemoteRenderer(
weak_factory_.GetWeakPtr()));
}
+void MediaPlayerRendererClient::OnScopedSurfaceRequested(
+ bool supported,
+ const base::Nonce& request_token) {
+ if (!supported) {
liberato (no reviews please) 2016/09/15 19:40:40 can |supported| be replaced by a null nonce? i as
tguilbert 2016/09/21 02:02:30 Because it's illegal to send an empty UnguessableT
+ // No request was registered in the browser.
+ // The MojoRendererService was not constructed with an.
+ // InitiateSurfaceRequestCB. This means that the renderer in the browser
+ // sprocess likely isn't a MediaPlayerRenderer.
liberato (no reviews please) 2016/09/15 19:40:40 sprocess?
tguilbert 2016/09/21 02:02:30 Its a sbetter svariant of a process :) (fixed.)
+ NOTREACHED();
+ return;
+ }
+
+ stream_texture_wrapper_->ForwardStreamTextureForSurfaceRequest(request_token);
+}
+
void MediaPlayerRendererClient::CompleteInitialization(
media::PipelineStatus status) {
DCHECK(media_task_runner_->BelongsToCurrentThread());
DCHECK(!init_cb_.is_null());
- // TODO(tguilbert): Register |stream_texture_wrapper_|'s surface and send it
- // to MediaPlayerRenderer via |mojo_renderer_|. See crbug.com/627658.
+ // TODO(tguilbert): Measure and smooth out the initialization's ordering to
+ // have the lowest total initialization time.
+ mojo_renderer_->InitiateScopedSurfaceRequest(
+ base::Bind(&MediaPlayerRendererClient::OnScopedSurfaceRequested,
+ weak_factory_.GetWeakPtr()));
base::ResetAndReturn(&init_cb_).Run(status);
}

Powered by Google App Engine
This is Rietveld 408576698