New issue
Advanced search Search tips

Issue 761493 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Feature

Blocked on:
issue 762362
issue 779155

Blocking:
issue 758005
issue 777650



Sign in to add a comment

[Media Router] Support in-browser MediaRouteProviders on desktop

Project Member Reported by taku...@chromium.org, Sep 1 2017

Issue description

Currently all the MRPs are in the MediaRouter component extension. The MR Mojo implementation only supports one MRP, which is the MRPManager in the extension. We want to be able to support multiple MRPs that do not depend on the extension.
 
Blocking: 777650

Comment 3 by mfo...@chromium.org, Oct 26 2017

Labels: M-64
Blockedon: 779155
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c60eb88568d7fa20a9baae9555faf454fa903f5

commit 3c60eb88568d7fa20a9baae9555faf454fa903f5
Author: Takumi Fujimoto <takumif@chromium.org>
Date: Thu Nov 02 19:51:30 2017

[Media Router] Add in-browser support for multiple MRPs

This CL makes changes to MediaRouterMojoImpl and MediaRouterDesktop for them to support multiple MediaRouteProviders (including in-browser MRPs) over Mojo.

- Make MRMojoImpl hold Mojo pointers to multiple MRPs
- Allow MRMojoImpl::BindToMojoRequest() to be called by multiple MRPs
- Store MRP-to-MediaSink mappings in MediaSinksQuery
- Store MRP-to-MediaRoute mappings in MediaRoutesQuery
- Create ProviderSinkAvailability internal class for keeping track of sink availability
- Changes to MediaRouter Mojo interface to specify the MRP name in some methods

This CL doesn't add support for multiple MRPs for JoinRoute(), since that requires mapping from presentation ID to MRP, and currently MRMojoImpl has no way of knowing when a presentation ID expires.

Bug:  761493 
Change-Id: Idba15505fe2dbd0b089b77fa9a7a4af20609faa6
Reviewed-on: https://chromium-review.googlesource.com/673705
Commit-Queue: Takumi Fujimoto <takumif@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513586}
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_desktop.cc
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_desktop.h
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_desktop_unittest.cc
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_mojo_impl.h
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_mojo_test.cc
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/browser/media/router/mojo/media_router_mojo_test.h
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/common/media_router/mojo/media_router.mojom
[modify] https://crrev.com/3c60eb88568d7fa20a9baae9555faf454fa903f5/chrome/renderer/resources/extensions/media_router_bindings.js

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8

commit f509215b691cd8d082cc4f5e9d0b3ef133e34eb8
Author: Takumi Fujimoto <takumif@chromium.org>
Date: Tue Nov 14 15:35:41 2017

[Media Router] Add presentation_id attribute to MediaRoute to enable MRP lookup

MediaRouterMojoImpl::JoinRoute() requires that we find the MediaRouteProvider associated with a presentation ID.
By associating each MediaRoute with a presentation ID, we can look up the associated MRP.
The change to add presentation ID to MediaRoute on the component extension side has landed as cl/173960916.

Bug:  779155 ,  761493 
Change-Id: I4bf7d6fb3a832ef4720bfc1952198fd2036350b2
Reviewed-on: https://chromium-review.googlesource.com/757796
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Takumi Fujimoto <takumif@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516307}
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/browser/media/router/mojo/media_router_desktop.cc
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/browser/media/router/mojo/media_router_desktop.h
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/browser/media/router/mojo/media_router_mojo_impl.cc
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/browser/media/router/mojo/media_router_mojo_impl.h
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/browser/media/router/mojo/media_router_mojo_test.cc
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/common/media_router/media_route.h
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/common/media_router/mojo/media_router.mojom
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/common/media_router/mojo/media_router_struct_traits.cc
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/common/media_router/mojo/media_router_struct_traits.h
[modify] https://crrev.com/f509215b691cd8d082cc4f5e9d0b3ef133e34eb8/chrome/renderer/resources/extensions/media_router_bindings.js

Status: Fixed (was: Started)

Sign in to add a comment