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

Side by Side Diff: content/renderer/media/android/media_player_renderer_client.cc

Issue 2282633002: Integrate Surface requests with MediaPlayerRenderer (Closed)
Patch Set: Addressed comments. Created 4 years, 2 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698