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 |