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::Optional<base::UnguessableToken>& request_token) { | |
63 if (!request_token) { | |
dcheng
2016/10/03 21:11:27
After thinking about this over the weekend... I'm
tguilbert
2016/10/03 22:26:19
1) There is no situation where we would want to ca
dcheng
2016/10/04 06:28:39
OK, thanks for the explanation. Let's update the m
tguilbert
2016/10/05 01:30:11
Done. (Although, the request_token is no longer a
| |
64 // No request was registered in the browser. | |
65 // The MojoRendererService was not constructed with an | |
66 // InitiateSurfaceRequestCB. This means that the renderer in the browser | |
67 // process likely isn't a MediaPlayerRenderer. | |
68 NOTREACHED(); | |
69 return; | |
70 } | |
71 | |
72 stream_texture_wrapper_->ForwardStreamTextureForSurfaceRequest( | |
73 request_token.value()); | |
74 } | |
75 | |
61 void MediaPlayerRendererClient::CompleteInitialization( | 76 void MediaPlayerRendererClient::CompleteInitialization( |
62 media::PipelineStatus status) { | 77 media::PipelineStatus status) { |
63 DCHECK(media_task_runner_->BelongsToCurrentThread()); | 78 DCHECK(media_task_runner_->BelongsToCurrentThread()); |
64 DCHECK(!init_cb_.is_null()); | 79 DCHECK(!init_cb_.is_null()); |
65 | 80 |
66 // TODO(tguilbert): Register |stream_texture_wrapper_|'s surface and send it | 81 // TODO(tguilbert): Measure and smooth out the initialization's ordering to |
67 // to MediaPlayerRenderer via |mojo_renderer_|. See crbug.com/627658. | 82 // have the lowest total initialization time. |
83 mojo_renderer_->InitiateScopedSurfaceRequest( | |
84 base::Bind(&MediaPlayerRendererClient::OnScopedSurfaceRequested, | |
85 weak_factory_.GetWeakPtr())); | |
68 | 86 |
69 base::ResetAndReturn(&init_cb_).Run(status); | 87 base::ResetAndReturn(&init_cb_).Run(status); |
70 } | 88 } |
71 | 89 |
72 void MediaPlayerRendererClient::SetCdm( | 90 void MediaPlayerRendererClient::SetCdm( |
73 media::CdmContext* cdm_context, | 91 media::CdmContext* cdm_context, |
74 const media::CdmAttachedCB& cdm_attached_cb) { | 92 const media::CdmAttachedCB& cdm_attached_cb) { |
75 NOTREACHED(); | 93 NOTREACHED(); |
76 } | 94 } |
77 | 95 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
148 | 166 |
149 void MediaPlayerRendererClient::OnVideoOpacityChange(bool opaque) { | 167 void MediaPlayerRendererClient::OnVideoOpacityChange(bool opaque) { |
150 client_->OnVideoOpacityChange(opaque); | 168 client_->OnVideoOpacityChange(opaque); |
151 } | 169 } |
152 | 170 |
153 void MediaPlayerRendererClient::OnDurationChange(base::TimeDelta duration) { | 171 void MediaPlayerRendererClient::OnDurationChange(base::TimeDelta duration) { |
154 client_->OnDurationChange(duration); | 172 client_->OnDurationChange(duration); |
155 } | 173 } |
156 | 174 |
157 } // namespace content | 175 } // namespace content |
OLD | NEW |