OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/renderer/media/android/media_player_renderer_client.h" | 5 #include "content/renderer/media/android/media_player_renderer_client.h" |
6 | 6 |
7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
8 | 8 |
9 namespace content { | 9 namespace content { |
10 | 10 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 | 51 |
52 void MediaPlayerRendererClient::InitializeRemoteRenderer( | 52 void MediaPlayerRendererClient::InitializeRemoteRenderer( |
53 media::DemuxerStreamProvider* demuxer_stream_provider) { | 53 media::DemuxerStreamProvider* demuxer_stream_provider) { |
54 DCHECK(media_task_runner_->BelongsToCurrentThread()); | 54 DCHECK(media_task_runner_->BelongsToCurrentThread()); |
55 mojo_renderer_->Initialize( | 55 mojo_renderer_->Initialize( |
56 demuxer_stream_provider, this, | 56 demuxer_stream_provider, this, |
57 base::Bind(&MediaPlayerRendererClient::CompleteInitialization, | 57 base::Bind(&MediaPlayerRendererClient::CompleteInitialization, |
58 weak_factory_.GetWeakPtr())); | 58 weak_factory_.GetWeakPtr())); |
59 } | 59 } |
60 | 60 |
| 61 void MediaPlayerRendererClient::OnScopedSurfaceRequested( |
| 62 const base::UnguessableToken& request_token) { |
| 63 DCHECK(request_token); |
| 64 stream_texture_wrapper_->ForwardStreamTextureForSurfaceRequest(request_token); |
| 65 } |
| 66 |
61 void MediaPlayerRendererClient::CompleteInitialization( | 67 void MediaPlayerRendererClient::CompleteInitialization( |
62 media::PipelineStatus status) { | 68 media::PipelineStatus status) { |
63 DCHECK(media_task_runner_->BelongsToCurrentThread()); | 69 DCHECK(media_task_runner_->BelongsToCurrentThread()); |
64 DCHECK(!init_cb_.is_null()); | 70 DCHECK(!init_cb_.is_null()); |
65 | 71 |
66 // TODO(tguilbert): Register |stream_texture_wrapper_|'s surface and send it | 72 // TODO(tguilbert): Measure and smooth out the initialization's ordering to |
67 // to MediaPlayerRenderer via |mojo_renderer_|. See crbug.com/627658. | 73 // have the lowest total initialization time. |
| 74 mojo_renderer_->InitiateScopedSurfaceRequest( |
| 75 base::Bind(&MediaPlayerRendererClient::OnScopedSurfaceRequested, |
| 76 weak_factory_.GetWeakPtr())); |
68 | 77 |
69 base::ResetAndReturn(&init_cb_).Run(status); | 78 base::ResetAndReturn(&init_cb_).Run(status); |
70 } | 79 } |
71 | 80 |
72 void MediaPlayerRendererClient::SetCdm( | 81 void MediaPlayerRendererClient::SetCdm( |
73 media::CdmContext* cdm_context, | 82 media::CdmContext* cdm_context, |
74 const media::CdmAttachedCB& cdm_attached_cb) { | 83 const media::CdmAttachedCB& cdm_attached_cb) { |
75 NOTREACHED(); | 84 NOTREACHED(); |
76 } | 85 } |
77 | 86 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 157 |
149 void MediaPlayerRendererClient::OnVideoOpacityChange(bool opaque) { | 158 void MediaPlayerRendererClient::OnVideoOpacityChange(bool opaque) { |
150 client_->OnVideoOpacityChange(opaque); | 159 client_->OnVideoOpacityChange(opaque); |
151 } | 160 } |
152 | 161 |
153 void MediaPlayerRendererClient::OnDurationChange(base::TimeDelta duration) { | 162 void MediaPlayerRendererClient::OnDurationChange(base::TimeDelta duration) { |
154 client_->OnDurationChange(duration); | 163 client_->OnDurationChange(duration); |
155 } | 164 } |
156 | 165 |
157 } // namespace content | 166 } // namespace content |
OLD | NEW |