| // Copyright 2017 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | module content.mojom; | 
 |  | 
 | import "media/mojo/interfaces/audio_output_stream.mojom"; | 
 | import "media/mojo/interfaces/audio_parameters.mojom"; | 
 | import "media/mojo/interfaces/media_types.mojom"; | 
 |  | 
 | // This interface is used to create output streams. The client supplies a | 
 | // request for a stream provider, and then supplies the desired audio | 
 | // parameters to that to create the stream. | 
 | interface RendererAudioOutputStreamFactory { | 
 |   // Used to request a device. The AudioOutputStreamProviderRequest will be | 
 |   // bound to an AudioOutputStreamProvider implementation or closed | 
 |   // (in case of an error). | 
 |   RequestDeviceAuthorization( | 
 |       media.mojom.AudioOutputStreamProvider& stream_provider_request, | 
 |       int32 session_id, | 
 |       string device_id) => | 
 |       (media.mojom.OutputDeviceStatus state, | 
 |        media.mojom.AudioParameters output_params, | 
 |        string matched_device_id); | 
 | }; |