OLD | NEW |
---|---|
1 // Copyright 2016 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 module media.mojom; | 5 module media.mojom; |
6 | 6 |
7 import "media/mojo/interfaces/audio_parameters.mojom"; | 7 import "media/mojo/interfaces/audio_parameters.mojom"; |
8 import "url/mojo/origin.mojom"; | |
8 | 9 |
9 // This interface handles audio output stream operations. | 10 enum OutputDeviceStatus; |
10 // It allows to close a stream. | 11 |
11 // TODO(rchtara): Add methods that allow the interaction with audio output | |
12 // streams: Play, Pause and SetVolume to this interface. | |
13 // See crbug.com/606707 for more details. | |
14 interface AudioOutputStream { | 12 interface AudioOutputStream { |
o1ka
2016/09/02 15:02:07
We need to make sure there are no cases when brows
| |
15 Close(); | 13 Start(AudioParameters params) => |
14 (bool ok, | |
15 handle<shared_buffer> shared_buffer, | |
16 handle socket_descriptor); | |
17 Play() => (bool ok); | |
18 Pause() => (bool ok); | |
19 SetVolume(double volume) => (bool ok); | |
16 }; | 20 }; |
17 | 21 |
18 // This interface manages audio output streams. | 22 // AudioOutput manages device authorizations and AudioOutputStreamClients |
o1ka
2016/09/02 15:02:07
It does not manage clients even if we introduce th
Max Morin
2016/09/02 15:34:53
Done.
| |
19 // It allows to create an AudioOutputStream. | |
20 // TODO(rchtara): Add a method to request device authorization to this | |
21 // interface. | |
22 // See crbug.com/606707 for more details. | |
23 interface AudioOutput { | 23 interface AudioOutput { |
24 // TODO(rchtara): Remove |stream_id| from AudioOutput::CreateStream when all | 24 // Used to request device authorization from the AudioOutputService. |
25 // the stream operations are mojofied. | 25 // Returns an AudioOutputStream which can optionally be used for audio output. |
26 CreateStream( | 26 RequestDeviceAuthorization( |
27 int32 stream_id, | 27 int64 render_frame_id, |
28 AudioParameters params) => | 28 int64 session_id, |
o1ka
2016/09/02 15:02:07
Why both of them are int64?
Max Morin
2016/09/02 15:34:53
They are int in the C++, so we have to make it 64
o1ka
2016/09/05 08:24:28
Ok, we need to make sure there are no security pro
| |
29 (int32 stream_id, | 29 string device_id, |
30 AudioOutputStream? stream, | 30 url.mojom.Origin origin) => |
31 handle<shared_buffer>? shared_buffer, | 31 (AudioOutputStream stream, |
o1ka
2016/09/02 15:02:07
Probably we should not return a stream if device i
Max Morin
2016/09/02 15:34:53
Done.
| |
32 handle? socket_descriptor); | 32 // TODO make this a struct? |
33 }; | 33 OutputDeviceStatus state, |
34 AudioParameters output_params, | |
35 string matched_device_id); | |
36 }; | |
OLD | NEW |