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

Issue 2310753002: Media Remoting: Data/Control plumbing between renderer and Media Router. (Closed)

Created:
4 years, 3 months ago by miu
Modified:
4 years, 2 months ago
CC:
Aaron Boodman, abarth-chromium, alokp+watch_chromium.org, avayvod+watch_chromium.org, chromium-reviews, creis+watch_chromium.org, darin (slow to review), darin-cc_chromium.org, feature-media-reviews_chromium.org, imcheng+watch_chromium.org, isheriff+watch_chromium.org, jam, jasonroberts+watch_google.com, mcasas+watch+vc_chromium.org, media-router+watch_chromium.org, miu+watch_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, xjz+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Media Remoting: Data/Control plumbing between renderer and Media Router. Introduces the new media::mojom::Remoting* interfaces, which provide the control and data flows across browser processes for a new media remoting feature. These interfaces allow a renderer to connect the local media pipeline to a remote media rendering stack. Also, a Cast-specific implementation of these interfaces is provided, which allows media remoting sessions to be established within the context of a Cast Tab Mirroring session. This implementation uses the Chrome Media Router infrastructure to perform the discovery and selection of remoting-capable devices, establishing media routes for this new feature. This change provides one major component, among others, for a complete end-to-end media remoting feature. By itself, no new code paths are activated yet. Future code changes will provide integration with other efforts, such as: https://codereview.chromium.org/2307653002/ https://codereview.chromium.org/2261503002/ https://codereview.chromium.org/2342163003/ ...and the Media Router component extension. BUG=643964 Committed: https://crrev.com/1ddf18c6f77565d5e80beecaf965b73bb035a913 Cr-Commit-Position: refs/heads/master@{#420812}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Updated/Moved TODO comment in render_frame_impl.cc. And REBASE. #

Total comments: 6

Patch Set 3 : Comment tweaks, per comments from rockot@ and apacible@. #

Patch Set 4 : REBASE. Plus, merge with CastRemotingSender and add more unit tests. #

Total comments: 9

Patch Set 5 : xjz's PS4 comments addressed. #

Total comments: 42

Patch Set 6 : dcheng's comments on PS5 addressed #

Patch Set 7 : Add input operation queuing to resolve race between data and message pipes. #

Total comments: 2

Patch Set 8 : Fix minor typos. #

Patch Set 9 : Just a REBASE on ToT before commit. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+2418 lines, -172 lines) Patch
M chrome/browser/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/chrome_content_browser_client.cc View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M chrome/browser/media/DEPS View 1 1 chunk +1 line, -0 lines 0 comments Download
A chrome/browser/media/cast_remoting_connector.h View 1 2 3 4 5 1 chunk +205 lines, -0 lines 0 comments Download
A chrome/browser/media/cast_remoting_connector.cc View 1 2 3 4 5 1 chunk +562 lines, -0 lines 0 comments Download
A chrome/browser/media/cast_remoting_connector_unittest.cc View 1 2 3 1 chunk +596 lines, -0 lines 0 comments Download
M chrome/browser/media/cast_remoting_sender.h View 1 2 3 4 5 6 7 chunks +84 lines, -19 lines 0 comments Download
M chrome/browser/media/cast_remoting_sender.cc View 1 2 3 4 5 6 7 8 chunks +189 lines, -20 lines 0 comments Download
M chrome/browser/media/cast_remoting_sender_unittest.cc View 1 2 3 4 5 6 7 2 chunks +557 lines, -120 lines 0 comments Download
M chrome/browser/media/router/media_routes_observer.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/media/router/media_source_helper.h View 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/media/router/media_source_helper.cc View 3 chunks +37 lines, -13 lines 0 comments Download
M chrome/browser/media/router/route_message.h View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/media/router/route_message.cc View 1 2 3 4 5 1 chunk +20 lines, -0 lines 0 comments Download
M chrome/test/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/BUILD.gn View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -0 lines 0 comments Download
M media/mojo/interfaces/BUILD.gn View 1 chunk +6 lines, -0 lines 0 comments Download
A media/mojo/interfaces/remoting.mojom View 1 2 1 chunk +120 lines, -0 lines 1 comment Download

Messages

