协议
控制
在 fuchsia.audio.device/control.fidl 中定义
Control
实例用于更改音频设备的设置或状态。该库还会创建用于在客户端和设备之间传递音频数据的环形缓冲区。每个 Control
都与一个初始化的音频设备相关联;相反,每个设备随时都与 0 个或 1 个 Control
相关联。
CodecStart
启动编解码器硬件。如果成功,则会在编解码器启动之后返回,并且 start_time
指示硬件启动的时间。请注意,在调用此方法之前,必须设置编解码器的 DaiFormat(通过成功的 SetDaiFormat
调用)。
只应针对编解码器设备调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Control_CodecStart_Result
|
CodecStop
停止编解码器硬件。如果成功,则会在编解码器停止运行后返回,并且 stop_time
指示硬件停止的时间。请注意,在调用此方法之前,必须设置编解码器的 DaiFormat(通过成功的 SetDaiFormat
调用)。
只应针对编解码器设备调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Control_CodecStop_Result
|
CreateRingBuffer
创建用于将音频传入/传出此设备的环形缓冲区。如果设备是 Composite,则必须由 element_id
标识目标 RING_BUFFER ENDPOINT。
只应针对 Composite 和 StreamConfig 设备调用。
请求
名称 | 类型 |
---|---|
payload |
ControlCreateRingBufferRequest
|
响应
名称 | 类型 |
---|---|
payload |
Control_CreateRingBuffer_Result
|
GetElements
返回受支持处理元素的矢量。
必须返回一个或多个处理元素,或者 ZX_ERR_NOT_SUPPORTED
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.hardware.audio.signalprocessing/Reader_GetElements_Result
|
GetTopologies
返回受支持拓扑的矢量。必须返回一个或多个拓扑,或 ZX_ERR_NOT_SUPPORTED
。如果返回多个拓扑,客户端可以使用 SetTopology
从列表中选择任何拓扑。如果仅返回一个拓扑,则拓扑定义仅供参考,因为使用的唯一拓扑无法通过 SetTopology
更改。如果 GetElements
返回一个或多个元素,则 GetTopologies
必须返回一个或多个拓扑。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.hardware.audio.signalprocessing/Reader_GetTopologies_Result
|
重置
重置硬件 - 停止硬件,释放所有环形缓冲区,并清除已设置的所有 DaiFormats 或 RingBufferFormats。
此方法会在硬件重置完成时返回。调用此方法后,设备仍然处于受控状态,但必须重新创建并重启所有环形缓冲区。对于具有 DAI_INTERCONNECT 的设备(例如编解码器和一些复合材料),必须再次(依次)调用 SetDaiFormat
和 CodecStart
,才能使互连恢复到有效操作模式。如果适用,还必须调用 SetTopology
和 SetElementState
。
只应针对编解码器和复合设备调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Control_Reset_Result
|
SetDaiFormat
设置连接到此编解码器端点的数字互连的电线格式。
此方法会返回与已设置的格式相关的信息,包括延迟值。如果设备是复合设备,则必须通过 element_id
标识目标 DAI_INTERCONNECT ENDPOINT。
只应针对编解码器和复合设备调用。
请求
名称 | 类型 |
---|---|
payload |
ControlSetDaiFormatRequest
|
响应
名称 | 类型 |
---|---|
payload |
Control_SetDaiFormat_Result
|
SetElementState
使用由 GetElements
返回的唯一 ID 来控制处理元素。如果 processing_element_id
与 GetElements
返回的 ID 不匹配,或者 TypeSpecificElementState
的类型与 GetElements
针对此 ID 返回的处理元素的 ElementType
不匹配,则返回 ZX_ERR_INVALID_ARGS
。如果 state
值无效(即任何值违反此协议中指定的规则),驱动程序可能会返回 ZX_ERR_INVALID_ARGS
,例如,当某个处理元素未在 supported_controls
中通告 CAN_CONTROL_FREQUENCY
时,试图更改 EQUALIZER
处理元素的 EqualizerBandState
frequency
。
SetElementState
可以在非 SignalProcessing
协议调用之前或之后调用。如果在非 SignalProcessing
协议调用之后调用,则 SetElementState
可能需要(也可能不需要)与调用构成 SignalProcessing
的协议(例如 Dai
)时重新协商所达到的驱动程序状态。例如,在 SetElementState
更改 AGL
处理元素的参数时,可能不需要重新协商 Dai
状态,因为更改增益参数通常不会更改受支持的音频格式集。相比之下,如果 SetElementState
更改了 CONNECTION_POINT
元素的参数,则该更改可能需要重新协商,因为它可能会使之前的 GetDaiFormats
Dai
协议调用中返回的受支持格式集无效。
驱动程序负责确定何时需要重新协商。如果需要重新协商,则 SetElementState
必须返回 ZX_ERR_BAD_STATE
,并且客户端必须关闭协议通道,以便重新开始协议协商。然后,客户端必须在任何非 SignalProcessing
协议调用之前进行返回 ZX_ERR_BAD_STATE
的 SetElementState
调用。
请求
名称 | 类型 |
---|---|
processing_element_id |
fuchsia.hardware.audio.signalprocessing/ElementId
|
state |
fuchsia.hardware.audio.signalprocessing/ElementState
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.hardware.audio.signalprocessing/SignalProcessing_SetElementState_Result
|
SetGain
更改设备的总体增益状态。
只应针对 StreamConfig 设备调用。
请求
名称 | 类型 |
---|---|
payload |
ControlSetGainRequest
|
响应
名称 | 类型 |
---|---|
payload |
Control_SetGain_Result
|
SetTopology
使用 GetTopologies
返回的向量 ID 设置要使用的拓扑。当前拓扑通过 WatchTopology
响应传达。如需更改处于活动状态的拓扑,客户端会使用 SetTopology
。如果指定的 topology_id
未包含在 GetTopologies
返回的 topologies
内,则此调用将返回 ZX_ERR_INVALID_ARGS
。如果 GetTopologies
仅返回一个 Topology
,则 SetTopology
是可选的且不起作用。
SetTopology
可能会在非 SignalProcessing
协议调用之前或之后调用。如果在非 SignalProcessing
协议调用之后调用,则 SetTopology
可能会返回 ZX_ERR_BAD_STATE
,以指示如果不重新协商驱动程序状态,操作将无法继续。如需进一步的讨论,请参阅 SetElementState
。
请求
名称 | 类型 |
---|---|
topology_id |
fuchsia.hardware.audio.signalprocessing/TopologyId
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.hardware.audio.signalprocessing/SignalProcessing_SetTopology_Result
|
WatchElementState
通过挂起 get 获取处理元素状态。对于给定的 processing_element_id
,驱动程序将回复客户端发送的第一个 WatchElementState
。除非 Element
表中的任何字段从最近针对该 processing_element_id
报告的内容发生变化,否则驱动程序不会响应针对给定 processing_element_id
的后续客户端 WatchElementState
调用。如果在此客户端和 processing_element_id 已有待处理的 WatchElementState
的情况下再次调用此方法,驱动程序将关闭协议通道并显示错误 ZX_ERR_BAD_STATE
。
请求
名称 | 类型 |
---|---|
processing_element_id |
fuchsia.hardware.audio.signalprocessing/ElementId
|
响应
名称 | 类型 |
---|---|
state |
fuchsia.hardware.audio.signalprocessing/ElementState
|
WatchTopology
通过挂起 get 获取当前拓扑。
驱动程序将立即回复每个客户端发送的第一个 WatchTopology
。在信号处理拓扑发生变更(因 SetTopology
调用而发生)之前,驱动程序不会响应来自该客户端的后续 WatchTopology
调用。如果在此客户端已有待处理的 WatchTopology
时再次调用此方法,驱动程序将以错误 ZX_ERR_BAD_STATE
关闭协议通道。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
topology_id |
fuchsia.hardware.audio.signalprocessing/TopologyId
|
ControlCreator
在 fuchsia.audio.device/control.fidl 中定义
ControlCreator
接口可创建 Control
实例。每个 Control
绑定到单个设备。一台设备在任何时候只能绑定到一个 Control
。
创建
为指定设备创建 Control
。
请求
名称 | 类型 |
---|---|
payload |
ControlCreatorCreateRequest
|
响应
名称 | 类型 |
---|---|
payload |
ControlCreator_Create_Result
|
Observer
在 fuchsia.audio.device/registry.fidl 中定义
Observer
实例用于了解音频设备的功能和状态,并及时了解设备状态随时间变化的情况。每个 Observer
都与一个初始化的音频设备相关联。一个音频设备可能会被多个 Observer
实例观察到。
GetElements
返回受支持处理元素的矢量。
必须返回一个或多个处理元素,或者 ZX_ERR_NOT_SUPPORTED
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.hardware.audio.signalprocessing/Reader_GetElements_Result
|
GetReferenceClock
检索设备的参考时钟。
此时钟将位于设备的“Info
”表中指定的网域中。
只应针对 Composite 或 StreamConfig 设备调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Observer_GetReferenceClock_Result
|
GetTopologies
返回受支持拓扑的矢量。必须返回一个或多个拓扑,或 ZX_ERR_NOT_SUPPORTED
。如果返回多个拓扑,客户端可以使用 SetTopology
从列表中选择任何拓扑。如果仅返回一个拓扑,则拓扑定义仅供参考,因为使用的唯一拓扑无法通过 SetTopology
更改。如果 GetElements
返回一个或多个元素,则 GetTopologies
必须返回一个或多个拓扑。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.hardware.audio.signalprocessing/Reader_GetTopologies_Result
|
WatchElementState
通过挂起 get 获取处理元素状态。对于给定的 processing_element_id
,驱动程序将回复客户端发送的第一个 WatchElementState
。除非 Element
表中的任何字段从最近针对该 processing_element_id
报告的内容发生变化,否则驱动程序不会响应针对给定 processing_element_id
的后续客户端 WatchElementState
调用。如果在此客户端和 processing_element_id 已有待处理的 WatchElementState
的情况下再次调用此方法,驱动程序将关闭协议通道并显示错误 ZX_ERR_BAD_STATE
。
请求
名称 | 类型 |
---|---|
processing_element_id |
fuchsia.hardware.audio.signalprocessing/ElementId
|
响应
名称 | 类型 |
---|---|
state |
fuchsia.hardware.audio.signalprocessing/ElementState
|
WatchGainState
请求在设备增益状态发生任何变化时发出通知。
注意:此操作仅会通知设备的 Info
表(具体为 GainCapabilities
)中描述的控件发生的变更。使用 WatchElementState
进行公开为 SignalProcessing
(GetTopologies
、GetElements
)的增益处理。
只应针对 StreamConfig 设备调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Observer_WatchGainState_Result
|
WatchPlugState
请求通知设备插头状态发生的任何变化。在首次被调用时,它会立即返回。
只应针对 Codec 或 StreamConfig 设备调用。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Observer_WatchPlugState_Result
|
WatchTopology
通过挂起 get 获取当前拓扑。
驱动程序将立即回复每个客户端发送的第一个 WatchTopology
。在信号处理拓扑发生变更(因 SetTopology
调用而发生)之前,驱动程序不会响应来自该客户端的后续 WatchTopology
调用。如果在此客户端已有待处理的 WatchTopology
时再次调用此方法,驱动程序将以错误 ZX_ERR_BAD_STATE
关闭协议通道。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
topology_id |
fuchsia.hardware.audio.signalprocessing/TopologyId
|
提供商
在 fuchsia.audio.device/provider.fidl 中定义
使用 Provider
接口手动添加不使用 devfs 机制的设备。(使用 devfs 的设备会在检测到时自动添加)。
AddDevice
请求
名称 | 类型 |
---|---|
payload |
ProviderAddDeviceRequest
|
响应
名称 | 类型 |
---|---|
payload |
Provider_AddDevice_Result
|
注册类型
在 fuchsia.audio.device/registry.fidl 中定义
Registry
实例会在设备到达和离开时通知客户端,并创建观察器(请参阅 Observer
),以通知更详细的状态变化。
CreateObserver
为指定设备请求 Observer
。
请求
名称 | 类型 |
---|---|
payload |
RegistryCreateObserverRequest
|
响应
名称 | 类型 |
---|---|
payload |
Registry_CreateObserver_Result
|
WatchDeviceRemoved
注册在(活跃的、已添加的)设备被移除时接收通知。 由于该方法仅通知一次移除,因此在完成移除后,应立即重新调用该方法,以防发生其他移除操作。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Registry_WatchDeviceRemoved_Result
|
WatchDevicesAdded
注册在添加了一部或多部设备时收到通知。
devices
矢量将始终至少包含一个 Info
条目。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Registry_WatchDevicesAdded_Result
|
RingBuffer
在 fuchsia.audio.device/control.fidl 中定义
RingBuffer
实例控制关联音频流的数据流。
SetActiveChannels
如果设备支持,则请求关闭/打开特定频道。旨在实现闲置时节省电量。
通道由位掩码指定;最低有效位对应于通道 0。每个未设置位都表示该通道可以停用。SetActiveChannels
不会更改环形缓冲区对 Start
/Stop
的响应方式,特别是在位置方面。
设备无需遵守SetActiveChannels
。例如,不需要将输入流的不活动通道清零,并且仍可播放写入输出流环形缓冲区的无效通道的数据。
如果未调用,则默认情况下,所有渠道都将处于活动状态。
请求
名称 | 类型 |
---|---|
payload |
RingBufferSetActiveChannelsRequest
|
响应
名称 | 类型 |
---|---|
payload |
RingBuffer_SetActiveChannels_Result
|
开始
从环形缓冲区的第一帧开始启动环形缓冲区。
请求
名称 | 类型 |
---|---|
payload |
RingBufferStartRequest
|
响应
名称 | 类型 |
---|---|
payload |
RingBuffer_Start_Result
|
停止
停止环形缓冲区。
请求
名称 | 类型 |
---|---|
payload |
RingBufferStopRequest
|
响应
名称 | 类型 |
---|---|
payload |
RingBuffer_Stop_Result
|
WatchDelayInfo
通过挂起 get 请求延迟信息。RingBuffer 将立即响应第一次 WatchDelayInfo
调用。仅当延迟信息从之前传达的值发生更改时,后续调用才会完成。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
RingBuffer_WatchDelayInfo_Result
|
枚举
ControlCodecStartError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
Control/CodecStart
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ALREADY_PENDING |
3 |
上一个 |
DAI_FORMAT_NOT_SET |
4 |
进行此调用前未调用 |
ALREADY_STARTED |
5 |
进行此通话时,设备已经启动。 |
其他 |
6 |
驱动程序返回了一些其他错误。系统可能会重试此调用。 |
ControlCodecStopError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
Control/CodecStop
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ALREADY_PENDING |
3 |
上一个 |
DAI_FORMAT_NOT_SET |
4 |
进行此调用前未调用 |
ALREADY_STOPPED |
5 |
进行此呼叫时设备已经停止。 |
其他 |
6 |
驱动程序返回了一些其他错误。系统可能会重试此调用。 |
ControlCreateRingBufferError
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
Control/CreateRingBuffer
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ALREADY_PENDING |
3 |
上一个 |
INVALID_ELEMENT_ID |
4 |
必需的 |
INVALID_OPTIONS |
5 |
缺少必需的 |
INVALID_FORMAT |
6 |
缺少必需的 |
INVALID_MIN_BYTES |
7 |
缺少必需的 |
INVALID_RING_BUFFER |
8 |
缺少必需的 |
ALREADY_ALLOCATED |
9 |
此 |
FORMAT_MISMATCH |
10 |
设备不支持指定的格式。 |
BAD_RING_BUFFER_OPTION |
11 |
设备无法使用指定选项创建环形缓冲区。 |
其他 |
12 |
驱动程序返回了一些其他错误。系统可能会重试此调用。 |
ControlCreatorError 灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
ControlCreator/Create
返回的错误。
名称 | 值 | 说明 |
---|---|---|
INVALID_TOKEN_ID |
1 |
缺少必需的 |
INVALID_CONTROL |
2 |
缺少必需的 |
DEVICE_NOT_FOUND |
3 |
未找到 |
DEVICE_ERROR |
4 |
|
ALREADY_ALLOCATED |
5 |
已存在与 |
ControlResetError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
Control/CodecReset
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ControlSetDaiFormatError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
Control/SetDaiFormat
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ALREADY_PENDING |
3 |
上一个 |
INVALID_ELEMENT_ID |
4 |
必需的 |
INVALID_DAI_FORMAT |
5 |
必需的 |
FORMAT_MISMATCH |
6 |
设备不支持指定的 dai_format。 |
其他 |
7 |
驱动程序返回了一些其他错误。系统可能会重试此调用。 |
ControlSetGainError
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
Control/SetGain
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
INVALID_GAIN_STATE |
3 |
缺少必需的 |
INVALID_GAIN_DB |
4 |
缺少必需的 |
GAIN_OUT_OF_RANGE |
5 |
指定的增益超出了设备的允许范围。 |
MUTE_UNAVAILABLE |
6 |
已请求 MUTE,但设备没有 MUTE 控件。 |
AGC_UNAVAILABLE |
7 |
已请求启用 AGC,但设备没有 AGC。 |
DeviceType 灵活
类型:uint32
在 fuchsia.audio.device/device.fidl 中定义
驱动程序使用的协议及其方向性(如果是 StreamConfig)。
名称 | 值 | 说明 |
---|---|---|
编解码器 |
1 |
设备使用 |
组合 |
2 |
设备使用 |
DAI |
3 |
设备使用 |
INPUT |
4 |
设备使用 |
输出 |
5 |
设备使用 |
ObserverGetReferenceClockError 灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
Observer/GetReferenceClock
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续被观测。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
DEVICE_CLOCK_UNAVAILABLE |
3 |
无法返回设备的参考时钟。 |
ObserverWatchGainStateError灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
Observer/WatchGainState
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续被观测。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ALREADY_PENDING |
3 |
上一个 |
ObserverWatchPlugStateError灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
Observer/WatchPlugState
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续被观测。 |
WRONG_DEVICE_TYPE |
2 |
此设备类型不支持调用的方法。 |
ALREADY_PENDING |
3 |
上一个 |
ConnectorDetectCapabilities 灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
设备的热插拔功能。
名称 | 值 | 说明 |
---|---|---|
硬质 |
0 |
设备应始终接通电源。插头状态无法更改。 |
可插拔 |
1 |
设备可以拔下/接通电源,并可以异步通知变化。 |
ConnectorState 灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
设备当前的插入状态。
名称 | 值 | 说明 |
---|---|---|
已插入 |
1 |
已连接且可用于音频流式传输。 |
已拔下 |
2 |
未连接;不支持音频流式传输。 |
ProviderAddDeviceError 灵活
类型:uint32
在 fuchsia.audio.device/provider.fidl 中定义
Provider
协议返回的错误。
名称 | 值 | 说明 |
---|---|---|
INVALID_NAME |
1 |
必需的 |
INVALID_TYPE |
2 |
缺少必需的 |
INVALID_DRIVER_CLIENT |
3 |
必需的 |
WRONG_CLIENT_TYPE |
4 |
|
RegistryCreateObserverError灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
Registry/CreateObserver
返回的错误。
名称 | 值 | 说明 |
---|---|---|
INVALID_TOKEN_ID |
1 |
缺少必需的 |
INVALID_OBSERVER |
2 |
缺少必需的 |
DEVICE_NOT_FOUND |
3 |
未找到 |
DEVICE_ERROR |
4 |
具有 |
RegistryWatchDeviceRemovedError 灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
Registry/WatchDeviceRemoved
返回的错误。
名称 | 值 | 说明 |
---|---|---|
ALREADY_PENDING |
1 |
上一个 |
RegistryWatchDevicesAddedError灵活
类型:uint32
在 fuchsia.audio.device/registry.fidl 中定义
Registry/WatchDevicesAdded
返回的错误。
名称 | 值 | 说明 |
---|---|---|
ALREADY_PENDING |
1 |
上一个 |
RingBufferSetActiveChannelsError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
RingBuffer/SetActiveChannels
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
ALREADY_PENDING |
2 |
上一个 |
METHOD_NOT_SUPPORTED |
3 |
设备不支持 |
INVALID_CHANNEL_BITMASK |
4 |
缺少必需的 |
CHANNEL_OUT_OF_RANGE |
5 |
传递的 |
RingBufferStartError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
RingBuffer/Start
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
ALREADY_PENDING |
2 |
上一个 |
ALREADY_STARTED |
3 |
对已启动的环形缓冲区调用了 |
RingBufferStopError灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
RingBuffer/Stop
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续控制。 |
ALREADY_PENDING |
2 |
上一个 |
ALREADY_STOPPED |
3 |
对已停止的环形缓冲区调用了 |
RingBufferWatchDelayInfoError 灵活
类型:uint32
在 fuchsia.audio.device/control.fidl 中定义
RingBuffer/WatchDelayInfo
返回的错误。
名称 | 值 | 说明 |
---|---|---|
DEVICE_ERROR |
1 |
此设备遇到了错误,无法继续被观测。 |
ALREADY_PENDING |
2 |
上一个 |
表
ChannelAttributes
在 fuchsia.audio.device/device.fidl 中定义
单个渠道的属性(如频率范围)。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
min_frequency |
uint32
|
此信道保证发射/捕获的最低频率,以 Hz 为单位。如果没有提供,此信道会扩展到设备范围的底部。 可选。 |
2 |
max_frequency |
uint32
|
此信道保证发射/捕获的最大频率,以 Hz 为单位。如果没有频率,此信道会扩展到设备范围的顶部。 可选。 |
ChannelSet
在 fuchsia.audio.device/device.fidl 中定义
一种可能的设备信道配置。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
attributes |
vector<ChannelAttributes>[64]
|
此矢量中的每一项描述该渠道的属性(例如频率范围)。此矢量的长度定义了该 ChannelSet 支持的通道数。必须包含至少一个条目。 必选。 |
ControlCreateRingBufferRequest 资源
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
element_id |
ElementId
|
对于 Composite,必需;对于 StreamConfig,系统会忽略此参数。 |
2 |
options |
RingBufferOptions
|
有关所创建实际环形缓冲区的其他要求。 必选。 |
3 |
ring_buffer_server |
server_end<RingBuffer>
|
要创建的 必选。 |
ControlCreatorCreateRequest 资源
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
token_id |
TokenId
|
要控制的设备的令牌 ID。 必选。 |
2 |
control_server |
server_end<Control>
|
要创建的 必选。 |
ControlCreator_Create_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
ControlSetDaiFormatRequest
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
element_id |
ElementId
|
对于 Composite,必需;对于 Codec,系统会忽略此参数。 |
2 |
dai_format |
fuchsia.hardware.audio/DaiFormat
|
ControlSetGainRequest
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
target_state |
GainState
|
要设置的增益状态。 必选。 |
Control_CodecStart_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
start_time |
zx/Time
|
Control_CodecStop_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
stop_time |
zx/Time
|
Control_CreateRingBuffer_Response 资源
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
properties |
RingBufferProperties
|
创建时有关环形缓冲区和活跃音频流的属性。 |
2 |
ring_buffer |
fuchsia.audio/RingBuffer
|
表示音频流和环形内存本身的对象。 注意:环形缓冲区 VMO 内存范围必须在每次读取前缓存失效,并在每次写入后刷新缓存。 |
Control_Reset_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
Control_SetDaiFormat_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
state |
fuchsia.hardware.audio/CodecFormatInfo
|
Control_SetGain_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
DelayInfo
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
internal_delay |
zx/Duration
|
驱动程序对硬件内部延迟的最佳估计值,该值针对所选格式将其抽象化。此时长不得为负数。 必选。 |
2 |
external_delay |
zx/Duration
|
互连以外流水线的延迟时间(输出设备的 DMA“读取”位置之后,或输入设备的 DMA“写入”位置之前)。如果存在,此时长必须是非负数。 可选。 |
ElementDaiFormatSet
在 fuchsia.audio.device/device.fidl 中定义
下表显示了此端点可以支持的可能 Dai 格式。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
element_id |
ElementId
|
要描述的元素的 ID。这必须与设备的 必选。 |
2 |
format_sets |
vector<fuchsia.hardware.audio/DaiSupportedFormats>[64]
|
此元素支持的 dai_format_set 条目。 (必填)。必须包含至少一个条目。 |
ElementRingBufferFormatSet
在 fuchsia.audio.device/device.fidl 中定义
下表列出了此端点可以支持的 RingBuffer 格式。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
element_id |
ElementId
|
要描述的元素的 ID。这必须与设备的 必选。 |
2 |
format_sets |
vector<PcmFormatSet>[64]
|
此元素支持的 ring_buffer_format_set 条目。 (必填)。必须包含至少一个条目。 |
GainCapabilities
在 fuchsia.audio.device/registry.fidl 中定义
设备的总体增益能力。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
min_gain_db |
float32
|
设备的最小增益(以分贝为单位)。 必选。 |
2 |
max_gain_db |
float32
|
设备的最大增益(以分贝为单位)。 必选。 |
3 |
gain_step_db |
float32
|
每个增益变化步的精确度(以分贝为单位)。 必选。 |
4 |
can_mute |
bool
|
如果为 true,设备会包含不同的 MUTE 控件。如果为 false 或不存在,则系统不会显示此参数。 可选。 |
5 |
can_agc |
bool
|
自动增益控制。如果没有,则表示此硬件不支持 AGC。 可选。 |
GainState
在 fuchsia.audio.device/device.fidl 中定义
设备的当前增益状态。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
gain_db |
float32
|
设备级增益(以分贝为单位)。 必选。 |
2 |
muted |
bool
|
所有频道的静音状态。如果没有,所有频道都会取消静音。 可选。 |
3 |
agc_enabled |
bool
|
自动增益控制。如果没有,则将其停用。 可选。 |
参考
在 fuchsia.audio.device/registry.fidl 中定义
检测到设备(或通过 Provider/AddDevice
添加)时,系统会查询其属性和功能。此枚举过程完成后,系统会通过 Registry/WatchDevicesAdded
向正在监控设备到达的客户端发出通知。
系统会针对已添加的每个音频设备返回一个 Info
表。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
token_id |
TokenId
|
保证对此启动会话具有唯一性的设备标识符,但在重新启动后可能会发生变化。 所有设备类型都必需。 |
2 |
device_type |
DeviceType
|
驱动程序使用的协议及其方向性(如果是 StreamConfig)。 所有设备类型都必需。 |
3 |
device_name |
string[256]
|
从 devfs 或 所有设备类型都必需。 |
4 |
manufacturer |
string[256]
|
设备制造商的名称。 对于所有设备类型,此属性为可选属性。 |
5 |
product |
string[256]
|
设备的简要产品名称。 对于所有设备类型,此属性为可选属性。 |
6 |
unique_instance_id |
uint8[16]
|
由驱动程序提供的 16 个字符的 ID(如果存在)可用于区分同一设备的实例。此值不应在系统重新启动后发生变化。 对于所有设备类型,此属性为可选属性。 |
7 |
is_input |
bool
|
设备是音频的来源 (is_input TRUE) 还是目标 (is_input FALSE)。 StreamConfig 为必需项;编解码器为可选配置;Composite 时则没有。 |
8 |
ring_buffer_format_sets |
vector<ElementRingBufferFormatSet>[64]
|
设备配置设置的所有组合中设备可以支持的所有格式的并集。 如果设备公开了一个或多个 RingBuffer ENDPOINT 元素,则此字段必须存在,并且对于每个相关 ENDPOINT 元素,其矢量必须只包含一个条目。如果设备未公开 RingBuffer ENDPOINT 元素,则必须省略此字段(完全不存在,而不是用空向量填充)。 StreamConfig 为必需项;对于 Composite,为可选;Codec 不存在。 |
9 |
dai_format_sets |
vector<ElementDaiFormatSet>[64]
|
设备配置设置的所有组合中设备可以支持的所有 DAI 格式的并集。如果设备公开了一个或多个 Dai ENDPOINT 元素,则此字段必须存在,并且对于每个相关 ENDPOINT 元素,其矢量必须只包含一个条目。如果设备未公开 Dai ENDPOINT 元素,则必须省略此字段(完全不存在,而不是用空矢量填充)。 对于编解码器为必需;对于 Composite,为可选项;对于 StreamConfig,不存在。 |
10 |
gain_caps |
GainCapabilities
|
设备的增益/静音功能。 StreamConfig 的必需项;编解码器和 Composite 集成时不适用。 |
11 |
plug_detect_caps |
PlugDetectCapabilities
|
设备的热插拔功能。 Codec 和 StreamConfig 要求提供,Composite 不支持。 |
12 |
clock_domain |
ClockDomain
|
运行设备的时钟硬件的时钟域的标识符。同一时钟网域中的设备会保持完全同步。它们可能会相对于其他时钟域漂移,但该域中的所有时钟会同时完美发生。虽然它们的时钟频率相同,但它们的位置可能会偏移任意的固定量。 时钟域有两个特殊值:
Composite 和 StreamConfig 必需;编解码器除外。 |
13 |
signal_processing_elements |
vector<fuchsia.hardware.audio.signalprocessing/Element>[64]
|
支持的信号处理元素的矢量。 如果存在,则必须至少包含一个元素。 对于 Composite 是必需的;对于 Codec 和 StreamConfig,则为可选。 |
14 |
signal_processing_topologies |
vector<fuchsia.hardware.audio.signalprocessing/Topology>[64]
|
支持的信号处理拓扑的矢量。如果存在,则必须至少包含一个元素。 对于 Composite 是必需的;对于 Codec 和 StreamConfig,则为可选。 |
Observer_GetReferenceClock_Response 资源
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
reference_clock |
handle<clock>
|
设备的参考时钟。 |
Observer_WatchGainState_Response
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
state |
GainState
|
设备的最新增益状态。 |
Observer_WatchPlugState_Response
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
state |
PlugState
|
设备当前的插头状态。 |
2 |
plug_time |
zx/Time
|
插头状态最近一次更改的时间(采用 CLOCK_MONOTONIC)。 |
PcmFormatSet
在 fuchsia.audio.device/device.fidl 中定义
此表包含代表设备配置的三个维度(声道化、采样格式、帧速率)的向量。设备应支持这些矢量中的项目的所有组合。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
channel_sets |
vector<ChannelSet>[64]
|
设备支持的声道集数量。必须至少包含一个 必选。 |
2 |
sample_types |
vector<fuchsia.audio/SampleType>[32]
|
设备支持的样本格式数量。它必须包含至少一个 必选。 |
3 |
frame_rates |
vector<uint32>[64]
|
设备支持的帧速率数。它必须至少包含一个帧速率条目。 必选。 |
ProviderAddDeviceRequest 资源
在 fuchsia.audio.device/provider.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
device_name |
string[256]
|
设备的概要名称。不得为空字符串。 必选。 |
2 |
device_type |
DeviceType
|
指示设备使用的协议,以及(如果是 StreamConfig)是输入(音频来源)还是输出(音频的目的地)。 必选。 |
3 |
driver_client |
DriverClient
|
此服务将用于配置/观察设备的协议通道(Codec、Composite、Dai 或 StreamConfig)的 client_end。目前, 必选。 弃用不再支持 Codec、Dai 和 StreamConfig,请改用音频复合材料。请参阅音频驱动程序架构 已废弃:HEAD
|
Provider_AddDevice_Response
在 fuchsia.audio.device/provider.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
RegistryCreateObserverRequest 资源
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
token_id |
TokenId
|
要观察的设备的令牌。 必选。 |
2 |
observer_server |
server_end<Observer>
|
要创建的 必选。 |
Registry_CreateObserver_Response
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
Registry_WatchDeviceRemoved_Response
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
token_id |
TokenId
|
设备最近移除的令牌。 |
Registry_WatchDevicesAdded_Response
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
devices |
vector<Info>[256]
|
自上次调用 |
RingBufferOptions
在 fuchsia.audio.device/control.fidl 中定义
创建环形缓冲区时由调用方指定的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
format |
fuchsia.audio/Format
|
要创建的环形缓冲区的格式(采样格式、信道化、帧速率)。 必选。 |
2 |
ring_buffer_min_bytes |
uint32
|
环形缓冲区中所需的最少字节数。实际缓冲区可能会更大,具体取决于编码、驱动程序、设备或操作系统的要求。 必选。 |
RingBufferProperties
在 fuchsia.audio.device/control.fidl 中定义
环形缓冲区或关联音频流的相关信息。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
valid_bits_per_sample |
uint8
|
每个样本中有效的位数(从最高有效位数开始)。这可能小于实际样本大小(例如,如果是由 18 位 ADC 馈送的输入环形缓冲区),任何其他精度位都应忽略。 必选。 |
2 |
turn_on_delay |
zx/Duration
|
调用 必选。 |
RingBufferSetActiveChannelsRequest
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
channel_bitmask |
uint64
|
要启用的渠道(应停用所有其他渠道)。不应在环形缓冲区格式中指定的 必选。 |
RingBufferStartRequest
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
RingBufferStopRequest
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
RingBuffer_SetActiveChannels_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
set_time |
zx/Time
|
配置硬件时的 CLOCK_MONOTONIC 时间。注意:这不包括 必选。 |
RingBuffer_Start_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
start_time |
zx/Time
|
直播开始的 CLOCK_MONOTONIC 时间。 必选。 |
RingBuffer_Stop_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|
RingBuffer_WatchDelayInfo_Response
在 fuchsia.audio.device/control.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
delay_info |
DelayInfo
|
必选。 |
联合
ControlCreator_Create_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ControlCreator_Create_Response
|
|
2 |
err |
ControlCreatorError
|
Control_CodecStart_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Control_CodecStart_Response
|
|
2 |
err |
ControlCodecStartError
|
Control_CodecStop_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Control_CodecStop_Response
|
|
2 |
err |
ControlCodecStopError
|
Control_CreateRingBuffer_Result strict 资源
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Control_CreateRingBuffer_Response
|
|
2 |
err |
ControlCreateRingBufferError
|
Control_Reset_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Control_Reset_Response
|
|
2 |
err |
ControlResetError
|
Control_SetDaiFormat_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Control_SetDaiFormat_Response
|
|
2 |
err |
ControlSetDaiFormatError
|
Control_SetGain_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Control_SetGain_Response
|
|
2 |
err |
ControlSetGainError
|
DriverClient 柔性 资源
在 fuchsia.audio.device/device.fidl 中定义
用于配置和观察设备的协议通道。
弃用
不再支持 Codec、Dai 和 StreamConfig,请改用音频复合材料。请参阅音频驱动程序架构
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
codec |
fuchsia.hardware.audio/Codec
|
为使用 |
2 |
composite |
fuchsia.hardware.audio/Composite
|
为使用 |
3 |
dai |
fuchsia.hardware.audio/Dai
|
为使用 |
4 |
stream_config |
fuchsia.hardware.audio/StreamConfig
|
为使用 |
Observer_GetReferenceClock_Result 严格资源
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Observer_GetReferenceClock_Response
|
|
2 |
err |
ObserverGetReferenceClockError
|
Observer_WatchGainState_Result 严格
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Observer_WatchGainState_Response
|
|
2 |
err |
ObserverWatchGainStateError
|
Observer_WatchPlugState_Result 严格
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Observer_WatchPlugState_Response
|
|
2 |
err |
ObserverWatchPlugStateError
|
Provider_AddDevice_Result 严格
在 fuchsia.audio.device/provider.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Provider_AddDevice_Response
|
|
2 |
err |
ProviderAddDeviceError
|
Registry_CreateObserver_Result 严格
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Registry_CreateObserver_Response
|
|
2 |
err |
RegistryCreateObserverError
|
Registry_WatchDeviceRemoved_Result 严格
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Registry_WatchDeviceRemoved_Response
|
|
2 |
err |
RegistryWatchDeviceRemovedError
|
Registry_WatchDevicesAdded_Result严格
在 fuchsia.audio.device/registry.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Registry_WatchDevicesAdded_Response
|
|
2 |
err |
RegistryWatchDevicesAddedError
|
RingBuffer_SetActiveChannels_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RingBuffer_SetActiveChannels_Response
|
|
2 |
err |
RingBufferSetActiveChannelsError
|
RingBuffer_Start_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RingBuffer_Start_Response
|
|
2 |
err |
RingBufferStartError
|
RingBuffer_Stop_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RingBuffer_Stop_Response
|
|
2 |
err |
RingBufferStopError
|
RingBuffer_WatchDelayInfo_Result 严格
在 fuchsia.audio.device/control.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
RingBuffer_WatchDelayInfo_Response
|
|
2 |
err |
RingBufferWatchDelayInfoError
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
DEFAULT_DAI_INTERCONNECT_ELEMENT_ID |
1
|
uint64 |
对于带有编解码器或 Dai 驱动程序的设备,只有一个 DAI_INTERCONNECT 实体。当某种方法要求我们按 ID 处理互连时,我们将使用 element_id 1。实现信号处理的编解码器和 Dai 驱动程序不应将此 ID 分配给其他元素。 |
DEFAULT_RING_BUFFER_ELEMENT_ID |
0
|
uint64 |
对于带有 Dai 或 StreamConfig 驱动程序的设备,只有一个 RING_BUFFER 实体。当某个方法要求我们按 ID 处理 RingBuffer 时,我们将使用 element_id 0。实现信号处理的 Dai 和 StreamConfig 驱动程序不应将此 ID 分配给其他元素。 |
MAX_COUNT_CHANNELS |
fuchsia.hardware.audio/MAX_COUNT_CHANNELS_IN_RING_BUFFER
|
uint32 |
一台设备能报告为支持的渠道数量上限。 |
MAX_COUNT_CHANNEL_SETS |
fuchsia.hardware.audio/MAX_COUNT_CHANNEL_SETS
|
uint32 |
一台设备可以在单个 PcmFormatSet 中报告的 |
MAX_COUNT_DAI_FORMATS |
fuchsia.hardware.audio/MAX_COUNT_DAI_FORMATS
|
uint32 |
|
MAX_COUNT_DEVICES |
256
|
uint32 |
系统中任意时刻音频设备的数量上限。 |
MAX_COUNT_FORMATS |
fuchsia.hardware.audio/MAX_COUNT_FORMATS
|
uint32 |
一台设备可报告的受支持 |
MAX_COUNT_PROCESSING_ELEMENTS |
fuchsia.hardware.audio.signalprocessing/MAX_COUNT_PROCESSING_ELEMENTS
|
uint32 |
单个设备支持的处理元素数量上限。 |
MAX_COUNT_RATES |
fuchsia.hardware.audio/MAX_COUNT_SUPPORTED_RATES
|
uint32 |
设备可在 PcmFormatSet 中报告的帧速率上限。 |
MAX_COUNT_SAMPLE_TYPES |
32
|
uint32 |
一个 PcmFormatSet 可以包含的不同样本格式的最大数量。 |
MAX_STRING_SIZE |
fuchsia.hardware.audio/MAX_UI_STRING_SIZE
|
uint32 |
设备、制造商和产品名称的字符串长度上限。 |
UNIQUE_INSTANCE_ID_SIZE |
fuchsia.hardware.audio/UNIQUE_ID_SIZE
|
uint32 |
设备的唯一 ID 的长度(以字节为单位)。 |
别名
名称 | 值 | 说明 |
---|---|---|
ClockDomain |
uint32 |
多个 fuchsia.audio.device 协议使用的常用别名、常量和类型。 |
ElementId |
uint64 |
|
TokenId |
uint64 |
|
TopologyId |
uint64 |