class StreamChannel

Defined at line 103 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

StreamChannel (thread compatible) implements fidl::WireServer

<StreamConfig

> so the server

for a StreamConfig channel is a StreamChannel instead of a UsbAudioStream (as is the case for

Device and RingBuffer channels), this way we can track which StreamConfig channel for gain

changes notifications.

In some methods, we pass "this" (StreamChannel*) to UsbAudioStream that

gets managed in UsbAudioStream.

All this is serialized in the single threaded UsbAudioStream's dispatcher() in loop_.

All the fidl::WireServer

<StreamConfig

> methods are forwarded to UsbAudioStream.

Public Methods

void StreamChannel (UsbAudioStream * stream)

Does not take ownership of stream, which must refer to a valid UsbAudioStream that outlives

this object.

Defined at line 109 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void ~StreamChannel ()

Defined at line 112 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void BindServer (std::optional<fidl::ServerBindingRef<fuchsia_hardware_audio::StreamConfig>> binding_ref)

Defined at line 114 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void UnbindServer ()

Defined at line 118 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void GetProperties (GetPropertiesCompleter::Sync & completer)

fuchsia hardware audio Stream Interface.

Defined at line 125 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void GetHealthState (GetHealthStateCompleter::Sync & completer)

Defined at line 128 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void SignalProcessingConnect (SignalProcessingConnectRequestView request, SignalProcessingConnectCompleter::Sync & completer)

Defined at line 129 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void GetSupportedFormats (GetSupportedFormatsCompleter::Sync & completer)

Defined at line 133 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void WatchGainState (WatchGainStateCompleter::Sync & completer)

Defined at line 136 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void WatchPlugState (WatchPlugStateCompleter::Sync & completer)

Defined at line 139 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void SetGain (SetGainRequestView request, SetGainCompleter::Sync & completer)

Defined at line 142 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

void CreateRingBuffer (CreateRingBufferRequestView request, CreateRingBufferCompleter::Sync & completer)

Defined at line 145 of file ../../src/media/audio/drivers/usb-audio/usb-audio-stream.h

Friends

class UsbAudioStream