协议
连接线
在 fuchsia.hardware.audio.signalprocessing/connector.fidl 中定义
如需简要了解信号处理协议,请参阅音频信号处理
SignalProcessingConnect
连接到 SignalProcessing
协议。
可以支持多个连接,如果不支持新的连接请求(即,已创建最大连接数(例如一个),则 protocol
通道(而不是调用 SignalProcessingConnect
的通道)将以 ZX_ERR_ALREADY_BOUND
epitaph 的形式关闭。如果完全不支持信号处理,则 protocol
通道(同样,而不是调用 SignalProcessingConnect
的通道)将以 ZX_ERR_NOT_SUPPORTED
音阶关闭。此方法命名为 SignalProcessingConnect
(而不是 Connect
),因为此协议旨在由系统组合而成,因此名称越详细,越便于区分,并且清晰度更高。
请求
名称 | 类型 |
---|---|
protocol |
server_end<SignalProcessing>
|
阅读者
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
如需了解概览,请参阅 [信号处理接口]。
GetElements
返回受支持处理元素的矢量。
必须返回一个或多个处理元素,或者 ZX_ERR_NOT_SUPPORTED
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Reader_GetElements_Result
|
GetTopologies
返回受支持拓扑的矢量。必须返回一个或多个拓扑,或 ZX_ERR_NOT_SUPPORTED
。如果返回多个拓扑,客户端可以使用 SetTopology
从列表中选择任何拓扑。如果仅返回一个拓扑,则拓扑定义仅供参考,因为使用的唯一拓扑无法通过 SetTopology
更改。如果 GetElements
返回一个或多个元素,则 GetTopologies
必须返回一个或多个拓扑。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
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 |
ElementId
|
响应
名称 | 类型 |
---|---|
state |
ElementState
|
WatchTopology
通过挂起 get 获取当前拓扑。
驱动程序将立即回复每个客户端发送的第一个 WatchTopology
。在信号处理拓扑发生变更(因 SetTopology
调用而发生)之前,驱动程序不会响应来自该客户端的后续 WatchTopology
调用。如果在此客户端已有待处理的 WatchTopology
时再次调用此方法,驱动程序将以错误 ZX_ERR_BAD_STATE
关闭协议通道。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
topology_id |
TopologyId
|
SignalProcessing
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
如需了解概览,请参阅 [信号处理接口]。
GetElements
返回受支持处理元素的矢量。
必须返回一个或多个处理元素,或者 ZX_ERR_NOT_SUPPORTED
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Reader_GetElements_Result
|
GetTopologies
返回受支持拓扑的矢量。必须返回一个或多个拓扑,或 ZX_ERR_NOT_SUPPORTED
。如果返回多个拓扑,客户端可以使用 SetTopology
从列表中选择任何拓扑。如果仅返回一个拓扑,则拓扑定义仅供参考,因为使用的唯一拓扑无法通过 SetTopology
更改。如果 GetElements
返回一个或多个元素,则 GetTopologies
必须返回一个或多个拓扑。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Reader_GetTopologies_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 |
ElementId
|
state |
ElementState
|
响应
名称 | 类型 |
---|---|
payload |
SignalProcessing_SetElementState_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 |
TopologyId
|
响应
名称 | 类型 |
---|---|
payload |
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 |
ElementId
|
响应
名称 | 类型 |
---|---|
state |
ElementState
|
WatchTopology
通过挂起 get 获取当前拓扑。
驱动程序将立即回复每个客户端发送的第一个 WatchTopology
。在信号处理拓扑发生变更(因 SetTopology
调用而发生)之前,驱动程序不会响应来自该客户端的后续 WatchTopology
调用。如果在此客户端已有待处理的 WatchTopology
时再次调用此方法,驱动程序将以错误 ZX_ERR_BAD_STATE
关闭协议通道。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
topology_id |
TopologyId
|
结构
EdgePair
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
处理元素之间的边缘对,用于定义处理元素排列中的排序。
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
processing_element_id_from |
ElementId
|
无默认取景方式 | |
processing_element_id_to |
ElementId
|
无默认取景方式 |
Reader_GetElements_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
processing_elements |
vector<Element>[64]
|
无默认取景方式 |
Reader_GetTopologies_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
topologies |
vector<Topology>[64]
|
无默认取景方式 |
SignalProcessing_SetElementState_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
<EMPTY>
SignalProcessing_SetTopology_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
<EMPTY>
枚举
ElementType 柔性环境
类型:uint32
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
VENDOR_SPECIFIC |
1 |
特定于供应商。任何后续类型定义都不涵盖的处理元素类型。 |
CONNECTION_POINT |
3 |
控制流水线混合和路由。 |
收获 |
4 |
增益控制,也称为音量控制。 |
AUTOMATIC_GAIN_CONTROL |
5 |
自动增益控制。 不管输入源如何变化,均能自动维持合适的信号电平。 |
AUTOMATIC_GAIN_LIMITER |
6 |
自动增益限制器。 自动将信号电平保持在指定的电平之下。 低于该音量的输入不受影响,并且高于该音量的峰值会减弱。 |
动态 |
7 |
更改信号的动态范围,例如动态范围压缩。 |
静音 |
8 |
忽略。 |
DELAY |
9 |
延迟。 |
均衡器 |
10 |
均衡器。 |
SAMPLE_RATE_CONVERSION |
11 |
采样率转换。 |
ENDPOINT |
12 |
流水线的开始/结束位置。 添加数量:12
|
EndpointType 灵活
类型:uint8
在 fuchsia.hardware.audio.signalprocessing/endpoint.fidl 中定义
端点类型。
名称 | 值 | 说明 |
---|---|---|
RING_BUFFER |
1 |
该端点表示一个环形缓冲区。 环形缓冲区处理元素的 ID 允许提供 fuchsia.hardware.audio/Composite API 的驱动程序支持多环缓冲区拓扑。 |
DAI_INTERCONNECT |
2 |
端点表示数字音频接口互连,例如将 SoC 音频子系统连接到 DAC + 放大器硬件编解码器。 |
EqualizerBandType 灵活
类型:uint64
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定义
均衡器频段的类型。
名称 | 值 | 说明 |
---|---|---|
峰值 |
1 |
在具有可选 |
凹口 |
2 |
窄带拒绝使用可选的 |
LOW_CUT |
3 |
使用可选的 |
HIGH_CUT |
4 |
使用可选的 |
LOW_SHELF |
5 |
将增益降至 |
HIGH_SHELF |
6 |
将增益降至高于 |
GainDomain 灵活
类型:uint8
在 fuchsia.hardware.audio.signalprocessing/gain.fidl 中定义
增益的硬件域,例如 ANALOG。
名称 | 值 | 说明 |
---|---|---|
数字 |
1 |
处理元素增益应用于数字域。 |
类比 |
2 |
处理元素增益应用于模拟域。 |
混合 |
3 |
处理元件增益使用数字硬件和模拟硬件混合。 |
增益类型严格
类型:uint8
在 fuchsia.hardware.audio.signalprocessing/gain.fidl 中定义
增益类型。
名称 | 值 | 说明 |
---|---|---|
小数 |
1 |
增益,以 dB 为单位,例如 -103.0dB 或 +3.2dB。 |
PERCENT |
2 |
以百分比形式指定的增益,例如 10.0% 或 80.5%。 |
LevelType 严格
类型:uint8
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
级别类型。
名称 | 值 | 说明 |
---|---|---|
峰值 |
1 |
水平增益已指定为峰值。 |
均方根 |
2 |
以 RMS 为单位的等级。 |
ConnectorDetectCapabilities 灵活
类型:uint32
在 fuchsia.hardware.audio.signalprocessing/endpoint.fidl 中定义
端点的插头检测功能。
名称 | 值 | 说明 |
---|---|---|
硬质 |
0 |
端点为有线连接(将始终接通电源)。 |
CAN_ASYNC_NOTIFY |
1 |
端点可以拔下再插上,并且可以异步通知插头状态变化。 |
ThresholdType 严格
类型:uint8
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
阈值类型。
名称 | 值 | 说明 |
---|---|---|
上方 |
1 |
在阈值以上进行动态处理。 |
低于 |
2 |
应用动态处理,以低于阈值。 |
表
动力学
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
type
等于 DYNAMICS
的 Element
的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
bands |
vector<DynamicsBand>[64]
|
此协议中的 (必填)。必须包含至少一个条目。 |
2 |
supported_controls |
DynamicsSupportedControls
|
此处理元素支持的控件。 可选。 |
DynamicsBand
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
Dynamics
元素频段的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
id |
uint64
|
此频段的唯一 ID,只需要在相应 必选。 |
DynamicsBandState
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
Element
中单个频段的状态,type
等于 DYNAMICS
。即使客户端无法更改控制频段字段(即未在 supported_controls
中设置这些位),服务器也可能会包含控制频段字段。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
id |
uint64
|
频段的唯一 ID。必须与 |
2 |
min_frequency |
uint32
|
频段的最低频率(以 Hz 为单位)。例如,对于单频段动态处理,此字段可以设为 0(结合 max_frequency)指定频段全范围。 |
3 |
max_frequency |
uint32
|
频段的最大频率(以 Hz 为单位)。例如,对于单频段动态处理,此字段可以是奈奎斯特频率,以指定频段是全范围(连同 min_frequency)。 必选。 |
4 |
threshold_db |
float32
|
超过此值后,动态因素主要处理便开始启动的值(受 必选。 |
5 |
threshold_type |
ThresholdType
|
系统会在阈值 对服务器而言是必需的。如果 |
6 |
ratio |
float32
|
高于或低于膝部区域的输入与输出分贝比(请参阅 必选。 |
7 |
knee_width_db |
float32
|
膝盖区域的宽度(以输入 dB 为单位)。如果存在,则不能为负数。
如果未添加这项属性,则未指定膝盖区域的宽度。
零表示“硬”膝盖;值越大表示“软”膝部。
此膝关节以 可选。
如果 |
8 |
attack |
zx/Duration
|
攻击时间。 如果未添加此属性,则未指定攻击时间。 可选。
如果 |
9 |
release |
zx/Duration
|
发布时间。 如果您未添加该属性,则未指定发布时间。 可选。
如果 |
10 |
output_gain_db |
float32
|
输出(也称为补全或后置)增益值(以 dB 为单位)。 如果未指定,则未指定输出增益。 可选。
如果 |
11 |
input_gain_db |
float32
|
输入(也称为预)增益值(以 dB 为单位)。 如果未指定,则未指定输入增益。 可选。
如果 |
12 |
level_type |
LevelType
|
等级类型(峰值或 RMS)。 如果未添加,则表示级别类型未指定。 可选。
如果 |
13 |
lookahead |
zx/Duration
|
提前时间。 如果未添加,则未指定先行时间。 可选。
如果 |
14 |
linked_channels |
bool
|
关联频道(也称为“关联的立体声”,适用于双声道系统)。 如果未提供此项,则未指定“关联的频道”选项。 如果为 true,则动态响应将应用于所有渠道。 如果为 false,每个渠道都有自己的动态响应。 可选。
如果 |
DynamicsElementState
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
type
等于 DYNAMICS
的 Element
的状态。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
band_states |
vector<DynamicsBandState>[64]
|
每个 ID 都必须与 |
元素
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
id |
ElementId
|
此元素的唯一 ID。此 ID 的范围仅在 必选。 |
2 |
type |
ElementType
|
处理元素类型。 必选。 |
3 |
type_specific |
TypeSpecificElement
|
如果包含,则是处理元素的特定类型参数。 可选。 |
4 |
can_disable |
bool
|
如果包含且为 true,则可以通过 可选。 弃用改用 已弃用:20
|
5 |
description |
string[256]
|
如果包含,则为处理元素的文字说明。 可选。 |
6 |
can_stop |
bool
|
如果包含且为 true,则可以通过 可选。 添加数量:20
|
7 |
can_bypass |
bool
|
如果包含且为 true,则可通过 可选。 添加数量:20
|
ElementState
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
type_specific |
TypeSpecificElementState
|
如果包含,则是处理元素的特定类型状态参数。 如果此处理元素已停用,并且提供了其类型特有状态,则特定于类型的状态仅供参考。例如,如果 可选。 |
2 |
enabled |
bool
|
处理元素启用/停用状态。可选。默认情况下,处理元素处于启用状态。如果相应的 可选。 弃用改用 已弃用:20
|
3 |
latency |
Latency
|
如果包含此字段,则表示在启用此处理元素的情况下,会增加多长的延迟时间。此字段不得出现在 可选。 |
4 |
vendor_specific_data |
vector<uint8>[4096]
|
包含八位字节的不透明对象,用于交换供应商特定信息。 可选。 添加了:HEAD
|
5 |
started |
bool
|
此处理元素的开始/停止状态。 如果为 true,则会启动与该元素相关联的硬件。如果为 false,则已停止。 默认情况下,系统会启动处理元素。如果相应的 已停止的处理元素不提供其抽象功能。具体来说,不会有任何音频数据流经已停止的元素。 必选。 添加数量:20
|
6 |
bypassed |
bool
|
此处理元素的已绕过状态。 如果为 true,则会绕过与该元素相关联的硬件。如果为 false,则不绕过。 默认情况下,系统不会绕过处理元素。如果相应的 被绕过的元素不会影响音频通过拓扑的流动。 可选。 添加数量:20
|
7 |
turn_on_delay |
zx/Duration
|
如果包含此字段,则驱动程序在 此字段不应出现在 硬件可能需要一段时间才能进入完全运行模式,例如当电源状态发生变化时。如果无法接受播放或捕获初始音频样本,则必须将这种延迟考虑在内。如果未提供,则 可选。 添加数量:20
|
8 |
turn_off_delay |
zx/Duration
|
如果添加了此参数,在 此字段不应出现在 硬件可能需要一段时间才能进入完全停用模式,例如由于电源状态发生变化。如果在停用处理元素之后无法对音频样本进行音频处理,则必须考虑这种延迟。如果不添加此属性,则关闭延迟时间未知。 可选。 添加数量:20
|
端点
在 fuchsia.hardware.audio.signalprocessing/endpoint.fidl 中定义
type
等于 ENDPOINT
的 Element
的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
type |
EndpointType
|
指定端点所代表的含义。 必选。 |
2 |
plug_detect_capabilities |
PlugDetectCapabilities
|
插头检测功能。 必选。 |
EndpointElementState
在 fuchsia.hardware.audio.signalprocessing/endpoint.fidl 中定义
type
等于 ENDPOINT
的 Element
的状态。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
plug_state |
PlugState
|
如果包含插头检测此端点的状态。 此字段不应出现在 对于服务器而言是必需的。 |
均衡器
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定义
type
等于 EQUALIZER
的 Element
的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
bands |
vector<EqualizerBand>[64]
|
此协议中的均衡器由多个频段构建,每个频段在此指定了多个参数,还指定了可通过 必选。 |
2 |
supported_controls |
EqualizerSupportedControls
|
此均衡器支持的控件。 可选。 |
3 |
can_disable_bands |
bool
|
如果包含且为 true,则可以通过 可选。 |
4 |
min_frequency |
uint32
|
频段的最低频率,以 Hz 为单位。 必选。 |
5 |
max_frequency |
uint32
|
频段的最大频率,以 Hz 为单位。 必选。 |
6 |
max_q |
float32
|
频段的最大质量系数,通常用“Q”表示。 表示频率转换有多窄。Q 值越高,刻度/峰值越窄,切口/搁架越陡。必须为正值。 可选。 |
7 |
min_gain_db |
float32
|
最小增益(以 dB 为单位)。 可选,但如果 |
8 |
max_gain_db |
float32
|
最大增益(以 dB 为单位)。 可选,但如果 |
EqualizerBand
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定义
均衡器频段的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
id |
uint64
|
此频段的唯一 ID,只需要在相应 必选。 |
EqualizerBandState
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定义
Element
中单个频段的状态,type
等于 EQUALIZER
。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
id |
uint64
|
频段的唯一 ID。必须与 必选。 |
2 |
type |
EqualizerBandType
|
腕带类型。 可选。 |
3 |
frequency |
uint32
|
频段的中心频率。 可选。 |
4 |
q |
float32
|
质量系数,通常表示为“Q”。表示频率转换有多窄。Q 值越高,刻度/峰值越窄,切口/搁架越陡。必须为正值。 可选。 |
5 |
gain_db |
float32
|
增益(以 dB 为单位)。 可选,但对于 |
6 |
enabled |
bool
|
启用/停用频段。默认情况下,所有频段都处于启用状态。通过将 可选。 |
EqualizerElementState
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定义
type
等于 EQUALIZER
的 Element
的状态。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
2 |
band_states |
vector<EqualizerBandState>[64]
|
必选。 添加数量:20
|
增益
在 fuchsia.hardware.audio.signalprocessing/gain.fidl 中定义
type
等于 GAIN
的 Element
的参数。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
type |
GainType
|
指定增益数字所代表的含义,例如百分比。 必选。 |
2 |
domain |
GainDomain
|
如果添加了相应增益,则会在指定的 可选。 |
3 |
min_gain |
float32
|
最小增益值,采用 必选。 |
4 |
max_gain |
float32
|
最大增益值( 必选。 |
5 |
min_gain_step |
float32
|
必选。 |
GainElementState
在 fuchsia.hardware.audio.signalprocessing/gain.fidl 中定义
type
等于 GAIN
的 Element
的状态。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
gain |
float32
|
当前增益( 必选。 |
PlugState
在 fuchsia.hardware.audio.signalprocessing/endpoint.fidl 中定义
端点的插头状态。
如果驱动程序报告的 plug_detect_capabilities
等于 HARDWIRED,则驱动程序应仅在针对给定端点首次调用它时响应 WatchElementState
,并将 plugged
设置为 true,将 plug_state_time
设置为时间“0”。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
plugged |
bool
|
端点当前已插入。 必需 |
2 |
plug_state_time |
zx/Time
|
此表其他字段中提供的信息的时间戳(使用 必选。 |
拓扑学
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
Topology
指定处理元素在硬件中的排列方式。
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
id |
TopologyId
|
此拓扑的唯一 ID。此 ID 的范围仅在 必选。 |
2 |
processing_elements_edge_pairs |
vector<EdgePair>[64]
|
按此顺序处理元素边对的矢量。
具有边缘对的处理元素的顺序构成流水线。如需定义多个可能的流水线,请在 必选。 |
VendorSpecific
在 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl 中定义
type
等于 VENDOR_SPECIFIC
的 Element
的参数。
序数 | 野战 | 类型 | 说明 |
---|
VendorSpecificState
在 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl 中定义
type
等于 VENDOR_SPECIFIC
的 Element
的状态。
序数 | 野战 | 类型 | 说明 |
---|
联合
延迟时间灵活
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
latency_time |
zx/Duration
|
以 zx.Duration 的形式添加到流水线的延迟时间。 |
2 |
latency_frames |
uint32
|
以帧数的形式添加到流水线的延迟时间。 |
Reader_GetElements_Result 严格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Reader_GetElements_Response
|
|
2 |
err |
zx/Status
|
Reader_GetTopologies_Result 严格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Reader_GetTopologies_Response
|
|
2 |
err |
zx/Status
|
SignalProcessing_SetElementState_Result 严格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SignalProcessing_SetElementState_Response
|
|
2 |
err |
zx/Status
|
SignalProcessing_SetTopology_Result 严格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
SignalProcessing_SetTopology_Response
|
|
2 |
err |
zx/Status
|
TypeSpecificElement 灵活
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
Element
的类型特定参数。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecific
|
|
2 |
gain |
Gain
|
|
3 |
equalizer |
Equalizer
|
|
4 |
dynamics |
Dynamics
|
|
5 |
endpoint |
Endpoint
|
添加数量:12
|
TypeSpecificElementState灵活
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定义
特定于类型的处理元素状态。
处理元素控件的类型由此联合中提供的参数类型定义。必须与相应 Element
中相应 ElementType
条目中返回的类型一致。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecificState
|
|
2 |
gain |
GainElementState
|
|
3 |
equalizer |
EqualizerElementState
|
|
4 |
dynamics |
DynamicsElementState
|
|
5 |
endpoint |
EndpointElementState
|
添加数量:12
|
BITS
DynamicsSupportedControls灵活
类型:uint64
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定义
支持的 Dynamics
控件。
如果包含,则可以使用 SetElementState
更改表示动态处理频段参数的每个位。
名称 | 值 | 说明 |
---|---|---|
KNEE_WIDTH |
1 | 如果包含,可以更改 |
攻击 |
2 | 如果包含,可以更改 |
发布 |
4 | 如果包含,可以更改 |
OUTPUT_GAIN |
8 | 如果包含,可以更改 |
INPUT_GAIN |
16 | 如果包含,可以更改 |
向前看 |
32 | 如果包含,可以更改 |
LEVEL_TYPE |
64 | 如果包含,可以更改 |
LINKED_CHANNELS |
128 | 如果包含,可以更改 |
THRESHOLD_TYPE |
256 | 如果包含,可以更改 添加数量:20
|
EqualizerSupportedControls 灵活
类型:uint64
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定义
Equalizer
中指定的均衡器支持的控件。
名称 | 值 | 说明 |
---|---|---|
CAN_CONTROL_FREQUENCY |
1 | 如果添加了此参数,则可以通过 |
CAN_CONTROL_Q |
2 | 如果添加了此参数,则可以通过 |
SUPPORTS_TYPE_PEAK |
4 | 如果包含,可以通过 |
SUPPORTS_TYPE_NOTCH |
8 | 如果包含,可以通过 |
SUPPORTS_TYPE_LOW_CUT |
16 | 如果包含,可以通过 |
SUPPORTS_TYPE_HIGH_CUT |
32 | 如果包含,可以通过 |
SUPPORTS_TYPE_LOW_SHELF |
64 | 如果包含,可以通过 |
SUPPORTS_TYPE_HIGH_SHELF |
128 | 如果包含,可以通过 |
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_BYTES_ELEMENT_VENDOR_SPECIFIC |
4096
|
uint32 |
添加了:HEAD
|
MAX_COUNT_DYNAMICS_BANDS |
64
|
uint32 |
|
MAX_COUNT_EQUALIZER_BANDS |
64
|
uint32 |
|
MAX_COUNT_PROCESSING_ELEMENTS |
64
|
uint32 |
|
MAX_COUNT_PROCESSING_ELEMENTS_EDGE_PAIRS |
64
|
uint32 |
|
MAX_COUNT_TOPOLOGIES |
64
|
uint32 |
|
MAX_STRING_SIZE |
256
|
uint32 |
别名
名称 | 值 | 说明 |
---|---|---|
ElementId |
uint64 |
|
TopologyId |
uint64 |
服务
ConnectorService
在 fuchsia.hardware.audio.signalprocessing/connector.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
连接器 |
fuchsia.hardware.audio.signalprocessing/Connector
|
频道 |