pub enum ReaderRequest {
GetElements {
responder: ReaderGetElementsResponder,
},
WatchElementState {
processing_element_id: u64,
responder: ReaderWatchElementStateResponder,
},
GetTopologies {
responder: ReaderGetTopologiesResponder,
},
WatchTopology {
responder: ReaderWatchTopologyResponder,
},
_UnknownMethod {
ordinal: u64,
control_handle: ReaderControlHandle,
method_type: MethodType,
},
}
Expand description
This protocol is required for Composite audio drivers, and unsupported for other audio driver types (Codec, Dai, StreamConfig).
For an overview see [Signal Processing Interface].
Variants§
GetElements
Returns a vector of supported processing elements. This vector must include one or more processing elements.
Fields
responder: ReaderGetElementsResponder
WatchElementState
Get the processing element state via a hanging get.
For a given processing_element_id
, the driver will immediately reply to the first
WatchElementState
sent by the client. The driver will not respond to subsequent client
WatchElementState
calls for that processing_element_id
until any portion of the
ElementState
has changed from what was most recently reported for that element.
The driver will close the protocol channel with an error of ZX_ERR_INVALID_ARGS
, if
processing_element_id
does not match an ElementId returned by GetElements
.
The driver will close the protocol channel with an error of ZX_ERR_BAD_STATE
, if this
method is called again while there is already a pending WatchElementState
for this client
and processing_element_id
.
GetTopologies
Returns a vector of supported topologies.
This vector must include one or more topologies.
If more than one topology is returned, then the client may select any topology from the
list by calling SetTopology
.
If only one topology is returned, SetTopology
can still be called but causes no change.
Each Element must be included in at least one Topology, but need not be included in every Topology.
Fields
responder: ReaderGetTopologiesResponder
WatchTopology
Get the current topology via a hanging get.
The driver will immediately reply to the first WatchTopology
sent by each client.
The driver will not respond to subsequent WatchTopology
calls from that client until the
signal processing topology changes; this occurs as a result of a SetTopology
call.
The driver will close the protocol channel with an error of ZX_ERR_BAD_STATE
, if this
method is called again while there is already a pending WatchTopology
for this client.
Fields
responder: ReaderWatchTopologyResponder
_UnknownMethod
An interaction was received which does not match any known method.
Fields
This variant is marked as non-exhaustive
control_handle: ReaderControlHandle
method_type: MethodType
Implementations§
Source§impl ReaderRequest
impl ReaderRequest
pub fn into_get_elements(self) -> Option<ReaderGetElementsResponder>
pub fn into_watch_element_state( self, ) -> Option<(u64, ReaderWatchElementStateResponder)>
pub fn into_get_topologies(self) -> Option<ReaderGetTopologiesResponder>
pub fn into_watch_topology(self) -> Option<ReaderWatchTopologyResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL