pub enum RingBufferRequest {
SetActiveChannels {
payload: RingBufferSetActiveChannelsRequest,
responder: RingBufferSetActiveChannelsResponder,
},
Start {
payload: RingBufferStartRequest,
responder: RingBufferStartResponder,
},
Stop {
payload: RingBufferStopRequest,
responder: RingBufferStopResponder,
},
WatchDelayInfo {
responder: RingBufferWatchDelayInfoResponder,
},
_UnknownMethod {
ordinal: u64,
control_handle: RingBufferControlHandle,
method_type: MethodType,
},
}
Expand description
A RingBuffer
instance controls data flow for the associated audio stream.
Variants§
SetActiveChannels
Request that specific individual channels be powered down/up, if the device supports this. This is intended for idle power conservation.
Channels are specified by bitmask; the least significant bit corresponds
to channel 0. Each bit not set indicates that the channel can be
deactivated. SetActiveChannels
does not change how a ring buffer
responds to Start
/Stop
, specifically with regards to position.
Devices are not required to obey SetActiveChannels
. For example, they
are not required to zero-out an input stream’s inactive channels, and
data written to inactive channels of an output stream’s ring buffer may
still be played.
If not called, then by default all channels will be active.
Start
Start the ring buffer, beginning at the first frame of the ring buffer.
Stop
Stop the ring buffer.
WatchDelayInfo
Request delay information via a hanging get. The RingBuffer will respond
immediately to the first WatchDelayInfo
call. Subsequent calls will
only be completed when the delay info has changed from previously
communicated values.
Fields
responder: RingBufferWatchDelayInfoResponder
_UnknownMethod
An interaction was received which does not match any known method.
Fields
This variant is marked as non-exhaustive
control_handle: RingBufferControlHandle
method_type: MethodType
Implementations§
Source§impl RingBufferRequest
impl RingBufferRequest
pub fn into_set_active_channels( self, ) -> Option<(RingBufferSetActiveChannelsRequest, RingBufferSetActiveChannelsResponder)>
pub fn into_start( self, ) -> Option<(RingBufferStartRequest, RingBufferStartResponder)>
pub fn into_stop( self, ) -> Option<(RingBufferStopRequest, RingBufferStopResponder)>
pub fn into_watch_delay_info(self) -> Option<RingBufferWatchDelayInfoResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL