OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 [DartPackage="mojo_services"] | |
6 module mojo.media; | |
7 | |
8 import "mojo/services/media/common/interfaces/media_clock.mojom"; | |
9 import "mojo/services/media/common/interfaces/media_common.mojom"; | |
10 import "mojo/services/media/common/interfaces/media_state.mojom"; | |
11 import "mojo/services/media/common/interfaces/media_transport.mojom"; | |
12 import "mojo/services/media/common/interfaces/media_types.mojom"; | |
13 import "mojo/services/media/common/interfaces/rate_control.mojom"; | |
14 | |
15 // TODO(dalesat): Define a media sink that multiplexes streams. | |
16 | |
17 // Consumes media streams and delivers them to specified destinations. | |
18 interface MediaSink { | |
19 // TODO(dalesat): Support fanout to many destinations. | |
20 | |
21 // Gets the clock disposition from the source. | |
22 GetClockDisposition() => (ClockDisposition clock_disposition); | |
23 | |
24 // Gets a master clock if the sink can be master, null otherwise. | |
25 GetMasterClock(Clock& master_clock); | |
26 | |
27 // Sets a master clock. | |
28 SetMasterClock(Clock? master_clock); | |
29 | |
30 // Gets the consumer for the stream to be delivered. | |
31 GetConsumer(MediaConsumer& consumer); | |
32 | |
33 // Gets the status. To get the status immediately, call GetStatus(0). To | |
34 // get updates thereafter, pass the version sent in the previous callback. | |
35 GetStatus(uint64 version_last_seen) => | |
36 (uint64 version, MediaSinkStatus status); | |
37 | |
38 // Starts playback. | |
39 Play(); | |
40 | |
41 // Pauses playback. | |
42 Pause(); | |
johngro
2015/12/10 21:46:04
similar question/comment as before. Seems like pl
dalesat
2015/12/10 22:33:38
Acknowledged.
| |
43 }; | |
44 | |
45 // MediaSink status information. | |
46 struct MediaSinkStatus { | |
47 // Current state of the sink. | |
48 MediaState state; | |
49 | |
50 // Transform translating local time to presentation time. Reverse translation | |
51 // (presentation time to local time) is only valid when media is playing. | |
52 TimelineTransform? timeline_transform; | |
53 }; | |
OLD | NEW |