class AudioUnit

Defined at line 27 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

Public Members

static const uint32_t kInvalidID

Protected Members

RefPtr desc_list_
const usb_audio_ac_ut_desc *const desc_
const uint8_t iid_

Public Methods

Type type ()

Defined at line 46 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

fbl::RefPtr<AudioUnit> Create (const DescriptorListMemory::Iterator & iter, uint8_t iid)

clang-format on

Defined at line 50 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.cc

const char * type_name ()

Defined at line 29 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.cc

uint8_t iid ()

Defined at line 48 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

uint32_t id ()

Defined at line 49 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

uint32_t GetKey ()

Defined at line 50 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

uint16_t index ()

the 16 bit index which needs to be used any time a command needs to be

sent to this unit (the wIndex field). This is formed from the unit ID

(high byte) and the control interface id (low byte).

Defined at line 55 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

zx_status_t Probe (const usb_protocol_t & proto)

A hook which allows certain audio units/terminals to read their

capabilities at startup. Not all of the units need to do this, so the

default hook implementation is a no-op.

Defined at line 69 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

uint32_t source_count ()

Every audio unit needs to define which source(s) feed it. This

information is contained in the unit/terminal's descriptors, but where it

lives (and whether or not it is simply implied, such as in the case of an

InputTerminal) depends entirely on the type of unit/terminal in question.

Because of this, we simply model the interface using pure virtual

methods.

uint32_t source_id (uint32_t ndx)
bool & visited ()

A state flag used by the audio control interface class when it is

searching the terminal/unit graph for audio paths to publish.

Defined at line 73 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

bool in_use ()

A flag indicating whether or not there is at least one audio path in the

system attempting to use this unit/terminal

Defined at line 77 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

void set_in_use ()

Defined at line 78 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

Protected Methods

void AudioUnit (fbl::RefPtr<DescriptorListMemory> desc_list, const usb_audio_ac_ut_desc * desc, uint8_t iid)

Defined at line 83 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

void ~AudioUnit ()

Defined at line 86 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

void AudioUnit (const AudioUnit & )

Defined at line 88 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

void AudioUnit (AudioUnit && )

Defined at line 88 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

AudioUnit & operator= (const AudioUnit & )

Defined at line 88 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

AudioUnit & operator= (AudioUnit && )

Defined at line 88 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

template <typename T>
zx_status_t CtrlReq (const usb_protocol_t & proto, uint8_t code, uint16_t val, T * data)

Defined at line 91 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

Enumerations

enum Type
Name Value
InputTerminal USB_AUDIO_AC_INPUT_TERMINAL
OutputTerminal USB_AUDIO_AC_OUTPUT_TERMINAL
MixerUnit USB_AUDIO_AC_MIXER_UNIT
SelectorUnit USB_AUDIO_AC_SELECTOR_UNIT
FeatureUnit USB_AUDIO_AC_FEATURE_UNIT
ProcessingUnit USB_AUDIO_AC_PROCESSING_UNIT
ExtensionUnit USB_AUDIO_AC_EXTENSION_UNIT

clang-format off

Defined at line 33 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

Friends

class RefPtr