1/* Copyright 2020 Google Inc. All Rights Reserved. */
2
3package [email protected];
4
5import [email protected];
6import [email protected]::IStreamOut;
7import [email protected]::Result;
8
9/**
10 * Represents a bus device in audio HAL. Check Java AudioDeviceInfo.TYPE_BUS for
11 * more details.
12 */
13interface IBusDevice {
14    /**
15     * Opens an audio stream for output. This function has the same requirement
16     * as audio HAL IDevice.openOutputStream.
17     */
18    openOutputStream(
19            AudioIoHandle ioHandle,
20            DeviceAddress device,
21            AudioConfig config,
22            bitfield<AudioOutputFlag> flags,
23            SourceMetadata sourceMetadata) generates (
24                    Result retval,
25                    IStreamOut outStream,
26                    AudioConfig suggestedConfig);
27};
28