Total messages: 61 (32 generated)
miu
Brought things over from (https://codereview.chromium.org/2189533002/), and expanded the change to provide more context for how ...
4 years, 3 months ago (2016-09-04 01:20:53 UTC) #2
DaleCurtis
Looks reasonable to me, defer to rockot@ for design review.
4 years, 3 months ago (2016-09-06 19:22:32 UTC) #7
mark a. foltz
Will look if I have time (don't block on my review).
4 years, 3 months ago (2016-09-06 21:29:51 UTC) #9
xjz
LGTM https://codereview.chromium.org/2310753002/diff/1/chrome/browser/media/cast_remoting_connector.cc File chrome/browser/media/cast_remoting_connector.cc (right): https://codereview.chromium.org/2310753002/diff/1/chrome/browser/media/cast_remoting_connector.cc#newcode492 chrome/browser/media/cast_remoting_connector.cc:492: notifyee->OnSinkAvailable(); Do we need check |message_observer_| before sending ...
4 years, 3 months ago (2016-09-09 17:38:48 UTC) #10
miu
https://codereview.chromium.org/2310753002/diff/1/chrome/browser/media/cast_remoting_connector.cc File chrome/browser/media/cast_remoting_connector.cc (right): https://codereview.chromium.org/2310753002/diff/1/chrome/browser/media/cast_remoting_connector.cc#newcode492 chrome/browser/media/cast_remoting_connector.cc:492: notifyee->OnSinkAvailable(); On 2016/09/09 17:38:48, xjz wrote: > Do we ...
4 years, 3 months ago (2016-09-11 00:25:23 UTC) #13
Ken Rockot(use gerrit already)
interfaces lgtm, just some minor documentation nits https://codereview.chromium.org/2310753002/diff/20001/media/mojo/interfaces/remoting.mojom File media/mojo/interfaces/remoting.mojom (right): https://codereview.chromium.org/2310753002/diff/20001/media/mojo/interfaces/remoting.mojom#newcode17 media/mojo/interfaces/remoting.mojom:17: // Consumes ...
4 years, 3 months ago (2016-09-12 15:26:05 UTC) #16
apacible
lgtm https://codereview.chromium.org/2310753002/diff/20001/chrome/browser/media/cast_remoting_connector.cc File chrome/browser/media/cast_remoting_connector.cc (right): https://codereview.chromium.org/2310753002/diff/20001/chrome/browser/media/cast_remoting_connector.cc#newcode436 chrome/browser/media/cast_remoting_connector.cc:436: case media_router::RouteMessage::TEXT: // This is a control message. ...
4 years, 3 months ago (2016-09-12 20:58:00 UTC) #17
miu
https://codereview.chromium.org/2310753002/diff/20001/chrome/browser/media/cast_remoting_connector.cc File chrome/browser/media/cast_remoting_connector.cc (right): https://codereview.chromium.org/2310753002/diff/20001/chrome/browser/media/cast_remoting_connector.cc#newcode436 chrome/browser/media/cast_remoting_connector.cc:436: case media_router::RouteMessage::TEXT: // This is a control message. On ...
4 years, 3 months ago (2016-09-14 23:55:30 UTC) #18
miu
nasko: OWNERS RS for content/renderer/render_frame_impl.cc (the factory is to be used in follow-up change currently ...
4 years, 3 months ago (2016-09-15 00:08:52 UTC) #21
xjz
https://codereview.chromium.org/2310753002/diff/80001/chrome/browser/media/cast_remoting_sender.cc File chrome/browser/media/cast_remoting_sender.cc (right): https://codereview.chromium.org/2310753002/diff/80001/chrome/browser/media/cast_remoting_sender.cc#newcode359 chrome/browser/media/cast_remoting_sender.cc:359: DCHECK(cast_environment_->CurrentlyOn(media::cast::CastEnvironment::MAIN)); nit: DCHECK_NE(flow_control_state_, CONSUME_PAUSED); https://codereview.chromium.org/2310753002/diff/80001/chrome/browser/media/cast_remoting_sender.cc#newcode397 chrome/browser/media/cast_remoting_sender.cc:397: : media::cast::EncodedFrame::DEPENDENT; When ...
4 years, 3 months ago (2016-09-15 18:01:49 UTC) #22
nasko
This CL requires an IPC security review, but I cannot do it today/tomorrow. The content/ ...
4 years, 3 months ago (2016-09-15 18:42:03 UTC) #23
miu
dcheng: Understand you are very busy/backlogged. nasko@ noted I needed a security owners review for ...
4 years, 3 months ago (2016-09-15 20:08:13 UTC) #25
miu
Thanks for the re-review, xjz. Responded to all comments from PS4: https://codereview.chromium.org/2310753002/diff/80001/chrome/browser/media/cast_remoting_sender.cc File chrome/browser/media/cast_remoting_sender.cc (right): ...
4 years, 3 months ago (2016-09-16 16:39:28 UTC) #28
xjz
lgtm
4 years, 3 months ago (2016-09-16 17:09:08 UTC) #29
dcheng
https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.cc File chrome/browser/media/cast_remoting_connector.cc (right): https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.cc#newcode85 chrome/browser/media/cast_remoting_connector.cc:85: int32_t GetStreamIdFromStartedMessage(const std::string& message, Nit: StringPiece here will net ...
4 years, 3 months ago (2016-09-20 08:20:13 UTC) #32
miu
dcheng: Addressed all your comments, and uploaded changes as PS6. PTAL. https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.cc File chrome/browser/media/cast_remoting_connector.cc (right): ...
4 years, 3 months ago (2016-09-21 03:15:50 UTC) #35
dcheng
https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.h File chrome/browser/media/cast_remoting_connector.h (right): https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.h#newcode165 chrome/browser/media/cast_remoting_connector.h:165: // shutdown an active remoting session. On 2016/09/21 03:15:50, ...
4 years, 3 months ago (2016-09-22 02:29:15 UTC) #38
Ken Rockot(use gerrit already)
On 2016/09/22 at 02:29:15, dcheng wrote: > https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.h > File chrome/browser/media/cast_remoting_connector.h (right): > > https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_connector.h#newcode165 ...
4 years, 3 months ago (2016-09-22 03:56:57 UTC) #39
miu
Fixed the race between the message pipe and the data pipe in PS7. PTAL. https://codereview.chromium.org/2310753002/diff/100001/chrome/browser/media/cast_remoting_sender.cc ...
4 years, 3 months ago (2016-09-22 08:39:15 UTC) #42
dcheng
mojo lgtm https://codereview.chromium.org/2310753002/diff/140001/chrome/browser/media/cast_remoting_sender.cc File chrome/browser/media/cast_remoting_sender.cc (right): https://codereview.chromium.org/2310753002/diff/140001/chrome/browser/media/cast_remoting_sender.cc#newcode368 chrome/browser/media/cast_remoting_sender.cc:368: << "Unexpcted result when discarding from data ...
4 years, 3 months ago (2016-09-23 04:51:07 UTC) #45
miu
https://codereview.chromium.org/2310753002/diff/140001/chrome/browser/media/cast_remoting_sender.cc File chrome/browser/media/cast_remoting_sender.cc (right): https://codereview.chromium.org/2310753002/diff/140001/chrome/browser/media/cast_remoting_sender.cc#newcode368 chrome/browser/media/cast_remoting_sender.cc:368: << "Unexpcted result when discarding from data pipe (" ...
4 years, 3 months ago (2016-09-23 05:52:01 UTC) #46
miu
nasko: All ready now for OWNERS review for content/renderer/render_frame_impl.*
4 years, 3 months ago (2016-09-23 05:53:04 UTC) #47
nasko
content/ LGTM, but please put a link to the CL that will be adding the ...
4 years, 3 months ago (2016-09-23 21:31:30 UTC) #48
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/2310753002/180001
4 years, 3 months ago (2016-09-23 21:48:38 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/266077)
4 years, 3 months ago (2016-09-23 21:58:46 UTC) #54
xhwang
media/mojo lgtm https://codereview.chromium.org/2310753002/diff/180001/media/mojo/interfaces/remoting.mojom File media/mojo/interfaces/remoting.mojom (right): https://codereview.chromium.org/2310753002/diff/180001/media/mojo/interfaces/remoting.mojom#newcode1 media/mojo/interfaces/remoting.mojom:1: // Copyright 2016 The Chromium Authors. All ...
4 years, 3 months ago (2016-09-24 00:50:53 UTC) #55
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/2310753002/180001
4 years, 3 months ago (2016-09-24 00:52:31 UTC) #57
commit-bot: I haz the power
Committed patchset #9 (id:180001)
4 years, 2 months ago (2016-09-24 01:40:32 UTC) #59
commit-bot: I haz the power
4 years, 2 months ago (2016-09-24 01:45:02 UTC) #61
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/1ddf18c6f77565d5e80beecaf965b73bb035a913
Cr-Commit-Position: refs/heads/master@{#420812}

Powered by Google App Engine
This is Rietveld 408576698