Chromium Code Reviews| 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); |
| } |