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

Issue 2282633002: Integrate Surface requests with MediaPlayerRenderer (Closed)

Created:
4 years, 3 months ago by tguilbert
Modified:
4 years, 2 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, qsr+mojo_chromium.org, Aaron Boodman, posciak+watch_chromium.org, avayvod+watch_chromium.org, viettrungluu+watch_chromium.org, jam, yzshen+watch_chromium.org, abarth-chromium, feature-media-reviews_chromium.org, darin-cc_chromium.org, mcasas+watch+vc_chromium.org, alokp+watch_chromium.org, piman+watch_chromium.org, darin (slow to review), mlamouri+watch-media_chromium.org, miu+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Plumb StreamTexture to MediaPlayerRenderer The ScopedSurfaceRequestManager and ScopedSurfaceRequestConduit allow classes to register a ScopedJavaSurface request in the browser process, and to send SurfaceTexture from the GPU process to the browser process to fulfill those requests. This change adds the necessary plumbing to send a StreamTexture to a MediaPlayerRenderer living in the browser, using the manager/conduit pair. N.B: In order to prevent the MojoRendererService from taking a dependency on the MediaPlayerRenderer, the MojoRendererService initiates surface requests via a callback (given at construction time). BUG=627658 TEST=successfully exercised the new code path in a working prototype. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/ecb3febf6e08a15ceb4b9fa0af86e0a1591f315e Cr-Commit-Position: refs/heads/master@{#423393}

Patch Set 1 #

Patch Set 2 : Updated to match parent CL changes. #

Patch Set 3 : Fixed MojoRenderService constructor #

Total comments: 6

Patch Set 4 : Switch token type to base::Nonce #

Total comments: 8

Patch Set 5 : Addressed comments #

Patch Set 6 : Fixed merge error #

Total comments: 10

Patch Set 7 : Addressed comments. #

Total comments: 6

Patch Set 8 : Addressed comments. #

Total comments: 6

Patch Set 9 : Clarified comment #

Total comments: 2

Patch Set 10 : Updated InitiateScopedSurfaceRequest #

Total comments: 8

Patch Set 11 : Added |binding_| to MojoRendererService #

Patch Set 12 : Added ReportBadMessage #

Patch Set 13 : Fixed punctuation. #

Total comments: 4

Patch Set 14 : Addressed last comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+219 lines, -30 lines) Patch
M content/browser/media/android/media_player_renderer.h View 1 2 3 4 5 6 7 8 3 chunks +17 lines, -0 lines 0 comments Download
M content/browser/media/android/media_player_renderer.cc View 1 2 3 4 5 6 7 8 5 chunks +33 lines, -4 lines 0 comments Download
M content/renderer/media/android/media_player_renderer_client.h View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/media/android/media_player_renderer_client.cc View 1 2 3 4 5 6 7 8 9 1 chunk +11 lines, -2 lines 0 comments Download
M content/renderer/media/android/stream_texture_factory.h View 1 2 3 4 2 chunks +8 lines, -0 lines 0 comments Download
M content/renderer/media/android/stream_texture_factory.cc View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/media/android/stream_texture_wrapper_impl.h View 1 2 3 4 2 chunks +7 lines, -7 lines 0 comments Download
M content/renderer/media/android/stream_texture_wrapper_impl.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_messages.h View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -0 lines 0 comments Download
M gpu/ipc/service/stream_texture_android.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/ipc/service/stream_texture_android.cc View 1 2 3 4 3 chunks +13 lines, -0 lines 0 comments Download
M media/base/android/stream_texture_wrapper.h View 1 2 3 4 5 6 7 2 chunks +7 lines, -4 lines 0 comments Download
M media/mojo/clients/mojo_renderer.h View 1 2 3 4 5 6 7 8 9 2 chunks +9 lines, -0 lines 0 comments Download
M media/mojo/clients/mojo_renderer.cc View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download
M media/mojo/clients/mojo_renderer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -5 lines 0 comments Download
M media/mojo/interfaces/renderer.mojom View 1 2 3 4 5 6 7 8 9 1 chunk +10 lines, -0 lines 0 comments Download
M media/mojo/services/mojo_renderer_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +28 lines, -2 lines 0 comments Download
M media/mojo/services/mojo_renderer_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +37 lines, -1 line 0 comments Download
M media/mojo/services/service_factory_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -5 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 74 (45 generated)
tguilbert
This CL is dependent on the ScopedSurfaceRequestManager (here https://codereview.chromium.org/2285593002/). I think that that review is ...
4 years, 3 months ago (2016-09-01 19:36:54 UTC) #11
watk
Looks fine to me. (It makes me sad that we have to change this many ...
4 years, 3 months ago (2016-09-01 21:58:58 UTC) #12
liberato (no reviews please)
sorry for the delay. -fl https://codereview.chromium.org/2282633002/diff/60001/content/browser/media/android/media_player_renderer.cc File content/browser/media/android/media_player_renderer.cc (right): https://codereview.chromium.org/2282633002/diff/60001/content/browser/media/android/media_player_renderer.cc#newcode111 content/browser/media/android/media_player_renderer.cc:111: media_player_->SetVideoSurface(std::move(surface)); the ScopedSurfaceRequestManager automatically ...
4 years, 3 months ago (2016-09-15 19:40:41 UTC) #19
tguilbert
Updated with base::UnguessableToken. The parent CL is in the CQ ATM as well. https://codereview.chromium.org/2282633002/diff/40001/content/browser/media/android/media_player_renderer.cc File ...
4 years, 3 months ago (2016-09-21 02:02:31 UTC) #24
liberato (no reviews please)
lgtm % nits. https://codereview.chromium.org/2282633002/diff/120001/content/browser/media/android/media_player_renderer.cc File content/browser/media/android/media_player_renderer.cc (right): https://codereview.chromium.org/2282633002/diff/120001/content/browser/media/android/media_player_renderer.cc#newcode111 content/browser/media/android/media_player_renderer.cc:111: void MediaPlayerRenderer::CancelScopedSurfaceRequest() { nit: might want ...
4 years, 3 months ago (2016-09-21 14:33:28 UTC) #33
tguilbert
+nick can you OWNERS review content/* +dcheng can you security review gpu/ipc/* and media/mojo/interfaces/* (this ...
4 years, 3 months ago (2016-09-21 20:26:59 UTC) #35
tguilbert
Forgot to actually include dcheng. Copy pasting relevant message here: +dcheng can you security review ...
4 years, 3 months ago (2016-09-21 20:28:20 UTC) #37
tguilbert
-nick because I just realized files in content/browser/media/* and content/renderer/media/* are also owned by media/OWNERS ...
4 years, 3 months ago (2016-09-21 21:54:33 UTC) #40
ncarter (slow)
I'm pretty sure that watk's approval is all you need here (content/browser/media and content/renderer/media are ...
4 years, 3 months ago (2016-09-21 21:57:25 UTC) #42
tguilbert
Gentle ping :)
4 years, 3 months ago (2016-09-22 20:48:43 UTC) #44
dcheng
https://codereview.chromium.org/2282633002/diff/140001/content/renderer/media/android/media_player_renderer_client.cc File content/renderer/media/android/media_player_renderer_client.cc (right): https://codereview.chromium.org/2282633002/diff/140001/content/renderer/media/android/media_player_renderer_client.cc#newcode63 content/renderer/media/android/media_player_renderer_client.cc:63: if (request_token == base::nullopt) { if (!request_token) https://codereview.chromium.org/2282633002/diff/140001/media/mojo/clients/mojo_renderer.h File ...
4 years, 2 months ago (2016-09-26 17:41:51 UTC) #45
tguilbert
PTAL. Thanks! https://codereview.chromium.org/2282633002/diff/140001/content/renderer/media/android/media_player_renderer_client.cc File content/renderer/media/android/media_player_renderer_client.cc (right): https://codereview.chromium.org/2282633002/diff/140001/content/renderer/media/android/media_player_renderer_client.cc#newcode63 content/renderer/media/android/media_player_renderer_client.cc:63: if (request_token == base::nullopt) { On 2016/09/26 ...
4 years, 2 months ago (2016-09-26 19:46:35 UTC) #47
tguilbert
On 2016/09/26 19:46:35, ThomasGuilbert wrote: > PTAL. Thanks! > > https://codereview.chromium.org/2282633002/diff/140001/content/renderer/media/android/media_player_renderer_client.cc > File content/renderer/media/android/media_player_renderer_client.cc (right): ...
4 years, 2 months ago (2016-09-27 20:44:42 UTC) #48
tguilbert
+ vmiura, can you OWNERS review gpu/ipc/service/stream_texture_android* + ochang, can you security review gpu/ipc/common/* and ...
4 years, 2 months ago (2016-10-03 20:57:15 UTC) #50
dcheng
For mojo changes, just a minor nit and confusion around the semantics that I don't ...
4 years, 2 months ago (2016-10-03 21:11:27 UTC) #51
tguilbert
I slightly changed the wording in the comment in the Mojom file, but I don't ...
4 years, 2 months ago (2016-10-03 22:26:19 UTC) #52
dcheng
https://codereview.chromium.org/2282633002/diff/160001/content/renderer/media/android/media_player_renderer_client.cc File content/renderer/media/android/media_player_renderer_client.cc (right): https://codereview.chromium.org/2282633002/diff/160001/content/renderer/media/android/media_player_renderer_client.cc#newcode63 content/renderer/media/android/media_player_renderer_client.cc:63: if (!request_token) { On 2016/10/03 22:26:19, ThomasGuilbert wrote: > ...
4 years, 2 months ago (2016-10-04 06:28:39 UTC) #53
tguilbert
https://codereview.chromium.org/2282633002/diff/160001/content/renderer/media/android/media_player_renderer_client.cc File content/renderer/media/android/media_player_renderer_client.cc (right): https://codereview.chromium.org/2282633002/diff/160001/content/renderer/media/android/media_player_renderer_client.cc#newcode63 content/renderer/media/android/media_player_renderer_client.cc:63: if (!request_token) { On 2016/10/04 06:28:39, dcheng wrote: > ...
4 years, 2 months ago (2016-10-05 01:30:11 UTC) #54
dcheng
https://codereview.chromium.org/2282633002/diff/200001/media/mojo/services/mojo_renderer_service.cc File media/mojo/services/mojo_renderer_service.cc (right): https://codereview.chromium.org/2282633002/diff/200001/media/mojo/services/mojo_renderer_service.cc#newcode248 media/mojo/services/mojo_renderer_service.cc:248: // This is an unexpected call, and the connection ...
4 years, 2 months ago (2016-10-05 07:18:40 UTC) #55
tguilbert
@dcheng FYI, I will be sending out the CL that registers the MojoRendererService on Android ...
4 years, 2 months ago (2016-10-05 19:20:53 UTC) #56
dcheng
https://codereview.chromium.org/2282633002/diff/200001/media/mojo/services/mojo_renderer_service.cc File media/mojo/services/mojo_renderer_service.cc (right): https://codereview.chromium.org/2282633002/diff/200001/media/mojo/services/mojo_renderer_service.cc#newcode248 media/mojo/services/mojo_renderer_service.cc:248: // This is an unexpected call, and the connection ...
4 years, 2 months ago (2016-10-05 20:04:13 UTC) #57
tguilbert
PTAL. Thanks! https://codereview.chromium.org/2282633002/diff/200001/media/mojo/services/mojo_renderer_service.cc File media/mojo/services/mojo_renderer_service.cc (right): https://codereview.chromium.org/2282633002/diff/200001/media/mojo/services/mojo_renderer_service.cc#newcode248 media/mojo/services/mojo_renderer_service.cc:248: // This is an unexpected call, and ...
4 years, 2 months ago (2016-10-05 22:21:45 UTC) #63
dcheng
LGTM https://codereview.chromium.org/2282633002/diff/260001/media/mojo/services/mojo_renderer_service.cc File media/mojo/services/mojo_renderer_service.cc (right): https://codereview.chromium.org/2282633002/diff/260001/media/mojo/services/mojo_renderer_service.cc#newcode32 media/mojo/services/mojo_renderer_service.cc:32: MojoRendererService* mojo_renderer_service = new MojoRendererService( Nit: auto service ...
4 years, 2 months ago (2016-10-05 22:37:13 UTC) #64
dcheng
On 2016/10/05 22:37:13, dcheng wrote: > LGTM > > https://codereview.chromium.org/2282633002/diff/260001/media/mojo/services/mojo_renderer_service.cc > File media/mojo/services/mojo_renderer_service.cc (right): > ...
4 years, 2 months ago (2016-10-05 23:01:33 UTC) #65
vmiura
gpu LGTM
4 years, 2 months ago (2016-10-05 23:41:02 UTC) #66
tguilbert
Thank you for the comments everyone! Submitting to CQ. https://codereview.chromium.org/2282633002/diff/260001/media/mojo/services/mojo_renderer_service.cc File media/mojo/services/mojo_renderer_service.cc (right): https://codereview.chromium.org/2282633002/diff/260001/media/mojo/services/mojo_renderer_service.cc#newcode32 media/mojo/services/mojo_renderer_service.cc:32: ...
4 years, 2 months ago (2016-10-05 23:46:21 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2282633002/280001
4 years, 2 months ago (2016-10-05 23:47:18 UTC) #70
commit-bot: I haz the power
Committed patchset #14 (id:280001)
4 years, 2 months ago (2016-10-06 02:11:34 UTC) #72
commit-bot: I haz the power
4 years, 2 months ago (2016-10-06 02:13:47 UTC) #74
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/ecb3febf6e08a15ceb4b9fa0af86e0a1591f315e
Cr-Commit-Position: refs/heads/master@{#423393}

Powered by Google App Engine
This is Rietveld 408576698