class AudioUnit

Defined at line 29 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

const char * type_name ()

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

Type type ()

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

uint8_t iid ()

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

uint32_t id ()

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

uint32_t GetKey ()

Defined at line 52 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 53 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.cc

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 57 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 71 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 75 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 79 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

void set_in_use ()

Defined at line 80 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 85 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

void ~AudioUnit ()

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

void AudioUnit (const AudioUnit & )

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

void AudioUnit (AudioUnit && )

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

AudioUnit & operator= (const AudioUnit & )

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

AudioUnit & operator= (AudioUnit && )

Defined at line 90 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 93 of file ../../src/media/audio/drivers/usb-audio/usb-audio-units.h

Enumerations

enum class Type : uint8_t
Name Value
InputTerminal static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kInputTerminal)
OutputTerminal static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kOutputTerminal)
MixerUnit static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kMixerUnit)
SelectorUnit static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kSelectorUnit)
FeatureUnit static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kFeatureUnit)
ProcessingUnit static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kProcessingUnit)
ExtensionUnit static_cast<uint8_t>(fuchsia_hardware_usb_descriptor::AudioAcDescriptorSubtype::kExtensionUnit)

clang-format off

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

Friends

class RefPtr