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..a65db32fcc888896455986d7bcc22ae7352a3b09 100644 |
--- a/content/renderer/media/android/media_player_renderer_client.cc |
+++ b/content/renderer/media/android/media_player_renderer_client.cc |
@@ -58,13 +58,28 @@ void MediaPlayerRendererClient::InitializeRemoteRenderer( |
weak_factory_.GetWeakPtr())); |
} |
+void MediaPlayerRendererClient::OnScopedSurfaceRequested( |
+ bool success, |
+ uint64_t request_token) { |
+ if (!success) { |
+ // No request was registered in the browser. |
watk
2016/09/01 21:58:58
I would instead write why this is NOTREACHED().
Y
tguilbert
2016/09/21 02:02:30
Done.
|
+ 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); |
} |