Skip to content

Commit 7505687

Browse files
committed
topology2: add google-rtc-aec-capture pipeline
This aec is connected to host copier Signed-off-by: Rander Wang <[email protected]>
1 parent e886580 commit 7505687

2 files changed

Lines changed: 144 additions & 0 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# aec blob data
2+
3+
Object.Base.data."google-rtc-aec_blob" {
4+
bytes "
5+
0x53, 0x4f, 0x46, 0x34, 0x00, 0x00, 0x00, 0x00,
6+
0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
7+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
8+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
9+
10+
0x80, 0xbb, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
11+
0x10, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
12+
0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00,
13+
14+
0x80, 0xbb, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
15+
0x10, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
16+
0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00,
17+
18+
0x00, 0x00, 0x00, 0x00"
19+
}
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
#
2+
# cAVS google-rtc-aec capture pipeline
3+
#
4+
# A google-rtc-aec capture pipeline. All attributes defined herein are namespaced
5+
# by alsatplg to "Object.Pipeline.google-rtc-aec-capture.N.attribute_name"
6+
#
7+
# Usage: google-rtc-aec-capture pipeline object can be instantiated as:
8+
#
9+
# Object.Pipeline.google-rtc-aec-capture."N" {
10+
# format "s16le"
11+
# period 1000
12+
# time_domain "timer"
13+
# channels 2
14+
# rate 48000
15+
# }
16+
#
17+
# Where N is the unique pipeline ID within the same alsaconf node.
18+
#
19+
20+
<include/components/copier.conf>
21+
<include/components/pipeline.conf>
22+
<include/common/audio_format.conf>
23+
<include/components/google-rtc-aec.conf>
24+
<include/controls/bytes.conf>
25+
26+
Class.Pipeline."google-rtc-aec-capture" {
27+
28+
DefineAttribute."index" {}
29+
30+
<include/pipelines/pipeline-common.conf>
31+
32+
attributes {
33+
!constructor [
34+
"index"
35+
]
36+
37+
!immutable [
38+
"direction"
39+
]
40+
41+
#
42+
# google-rtc-aec-capture objects instantiated within the same alsaconf node must have
43+
# unique pipeline_id attribute
44+
#
45+
unique "instance"
46+
}
47+
48+
Object.Widget {
49+
pipeline."1" {
50+
priority 0
51+
lp_mode 0
52+
}
53+
54+
module-copier."1" {
55+
period_sink_count 1
56+
period_source_count 1
57+
num_audio_formats 1
58+
num_input_audio_formats 1
59+
num_output_audio_formats 1
60+
61+
Object.Base.audio_format.1 {
62+
in_bit_depth 32
63+
in_valid_bit_depth 32
64+
out_bit_depth 16
65+
out_valid_bit_depth 16
66+
}
67+
}
68+
69+
google-rtc-aec."1" {
70+
Object.Control.bytes."1" {
71+
name google-rtc-aec_blob
72+
access [
73+
tlv_read
74+
tlv_callback
75+
]
76+
77+
Object.Base.extops."extctl" {
78+
get 258
79+
put 0
80+
}
81+
max 4096
82+
83+
IncludeByKey.GOOGLE_RTC_AEC_SUPPORT {
84+
"[1]" "include/components/google-rtc-aec/rtc-aec-blob.conf"
85+
}
86+
}
87+
}
88+
89+
module-copier."2" {
90+
period_sink_count 1
91+
period_source_count 1
92+
num_audio_formats 1
93+
num_input_audio_formats 1
94+
num_output_audio_formats 1
95+
96+
Object.Base.audio_format.1 {
97+
in_bit_depth 16
98+
in_valid_bit_depth 16
99+
out_bit_depth 32
100+
out_valid_bit_depth 32
101+
}
102+
}
103+
}
104+
105+
Object.Base {
106+
route.1 {
107+
source module-copier.$index.1
108+
sink google-rtc-aec.$index.1
109+
}
110+
route.2 {
111+
source google-rtc-aec.$index.1
112+
sink module-copier.$index.2
113+
}
114+
}
115+
116+
direction "capture"
117+
dynamic_pipeline 1
118+
time_domain "timer"
119+
channels 2
120+
channels_min 2
121+
channels_max 2
122+
rate 48000
123+
rate_min 16000
124+
rate_max 48000
125+
}

0 commit comments

Comments
 (0)