| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 [DartPackage="mojo_services"] | 5 [DartPackage="mojo_services"] |
| 6 module mojo.media; | 6 module mojo.media; |
| 7 | 7 |
| 8 import "mojo/services/media/common/interfaces/media_transport.mojom"; | 8 import "mojo/services/media/common/interfaces/media_transport.mojom"; |
| 9 import "mojo/services/media/common/interfaces/media_types.mojom"; |
| 9 import "mojo/services/media/core/interfaces/timeline_controller.mojom"; | 10 import "mojo/services/media/core/interfaces/timeline_controller.mojom"; |
| 10 | 11 |
| 11 // TODO(dalesat): Define a media sink that multiplexes streams. | 12 // Models a service that renders content. |
| 13 interface MediaRenderer { |
| 14 // Gets the list of supported media types. |
| 15 GetSupportedMediaTypes() => (array<MediaTypeSet> supported_media_types); |
| 12 | 16 |
| 13 // Consumes media streams and delivers them to specified destinations. | 17 // Sets the media type of the stream to be delivered. |
| 14 interface MediaSink { | 18 SetMediaType(MediaType media_type); |
| 15 // TODO(dalesat): Support fanout to many destinations. | |
| 16 | 19 |
| 17 // Gets the consumer for the stream to be delivered. | 20 // Gets the consumer for the stream to be delivered. |
| 18 GetConsumer(MediaConsumer& consumer); | 21 GetConsumer(MediaConsumer& consumer); |
| 19 | 22 |
| 20 // Request the timeline control site for this sink | 23 // Requests the timeline control site for this output. |
| 21 GetTimelineControlSite(MediaTimelineControlSite& timeline_control_site); | 24 GetTimelineControlSite(MediaTimelineControlSite& timeline_control_site); |
| 22 }; | 25 }; |
| OLD | NEW |