Chromium Code Reviews| Index: media/mojo/interfaces/audio_output.mojom |
| diff --git a/media/mojo/interfaces/audio_output.mojom b/media/mojo/interfaces/audio_output.mojom |
| index 895a93e4967727e4d2846679b50433a2de46ff94..354cc4112abe9ee49d8231a81952b54cded5bf7d 100644 |
| --- a/media/mojo/interfaces/audio_output.mojom |
| +++ b/media/mojo/interfaces/audio_output.mojom |
| @@ -5,29 +5,40 @@ |
| module media.mojom; |
| import "media/mojo/interfaces/audio_parameters.mojom"; |
| +import "url/mojo/origin.mojom"; |
| -// This interface handles audio output stream operations. |
| -// It allows to close a stream. |
| -// TODO(rchtara): Add methods that allow the interaction with audio output |
| -// streams: Play, Pause and SetVolume to this interface. |
| -// See crbug.com/606707 for more details. |
| -interface AudioOutputStream { |
| - Close(); |
| +// TODO: typemap to native OutputDeviceStatus. |
| +enum OutputDeviceStatus { |
| + OUTPUT_DEVICE_STATUS_OK, |
| + OUTPUT_DEVICE_STATUS_ERROR_NOT_FOUND, |
| + OUTPUT_DEVICE_STATUS_ERROR_NOT_AUTHORIZED, |
| + OUTPUT_DEVICE_STATUS_ERROR_TIMED_OUT, |
| + OUTPUT_DEVICE_STATUS_ERROR_INTERNAL, |
| + OUTPUT_DEVICE_STATUS_LAST = OUTPUT_DEVICE_STATUS_ERROR_INTERNAL, |
| }; |
| -// This interface manages audio output streams. |
| -// It allows to create an AudioOutputStream. |
| -// TODO(rchtara): Add a method to request device authorization to this |
| -// interface. |
| -// See crbug.com/606707 for more details. |
| interface AudioOutput { |
| - // TODO(rchtara): Remove |stream_id| from AudioOutput::CreateStream when all |
| - // the stream operations are mojofied. |
| - CreateStream( |
| - int32 stream_id, |
| - AudioParameters params) => |
| - (int32 stream_id, |
| - AudioOutputStream? stream, |
| - handle<shared_buffer>? shared_buffer, |
| - handle? socket_descriptor); |
| -}; |
| + Start(AudioParameters params) => |
| + (bool ok, |
| + handle<shared_buffer> shared_buffer, |
| + handle socket_descriptor); |
| + Play() => (bool ok); |
| + Pause() => (bool ok); |
| + SetVolume(double volume) => (bool ok); |
| +}; |
| + |
| +interface AudioOutputService { |
| + // Used to request device authorization from the AudioOutputService. |
| + // An AudioOutput message pipe may be supplied, in which case it will |
| + // be bound to an AudioOutput implementation or closed (in case of an error). |
| + RequestDeviceAuthorization( |
|
Henrik Grunell
2016/09/06 11:33:02
We need to rethink the naming here and/or how we d
|
| + int64 render_frame_id, |
| + int64 session_id, |
| + string device_id, |
| + AudioOutput&? audio_output |
| + url.mojom.Origin origin) => |
| + (// TODO make this a struct? |
| + OutputDeviceStatus state, |
| + AudioParameters output_params, |
| + string matched_device_id); |
| +}; |