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

Unified Diff: chrome/browser/media/router/mojo/media_router.mojom

Issue 2727123002: [Media Router] Custom Controls 1 - Add MediaStatus, MediaRouteController, and mojo interfaces (Closed)
Patch Set: Add OnControllerBound() Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/mojo/media_router.mojom
diff --git a/chrome/browser/media/router/mojo/media_router.mojom b/chrome/browser/media/router/mojo/media_router.mojom
index 37fc064748de40d2a68f17ebec05798d2c3a4871..3aa60c0088a23fa44650591a7ced49586510ac73 100644
--- a/chrome/browser/media/router/mojo/media_router.mojom
+++ b/chrome/browser/media/router/mojo/media_router.mojom
@@ -4,6 +4,8 @@
module media_router.mojom;
+import "chrome/browser/media/router/mojo/media_controller.mojom";
+import "chrome/browser/media/router/mojo/media_status.mojom";
import "mojo/common/time.mojom";
import "url/mojo/origin.mojom";
@@ -38,8 +40,7 @@ struct MediaRoute {
string? media_source;
// The ID of sink that is rendering the media content.
string media_sink_id;
- // Human readable description of this route, e.g.
- // "Tab casting".
+ // Human readable description of this route, e.g. "Tab casting".
string description;
// Specifies that the route is requested locally.
bool is_local;
@@ -322,6 +323,25 @@ interface MediaRouteProvider {
string media_source,
SinkSearchCriteria search_criteria) =>
(string sink_id);
+
+ // Creates a controller for the media route with given |route_id| and binds it
+ // to |media_controller| for receiving media commands. This method returns
+ // false if such a media route doesn't exist, a controller already exists
+ // for it, or there was an error while creating a controller.
+ // |media_controller| becomes invalid when the media route is terminated. The
+ // created controller is destroyed when |media_controller| becomes invalid.
+ // TODO(takumif): Consider returning an enum instead of a bool to distinguish
+ // between error conditions for metrics/debugging.
+ CreateMediaRouteController(string route_id,
+ MediaController& media_controller) =>
+ (bool success);
+
+ // Sets the observer to be notified whenever there is a change in the status
+ // of a media route. A media route can have at most one observer at a time,
+ // and it will be overwritten each time this method is called with the same
+ // |route_id|.
+ // TODO(takumif): Consider allowing multiple observers per media route.
+ SetMediaRouteStatusObserver(string route_id, MediaStatusObserver observer);
dcheng 2017/03/17 06:15:14 I suggest moving these to the followup where they'
takumif 2017/03/17 21:48:02 They are implemented in the Media Router component
};
// Interface for a service which observes state changes across media

Powered by Google App Engine
This is Rietveld 408576698