PROTOCOLS
連接線
定義於 fuchsia.hardware.audio.signalprocessing/connector.fidl
如需信號處理通訊協定的總覽,請參閱 音訊訊號處理
SignalProcessingConnect
連線至 SignalProcessing
通訊協定。
如果不支援新的連線要求,系統可能支援多個連線,即
因此連線數量已達到上限。舉例來說,如執行個體 1,
protocol
管道 (非呼叫 SignalProcessingConnect
的管道)
即將打烊,並打 ZX_ERR_ALREADY_BOUND
。
如果完全不支援信號處理,則系統會傳回 protocol
管道 (同樣不是
呼叫 SignalProcessingConnect
所在的管道) 將會關閉
ZX_ERR_NOT_SUPPORTED
號縮寫。
由於這個通訊協定稱為 SignalProcessingConnect
,而不是 Connect
是一組特徵,因此名稱越詳細,您就能明確區分
更加清晰易懂
要求
名稱 | 類型 |
---|---|
protocol |
server_end<SignalProcessing>
|
讀取者
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
如需總覽,請參閱 [信號處理介面]。
GetElements
傳回支援的處理元素的向量。
必須傳回一或多個處理元素,或 ZX_ERR_NOT_SUPPORTED
。
如果 GetTopologies
傳回一或多個拓撲,則 GetElements
必須傳回一或多個拓撲
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetElements_Result
|
GetTopologies
傳回支援的拓撲的向量。
必須傳回一或多個拓撲,或 ZX_ERR_NOT_SUPPORTED
。
如果傳回多個拓撲,則用戶端可以選擇從
產生含有 SetTopology
的清單
如果只傳回一個拓撲,則拓撲定義只會提供相關資訊,因為
唯一的拓撲無法透過 SetTopology
變更。
如果 GetElements
傳回一或多個元素,則 GetTopologies
必須傳回一或多個元素。
建立更多拓撲
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetTopologies_Result
|
WatchElementState
透過懸掛的取得取得處理元素狀態。
根據指定的 processing_element_id
,驅動程式庫會回覆第一個 WatchElementState
呼叫驅動程式不會回應後續的用戶端 WatchElementState
對指定 processing_element_id
的呼叫,直到 Element
資料表的任何欄位變更為止
來自「processing_element_id
」的最新報導
若有 ZX_ERR_BAD_STATE
錯誤,驅動程式就會關閉通訊協定管道
如果這個用戶端已有待處理的 WatchElementState
,系統就會再次呼叫方法
和 Process_element_id 的處理程序。
要求
名稱 | 類型 |
---|---|
processing_element_id |
ElementId
|
回應
名稱 | 類型 |
---|---|
state |
ElementState
|
WatchTopology
透過迅速上手的方式取得目前的拓撲。
驅動程式會立即回覆每個用戶端傳送的第一個 WatchTopology
。
除非WatchTopology
信號處理拓撲變更,是因 SetTopology
呼叫而發生。
若有 ZX_ERR_BAD_STATE
錯誤,驅動程式就會關閉通訊協定管道
當此用戶端已有待處理的 WatchTopology
時,則會再次呼叫方法。
要求
<空白>
回應
名稱 | 類型 |
---|---|
topology_id |
TopologyId
|
SignalProcessing
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
如需總覽,請參閱 [信號處理介面]。
GetElements
傳回支援的處理元素的向量。
必須傳回一或多個處理元素,或 ZX_ERR_NOT_SUPPORTED
。
如果 GetTopologies
傳回一或多個拓撲,則 GetElements
必須傳回一或多個拓撲
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetElements_Result
|
GetTopologies
傳回支援的拓撲的向量。
必須傳回一或多個拓撲,或 ZX_ERR_NOT_SUPPORTED
。
如果傳回多個拓撲,則用戶端可以選擇從
產生含有 SetTopology
的清單
如果只傳回一個拓撲,則拓撲定義只會提供相關資訊,因為
唯一的拓撲無法透過 SetTopology
變更。
如果 GetElements
傳回一或多個元素,則 GetTopologies
必須傳回一或多個元素。
建立更多拓撲
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Reader_GetTopologies_Result
|
SetElementState
使用由 GetElements
傳回的專屬 ElementId 控制處理元素。
請注意,SettableElementState
是 ElementState
的子集,因為部分欄位會傳回
來自 WatchElementState
的 (例如 latency
) 只能由用戶端觀測 (未設定)。
如果 processing_element_id
與傳回的 ID 不符,則傳回 ZX_ERR_INVALID_ARGS
依據 GetElements
或 SettableTypeSpecificElementState
類型未
符合 ElementType
的
此為 GetElements
的值。
如果 state
值無效 (即ZX_ERR_INVALID_ARGS
的值違反此通訊協定中指定的規則,例如:嘗試變更
EQUALIZER
在進行處理時,處理元素的 EqualizerBandState
frequency
元素並未在 supported_controls
中宣傳 CAN_CONTROL_FREQUENCY
。
您可在非 SignalProcessing
通訊協定之前或之後呼叫 SetElementState
呼叫。如果在非 SignalProcessing
通訊協定呼叫之後呼叫,則
SetElementState
不一定需要重新協商驅動程式庫狀態,
與組成 SignalProcessing
的通訊協定呼叫相符,例如:Dai
。
舉例來說,SetElementState
會變更 AGL
處理元素的參數
可能不需要重新協商 Dai
狀態,因為變更增益參數通常會變更
不會變更支援的音訊格式組合。
相反地,如果 SetElementState
變更 CONNECTION_POINT
的參數
元素,變更可能需要重新協商,因為這可能會撤銷
前一個 GetDaiFormats
Dai
通訊協定呼叫中傳回的支援格式。
驅動程式庫的工作是判斷何時需要重新協商。如果重新協商是
必要,則 SetElementState
必須傳回 ZX_ERR_BAD_STATE
,而用戶端必須
並關閉通訊協定管道,這樣系統就會開始進行通訊協定協商。
接著,用戶端必須發出傳回的 SetElementState
呼叫
ZX_ERR_BAD_STATE
,然後才呼叫任何非 SignalProcessing
通訊協定。
要求
名稱 | 類型 |
---|---|
processing_element_id |
ElementId
|
state |
SettableElementState
|
回應
名稱 | 類型 |
---|---|
payload |
SignalProcessing_SetElementState_Result
|
SetTopology
設定要在 GetTopologies
傳回的向量使用 ID 的情況下使用拓撲。
目前的拓撲由 WatchTopology
回應提供。如要變更拓撲
已啟用,則用戶端使用 SetTopology
。
如果指定的 topology_id
不在 GetTopologies
傳回的 topologies
中,
這場通話會傳回 ZX_ERR_INVALID_ARGS
。
如果 GetTopologies
只傳回一個 Topology
,則 SetTopology
為選用性質,沒有任何作用。
在非 SignalProcessing
通訊協定呼叫之前或之後,您可以呼叫 SetTopology
。
如果在非 SignalProcessing
通訊協定呼叫之後呼叫,SetTopology
可能會傳回
ZX_ERR_BAD_STATE
表示必須先重新協商,才能繼續操作
驅動程式庫狀態如需進一步討論,請參閱 SetElementState
。
要求
名稱 | 類型 |
---|---|
topology_id |
TopologyId
|
回應
名稱 | 類型 |
---|---|
payload |
SignalProcessing_SetTopology_Result
|
WatchElementState
透過懸掛的取得取得處理元素狀態。
根據指定的 processing_element_id
,驅動程式庫會回覆第一個 WatchElementState
呼叫驅動程式不會回應後續的用戶端 WatchElementState
對指定 processing_element_id
的呼叫,直到 Element
資料表的任何欄位變更為止
來自「processing_element_id
」的最新報導
若有 ZX_ERR_BAD_STATE
錯誤,驅動程式就會關閉通訊協定管道
如果這個用戶端已有待處理的 WatchElementState
,系統就會再次呼叫方法
和 Process_element_id 的處理程序。
要求
名稱 | 類型 |
---|---|
processing_element_id |
ElementId
|
回應
名稱 | 類型 |
---|---|
state |
ElementState
|
WatchTopology
透過迅速上手的方式取得目前的拓撲。
驅動程式會立即回覆每個用戶端傳送的第一個 WatchTopology
。
除非WatchTopology
信號處理拓撲變更,是因 SetTopology
呼叫而發生。
若有 ZX_ERR_BAD_STATE
錯誤,驅動程式就會關閉通訊協定管道
當此用戶端已有待處理的 WatchTopology
時,則會再次呼叫方法。
要求
<空白>
回應
名稱 | 類型 |
---|---|
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 中定義的
<空白>
SignalProcessing_SetTopology_Response
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
<空白>
ENUMS
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 |
延遲。 |
EQUALIZER |
10 |
等化器。 |
SAMPLE_RATE_CONVERSION |
11 |
取樣率轉換。 |
端點 |
12 |
管道的啟動/結束。 移除:20 新增:12
|
RING_BUFFER |
13 |
鈴聲緩衝區。 這是啟動/結束處理管道的兩種元素類型的第一種。 新增:20
|
DAI_INTERCONNECT |
14 |
數位音訊介面互連網路。 這是可啟動/結束處理管道的第二種元素。 新增:20
|
EndpointType 彈性
類型:uint8
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
端點類型。
名稱 | 值 | 說明 |
---|---|---|
RING_BUFFER |
1 |
端點代表環形緩衝區。 環形緩衝區處理元素的 id 允許多環緩衝區拓撲 由提供 fuchsia.hardware.audio/Composite API 的驅動程式庫支援。 |
DAI_INTERCONNECT |
2 |
端點代表數位音訊介面互連網路 例如:將 SoC 音訊子系統連線到 DAC + 擴大器硬體轉碼器。 |
EqualizerBandType 彈性
類型:uint64
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
等化器錶帶類型。
名稱 | 值 | 說明 |
---|---|---|
PEAK |
1 |
在 |
通知 |
2 |
狹窄錶帶拒絕功能大幅影響 |
LOW_CUT |
3 |
運用選用的 |
HIGH_CUT |
4 |
使用選用的 |
LOW_SHELF |
5 |
將增益降低到 |
HIGH_SHELF |
6 |
以高原效果調低 |
GainDomain 彈性
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
獲益的硬體網域,例如註解。
名稱 | 值 | 說明 |
---|---|---|
數位 |
1 |
處理元素增益會在數位領域套用。 |
ANALOG |
2 |
處理元素增益會套用至類比網域。 |
混合 |
3 |
處理元素增益會混合使用數位和類比硬體。 |
GainType 嚴格
類型:uint8
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
獲取表示法類型。
名稱 | 值 | 說明 |
---|---|---|
簡報 |
1 |
以 dB 為單位指定增益,例如 -103.0dB 或 +3.2dB。 |
比 |
2 |
增加幅度是以百分比表示,例如 10.0% 或 80.5%。 |
LevelType 嚴格
類型:uint8
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
等級類型。
名稱 | 值 | 說明 |
---|---|---|
PEAK |
1 |
「等級增加」已指定為峰值。 |
RMS |
2 |
指定為 RMS 的等級。 |
PlugDetectabilities 彈性
類型:uint32
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
互連網路的插頭偵測功能。
名稱 | 值 | 說明 |
---|---|---|
困難 |
0 |
互連網路採用有線網路,且一律接上電源。 |
CAN_ASYNC_NOTIFY |
1 |
互連網路可能處於拔除插頭/插頭的狀態,並且能以非同步方式通知插座狀態變更。 |
ThresholdType 嚴格
類型:uint8
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
門檻類型。
名稱 | 值 | 說明 |
---|---|---|
ABOVE |
1 |
套用高於門檻的動態處理方法。 |
低於 |
2 |
套用低於門檻的動態處理方法。 |
資料表
DaiInterconnect
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element
的參數 (type
等於 DAI_INTERCONNECT
)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
plug_detect_capabilities |
PlugDetectCapabilities
|
插電偵測功能。 必填。 |
DaiInterconnectElementState
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element
的狀態為 type
等於 DAI_INTERCONNECT
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
plug_state |
PlugState
|
這個 DAI 互連網路的插頭狀態。 必填。 |
2 |
external_delay |
zx/Duration
|
從這個 DAI 端點之後,驅動程式的最佳外部延遲時間估計值,因為 目前已設定。 用戶端在確定需求時必須將 如果未包含, 選用。 |
動力學
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Element
的參數 (type
等於 DYNAMICS
)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
bands |
vector<DynamicsBand>[64]
|
這個通訊協定中的 此為必要項目。至少須包含一個項目。 |
2 |
supported_controls |
DynamicsSupportedControls
|
此處理元素支援的控制項。 選用。 |
DynamicsBand
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Dynamics
元素錶帶的參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
此錶帶的專屬 ID,只需在對應的
必填。 |
DynamicsBandState
在 fuchsia.hardware.audio.signalprocessing/dynamics.fidl 中定義的
Element
中單一錶帶的狀態,type
等於 DYNAMICS
。
伺服器可能包含控制頻段欄位,即使該伺服器無法在
用戶端的用戶端 (也就是說,位元並非在 supported_controls
中設定)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
錶帶的專屬 ID。必須與以下項目中指定的其中一個 |
2 |
min_frequency |
uint32
|
錶帶的最小頻率 (以 Hz 為單位)。 舉例來說,這個欄位可以是 0,例如用於單頻動態處理需指定 (連同 max_frequency 一起) 表示錶帶的完整範圍。 |
3 |
max_frequency |
uint32
|
錶帶的最大頻率 (以 Hz 為單位)。 這個欄位可以是 Nyquist 頻率,例如單頻動態。 處理程序,指定錶帶的完整範圍 (搭配 min_frequency)。 必填。 |
4 |
threshold_db |
float32
|
動態主處理程序開始後的值 (取決於
必填。 |
5 |
threshold_type |
ThresholdType
|
動態處理功能已套用 伺服器需要。
如果發生以下情況,用戶端不得在 |
6 |
ratio |
float32
|
輸入與輸出 dB 的比率高於或低於膝蓋區域 (請參閱 必填。 |
7 |
knee_width_db |
float32
|
膝蓋區域的寬度,輸入 dB。如果有 ,就不能為負數。
如果未指定,則未指定膝蓋區域的寬度。
值為 0 代表「硬性」膝蓋;輸入的值會使「較不穩定」膝蓋。
這隻膝蓋位於 選用。
如果發生以下情況,用戶端不得在 |
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 中定義的
Element
的狀態為 type
等於 DYNAMICS
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
band_states |
vector<DynamicsBandState>[64]
|
每個 ID 都必須與 |
元素
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
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 中定義的
從驅動程式庫傳回的元素目前狀態。請注意,這個表格包含
欄位,因為用戶端無法設定這些欄位。SettableElementState
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
type_specific |
TypeSpecificElementState
|
如果有提供,就會為處理元素指定類型專屬的狀態參數。 如果這個處理元素已停用,且提供了其類型專屬狀態,那麼 類型專屬狀態只是資訊 (例如當停止元素的狀態 重新啟動,而不必提供其他取代狀態資訊)。 選用。 |
2 |
enabled |
bool
|
處理元素啟用/停用狀態。系統預設會啟用處理元素。
如果對應的 選用。 淘汰請改用 移除時間:20
|
3 |
latency |
Latency
|
如果包含在內,當這個處理元素發生時,管道會增加多少延遲時間
這個欄位不得出現在 選用。 移除時間:20
|
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
|
9 |
processing_delay |
zx/Duration
|
如有加入,則該驅動程式庫的最佳預估結果 (根據目前設定,包括 客戶判斷 最短前置時間 (播放時) 和最短拍攝延遲時間 (拍攝時)。 針對 選用。 新增:20
|
端點
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element
的參數 (type
等於 ENDPOINT
)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
type |
EndpointType
|
指定端點代表的內容, 必填。 |
2 |
plug_detect_capabilities |
PlugDetectCapabilities
|
插電偵測功能。 必填。 |
EndpointElementState
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
Element
的狀態為 type
等於 ENDPOINT
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
plug_state |
PlugState
|
如果納入這個端點的插座偵測狀態, 伺服器需要。 |
等化器
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Element
的參數 (type
等於 EQUALIZER
)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
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 中定義的
等化器錶帶的參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
此錶帶的專屬 ID,只需在對應的
必填。 |
EqualizerBandState
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Element
中單一錶帶的狀態,type
等於 EQUALIZER
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
uint64
|
錶帶的專屬 ID。必須與 必填。 |
2 |
type |
EqualizerBandType
|
錶帶類型。 選用。 |
3 |
frequency |
uint32
|
錶帶的中心頻率。 選用。 |
4 |
q |
float32
|
品質因素,通常以「Q」表示。 用於表示頻率轉換的頻率有多長。Q 值越高,表示越窄 凹槽/高音以及燉切/剪接頭。必須為正數。 選用。 |
5 |
gain_db |
float32
|
增加 分貝。 選填,但 |
6 |
enabled |
bool
|
啟用/停用錶帶。系統預設會啟用所有頻帶。
將 選用。 |
EqualizerElementState
在 fuchsia.hardware.audio.signalprocessing/equalizer.fidl 中定義的
Element
的狀態 (type
等於 EQUALIZER
)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
bands_state |
vector<EqualizerBandState>[64]
|
必填。 移除時間:20
|
2 |
band_states |
vector<EqualizerBandState>[64]
|
必填。 新增:20
|
增益
定義於 fuchsia.hardware.audio.signalprocessing/gain.fidl
Element
的參數 (type
等於 GAIN
)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
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
Element
的狀態為 type
等於 GAIN
。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
gain |
float32
|
目前漲幅 ( 必填。 |
PlugState
在 fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl 中定義
互連網路的插頭狀態。
如果驅動程式庫回報 plug_detect_capabilities
等於 HARDWIRED,則驅動程式庫應
只有在首次針對特定互連網路呼叫 WatchElementState
時,才會回應,
plugged
已設為 true,plug_state_time
則設為「0」。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
plugged |
bool
|
指出互連網路目前是否插入。 必要 |
2 |
plug_state_time |
zx/Time
|
表示使用 必填。 |
SettableElementState
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
處理用戶端可設定的元素狀態。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
type_specific |
SettableTypeSpecificElementState
|
處理元素的類型專屬狀態參數。 如果這個處理元素已停用,且提供了其類型專屬狀態,那麼
類型專屬狀態只是資訊,例如 如未設定,元素先前的 對動態、等化器、獲利以及供應商特定類型而言則為選用。 如果加入任何其他元素類型,則無效。 |
2 |
vendor_specific_data |
vector<uint8>[4096]
|
如有包含,這是用來交換供應商特定資訊的不透明八位元物件。 系統可能會將供應商專屬資料傳送至任何元素,而不只是供應商專屬類型。 選用。 新增時間:HEAD
|
3 |
started |
bool
|
是否啟動這個處理元素 (如為 false,則停止)。 停止處理的元素並不提供抽象的功能。 具體來說,沒有任何音訊資料透過停止的元素傳輸。 如果對應的 選用。 |
4 |
bypassed |
bool
|
是否略過這個處理元素 (如果為 false,則啟用/「略過」。 略過的元素不會影響拓撲間的音訊流動。 具體來說,音訊會透過元素傳遞,且不會有任何變化。 如果對應的 選用。 |
拓撲學
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Topology
會指定在硬體中排列單一處理元素的方式。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
TopologyId
|
這個拓撲的專屬 ID。這個 ID 的範圍僅在 必填。 |
2 |
processing_elements_edge_pairs |
vector<EdgePair>[64]
|
依序處理元素邊緣配對的向量。
邊緣組合形式管道的處理元素順序。
如要定義多個可能的管道,請在 必填。 |
VendorSpecific
定義於 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl
Element
的參數 (type
等於 VENDOR_SPECIFIC
)。
Ordinal | 欄位 | 類型 | 說明 |
---|
VendorSpecificState
定義於 fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl
Element
的狀態為 type
等於 VENDOR_SPECIFIC
。
Ordinal | 欄位 | 類型 | 說明 |
---|
聯合國
延遲時間彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
latency_time |
zx/Duration
|
延遲時間已新增為 zx.Duration 管道的延遲時間。 |
2 |
latency_frames |
uint32
|
以影格數的形式新增至管道的延遲時間。 |
Reader_GetElements_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Reader_GetElements_Response
|
|
2 |
err |
zx/Status
|
Reader_GetTopologies_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Reader_GetTopologies_Response
|
|
2 |
err |
zx/Status
|
SettableTypeSpecificElementState 彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
特定類型處理元素狀態,可由用戶端設定。
處理元素控制項的類型是由此
聯集。必須與ElementType
對應 Element
。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecificState
|
|
2 |
gain |
GainElementState
|
|
3 |
equalizer |
EqualizerElementState
|
|
4 |
dynamics |
DynamicsElementState
|
SignalProcessing_SetElementState_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SignalProcessing_SetElementState_Response
|
|
2 |
err |
zx/Status
|
SignalProcessing_SetTopology_Result 嚴格
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
SignalProcessing_SetTopology_Response
|
|
2 |
err |
zx/Status
|
TypeSpecificElement 彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
Element
的類型專屬參數。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecific
|
|
2 |
gain |
Gain
|
|
3 |
equalizer |
Equalizer
|
|
4 |
dynamics |
Dynamics
|
|
5 |
endpoint |
Endpoint
|
移除:20 新增:12
|
6 |
dai_interconnect |
DaiInterconnect
|
新增:20
|
TypeSpecificElementState 彈性
在 fuchsia.hardware.audio.signalprocessing/signal_processing.fidl 中定義的
特定類型處理元素狀態。
處理元素控制項的類型是由此
聯集。必須與ElementType
對應 Element
。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
vendor_specific |
VendorSpecificState
|
|
2 |
gain |
GainElementState
|
|
3 |
equalizer |
EqualizerElementState
|
|
4 |
dynamics |
DynamicsElementState
|
|
5 |
endpoint |
EndpointElementState
|
移除:20 新增:12
|
6 |
dai_interconnect |
DaiInterconnectElementState
|
新增:20
|
商業智慧
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
|
等化器支援控制項 (彈性)
類型: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
|
頻道 |