PipeWire: raw.h Source File

PipeWire 0.3.34

audio/raw.h
Go to the documentation of this file.
1 /* Simple Plugin API
2 *
3 * Copyright © 2018 Wim Taymans
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25 #ifndef SPA_AUDIO_RAW_H
26 #define SPA_AUDIO_RAW_H
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 #include <stdint.h>
33
34 #ifndef __FreeBSD__
35 #include <endian.h>
36 #endif
37
43 #define SPA_AUDIO_MAX_CHANNELS 64u
44
45 enum spa_audio_format {
46 SPA_AUDIO_FORMAT_UNKNOWN,
47 SPA_AUDIO_FORMAT_ENCODED,
48
49 /* interleaved formats */
50 SPA_AUDIO_FORMAT_START_Interleaved = 0x100,
51 SPA_AUDIO_FORMAT_S8,
52 SPA_AUDIO_FORMAT_U8,
53 SPA_AUDIO_FORMAT_S16_LE,
54 SPA_AUDIO_FORMAT_S16_BE,
55 SPA_AUDIO_FORMAT_U16_LE,
56 SPA_AUDIO_FORMAT_U16_BE,
57 SPA_AUDIO_FORMAT_S24_32_LE,
58 SPA_AUDIO_FORMAT_S24_32_BE,
59 SPA_AUDIO_FORMAT_U24_32_LE,
60 SPA_AUDIO_FORMAT_U24_32_BE,
61 SPA_AUDIO_FORMAT_S32_LE,
62 SPA_AUDIO_FORMAT_S32_BE,
63 SPA_AUDIO_FORMAT_U32_LE,
64 SPA_AUDIO_FORMAT_U32_BE,
65 SPA_AUDIO_FORMAT_S24_LE,
66 SPA_AUDIO_FORMAT_S24_BE,
67 SPA_AUDIO_FORMAT_U24_LE,
68 SPA_AUDIO_FORMAT_U24_BE,
69 SPA_AUDIO_FORMAT_S20_LE,
70 SPA_AUDIO_FORMAT_S20_BE,
71 SPA_AUDIO_FORMAT_U20_LE,
72 SPA_AUDIO_FORMAT_U20_BE,
73 SPA_AUDIO_FORMAT_S18_LE,
74 SPA_AUDIO_FORMAT_S18_BE,
75 SPA_AUDIO_FORMAT_U18_LE,
76 SPA_AUDIO_FORMAT_U18_BE,
77 SPA_AUDIO_FORMAT_F32_LE,
78 SPA_AUDIO_FORMAT_F32_BE,
79 SPA_AUDIO_FORMAT_F64_LE,
80 SPA_AUDIO_FORMAT_F64_BE,
81
82 SPA_AUDIO_FORMAT_ULAW,
83 SPA_AUDIO_FORMAT_ALAW,
84
85 /* planar formats */
86 SPA_AUDIO_FORMAT_START_Planar = 0x200,
87 SPA_AUDIO_FORMAT_U8P,
88 SPA_AUDIO_FORMAT_S16P,
89 SPA_AUDIO_FORMAT_S24_32P,
90 SPA_AUDIO_FORMAT_S32P,
91 SPA_AUDIO_FORMAT_S24P,
92 SPA_AUDIO_FORMAT_F32P,
93 SPA_AUDIO_FORMAT_F64P,
94 SPA_AUDIO_FORMAT_S8P,
95
96 /* other formats start here */
97 SPA_AUDIO_FORMAT_START_Other = 0x400,
98
99 /* Aliases */
100
101 /* DSP formats */
102 SPA_AUDIO_FORMAT_DSP_S32 = SPA_AUDIO_FORMAT_S24_32P,
103 SPA_AUDIO_FORMAT_DSP_F32 = SPA_AUDIO_FORMAT_F32P,
104 SPA_AUDIO_FORMAT_DSP_F64 = SPA_AUDIO_FORMAT_F64P,
105
106 /* native endian */
107 #if __BYTE_ORDER == __BIG_ENDIAN
108 SPA_AUDIO_FORMAT_S16 = SPA_AUDIO_FORMAT_S16_BE,
109 SPA_AUDIO_FORMAT_U16 = SPA_AUDIO_FORMAT_U16_BE,
110 SPA_AUDIO_FORMAT_S24_32 = SPA_AUDIO_FORMAT_S24_32_BE,
111 SPA_AUDIO_FORMAT_U24_32 = SPA_AUDIO_FORMAT_U24_32_BE,
112 SPA_AUDIO_FORMAT_S32 = SPA_AUDIO_FORMAT_S32_BE,
113 SPA_AUDIO_FORMAT_U32 = SPA_AUDIO_FORMAT_U32_BE,
114 SPA_AUDIO_FORMAT_S24 = SPA_AUDIO_FORMAT_S24_BE,
115 SPA_AUDIO_FORMAT_U24 = SPA_AUDIO_FORMAT_U24_BE,
116 SPA_AUDIO_FORMAT_S20 = SPA_AUDIO_FORMAT_S20_BE,
117 SPA_AUDIO_FORMAT_U20 = SPA_AUDIO_FORMAT_U20_BE,
118 SPA_AUDIO_FORMAT_S18 = SPA_AUDIO_FORMAT_S18_BE,
119 SPA_AUDIO_FORMAT_U18 = SPA_AUDIO_FORMAT_U18_BE,
120 SPA_AUDIO_FORMAT_F32 = SPA_AUDIO_FORMAT_F32_BE,
121 SPA_AUDIO_FORMAT_F64 = SPA_AUDIO_FORMAT_F64_BE,
122 SPA_AUDIO_FORMAT_S16_OE = SPA_AUDIO_FORMAT_S16_LE,
123 SPA_AUDIO_FORMAT_U16_OE = SPA_AUDIO_FORMAT_U16_LE,
124 SPA_AUDIO_FORMAT_S24_32_OE = SPA_AUDIO_FORMAT_S24_32_LE,
125 SPA_AUDIO_FORMAT_U24_32_OE = SPA_AUDIO_FORMAT_U24_32_LE,
126 SPA_AUDIO_FORMAT_S32_OE = SPA_AUDIO_FORMAT_S32_LE,
127 SPA_AUDIO_FORMAT_U32_OE = SPA_AUDIO_FORMAT_U32_LE,
128 SPA_AUDIO_FORMAT_S24_OE = SPA_AUDIO_FORMAT_S24_LE,
129 SPA_AUDIO_FORMAT_U24_OE = SPA_AUDIO_FORMAT_U24_LE,
130 SPA_AUDIO_FORMAT_S20_OE = SPA_AUDIO_FORMAT_S20_LE,
131 SPA_AUDIO_FORMAT_U20_OE = SPA_AUDIO_FORMAT_U20_LE,
132 SPA_AUDIO_FORMAT_S18_OE = SPA_AUDIO_FORMAT_S18_LE,
133 SPA_AUDIO_FORMAT_U18_OE = SPA_AUDIO_FORMAT_U18_LE,
134 SPA_AUDIO_FORMAT_F32_OE = SPA_AUDIO_FORMAT_F32_LE,
135 SPA_AUDIO_FORMAT_F64_OE = SPA_AUDIO_FORMAT_F64_LE,
136 #elif __BYTE_ORDER == __LITTLE_ENDIAN
137 SPA_AUDIO_FORMAT_S16 = SPA_AUDIO_FORMAT_S16_LE,
138 SPA_AUDIO_FORMAT_U16 = SPA_AUDIO_FORMAT_U16_LE,
139 SPA_AUDIO_FORMAT_S24_32 = SPA_AUDIO_FORMAT_S24_32_LE,
140 SPA_AUDIO_FORMAT_U24_32 = SPA_AUDIO_FORMAT_U24_32_LE,
141 SPA_AUDIO_FORMAT_S32 = SPA_AUDIO_FORMAT_S32_LE,
142 SPA_AUDIO_FORMAT_U32 = SPA_AUDIO_FORMAT_U32_LE,
143 SPA_AUDIO_FORMAT_S24 = SPA_AUDIO_FORMAT_S24_LE,
144 SPA_AUDIO_FORMAT_U24 = SPA_AUDIO_FORMAT_U24_LE,
145 SPA_AUDIO_FORMAT_S20 = SPA_AUDIO_FORMAT_S20_LE,
146 SPA_AUDIO_FORMAT_U20 = SPA_AUDIO_FORMAT_U20_LE,
147 SPA_AUDIO_FORMAT_S18 = SPA_AUDIO_FORMAT_S18_LE,
148 SPA_AUDIO_FORMAT_U18 = SPA_AUDIO_FORMAT_U18_LE,
149 SPA_AUDIO_FORMAT_F32 = SPA_AUDIO_FORMAT_F32_LE,
150 SPA_AUDIO_FORMAT_F64 = SPA_AUDIO_FORMAT_F64_LE,
151 SPA_AUDIO_FORMAT_S16_OE = SPA_AUDIO_FORMAT_S16_BE,
152 SPA_AUDIO_FORMAT_U16_OE = SPA_AUDIO_FORMAT_U16_BE,
153 SPA_AUDIO_FORMAT_S24_32_OE = SPA_AUDIO_FORMAT_S24_32_BE,
154 SPA_AUDIO_FORMAT_U24_32_OE = SPA_AUDIO_FORMAT_U24_32_BE,
155 SPA_AUDIO_FORMAT_S32_OE = SPA_AUDIO_FORMAT_S32_BE,
156 SPA_AUDIO_FORMAT_U32_OE = SPA_AUDIO_FORMAT_U32_BE,
157 SPA_AUDIO_FORMAT_S24_OE = SPA_AUDIO_FORMAT_S24_BE,
158 SPA_AUDIO_FORMAT_U24_OE = SPA_AUDIO_FORMAT_U24_BE,
159 SPA_AUDIO_FORMAT_S20_OE = SPA_AUDIO_FORMAT_S20_BE,
160 SPA_AUDIO_FORMAT_U20_OE = SPA_AUDIO_FORMAT_U20_BE,
161 SPA_AUDIO_FORMAT_S18_OE = SPA_AUDIO_FORMAT_S18_BE,
162 SPA_AUDIO_FORMAT_U18_OE = SPA_AUDIO_FORMAT_U18_BE,
163 SPA_AUDIO_FORMAT_F32_OE = SPA_AUDIO_FORMAT_F32_BE,
164 SPA_AUDIO_FORMAT_F64_OE = SPA_AUDIO_FORMAT_F64_BE,
165 #endif
166 };
167
168 #define SPA_AUDIO_FORMAT_IS_INTERLEAVED(fmt) ((fmt) > SPA_AUDIO_FORMAT_START_Interleaved && (fmt) < SPA_AUDIO_FORMAT_START_Planar)
169 #define SPA_AUDIO_FORMAT_IS_PLANAR(fmt) ((fmt) > SPA_AUDIO_FORMAT_START_Planar && (fmt) < SPA_AUDIO_FORMAT_START_Other)
170
171 enum spa_audio_channel {
172 SPA_AUDIO_CHANNEL_UNKNOWN,
173 SPA_AUDIO_CHANNEL_NA,
175 SPA_AUDIO_CHANNEL_MONO,
177 SPA_AUDIO_CHANNEL_FL,
178 SPA_AUDIO_CHANNEL_FR,
179 SPA_AUDIO_CHANNEL_FC,
180 SPA_AUDIO_CHANNEL_LFE,
181 SPA_AUDIO_CHANNEL_SL,
182 SPA_AUDIO_CHANNEL_SR,
183 SPA_AUDIO_CHANNEL_FLC,
184 SPA_AUDIO_CHANNEL_FRC,
185 SPA_AUDIO_CHANNEL_RC,
186 SPA_AUDIO_CHANNEL_RL,
187 SPA_AUDIO_CHANNEL_RR,
188 SPA_AUDIO_CHANNEL_TC,
189 SPA_AUDIO_CHANNEL_TFL,
190 SPA_AUDIO_CHANNEL_TFC,
191 SPA_AUDIO_CHANNEL_TFR,
192 SPA_AUDIO_CHANNEL_TRL,
193 SPA_AUDIO_CHANNEL_TRC,
194 SPA_AUDIO_CHANNEL_TRR,
195 SPA_AUDIO_CHANNEL_RLC,
196 SPA_AUDIO_CHANNEL_RRC,
197 SPA_AUDIO_CHANNEL_FLW,
198 SPA_AUDIO_CHANNEL_FRW,
199 SPA_AUDIO_CHANNEL_LFE2,
200 SPA_AUDIO_CHANNEL_FLH,
201 SPA_AUDIO_CHANNEL_FCH,
202 SPA_AUDIO_CHANNEL_FRH,
203 SPA_AUDIO_CHANNEL_TFLC,
204 SPA_AUDIO_CHANNEL_TFRC,
205 SPA_AUDIO_CHANNEL_TSL,
206 SPA_AUDIO_CHANNEL_TSR,
207 SPA_AUDIO_CHANNEL_LLFE,
208 SPA_AUDIO_CHANNEL_RLFE,
209 SPA_AUDIO_CHANNEL_BC,
210 SPA_AUDIO_CHANNEL_BLC,
211 SPA_AUDIO_CHANNEL_BRC,
213 SPA_AUDIO_CHANNEL_START_Aux = 0x1000,
214 SPA_AUDIO_CHANNEL_AUX0 = SPA_AUDIO_CHANNEL_START_Aux,
215 SPA_AUDIO_CHANNEL_AUX1,
216 SPA_AUDIO_CHANNEL_AUX2,
217 SPA_AUDIO_CHANNEL_AUX3,
218 SPA_AUDIO_CHANNEL_AUX4,
219 SPA_AUDIO_CHANNEL_AUX5,
220 SPA_AUDIO_CHANNEL_AUX6,
221 SPA_AUDIO_CHANNEL_AUX7,
222 SPA_AUDIO_CHANNEL_AUX8,
223 SPA_AUDIO_CHANNEL_AUX9,
224 SPA_AUDIO_CHANNEL_AUX10,
225 SPA_AUDIO_CHANNEL_AUX11,
226 SPA_AUDIO_CHANNEL_AUX12,
227 SPA_AUDIO_CHANNEL_AUX13,
228 SPA_AUDIO_CHANNEL_AUX14,
229 SPA_AUDIO_CHANNEL_AUX15,
230 SPA_AUDIO_CHANNEL_AUX16,
231 SPA_AUDIO_CHANNEL_AUX17,
232 SPA_AUDIO_CHANNEL_AUX18,
233 SPA_AUDIO_CHANNEL_AUX19,
234 SPA_AUDIO_CHANNEL_AUX20,
235 SPA_AUDIO_CHANNEL_AUX21,
236 SPA_AUDIO_CHANNEL_AUX22,
237 SPA_AUDIO_CHANNEL_AUX23,
238 SPA_AUDIO_CHANNEL_AUX24,
239 SPA_AUDIO_CHANNEL_AUX25,
240 SPA_AUDIO_CHANNEL_AUX26,
241 SPA_AUDIO_CHANNEL_AUX27,
242 SPA_AUDIO_CHANNEL_AUX28,
243 SPA_AUDIO_CHANNEL_AUX29,
244 SPA_AUDIO_CHANNEL_AUX30,
245 SPA_AUDIO_CHANNEL_AUX31,
246 SPA_AUDIO_CHANNEL_AUX32,
247 SPA_AUDIO_CHANNEL_AUX33,
248 SPA_AUDIO_CHANNEL_AUX34,
249 SPA_AUDIO_CHANNEL_AUX35,
250 SPA_AUDIO_CHANNEL_AUX36,
251 SPA_AUDIO_CHANNEL_AUX37,
252 SPA_AUDIO_CHANNEL_AUX38,
253 SPA_AUDIO_CHANNEL_AUX39,
254 SPA_AUDIO_CHANNEL_AUX40,
255 SPA_AUDIO_CHANNEL_AUX41,
256 SPA_AUDIO_CHANNEL_AUX42,
257 SPA_AUDIO_CHANNEL_AUX43,
258 SPA_AUDIO_CHANNEL_AUX44,
259 SPA_AUDIO_CHANNEL_AUX45,
260 SPA_AUDIO_CHANNEL_AUX46,
261 SPA_AUDIO_CHANNEL_AUX47,
262 SPA_AUDIO_CHANNEL_AUX48,
263 SPA_AUDIO_CHANNEL_AUX49,
264 SPA_AUDIO_CHANNEL_AUX50,
265 SPA_AUDIO_CHANNEL_AUX51,
266 SPA_AUDIO_CHANNEL_AUX52,
267 SPA_AUDIO_CHANNEL_AUX53,
268 SPA_AUDIO_CHANNEL_AUX54,
269 SPA_AUDIO_CHANNEL_AUX55,
270 SPA_AUDIO_CHANNEL_AUX56,
271 SPA_AUDIO_CHANNEL_AUX57,
272 SPA_AUDIO_CHANNEL_AUX58,
273 SPA_AUDIO_CHANNEL_AUX59,
274 SPA_AUDIO_CHANNEL_AUX60,
275 SPA_AUDIO_CHANNEL_AUX61,
276 SPA_AUDIO_CHANNEL_AUX62,
277 SPA_AUDIO_CHANNEL_AUX63,
278
279 SPA_AUDIO_CHANNEL_LAST_Aux = 0x1fff,
281 SPA_AUDIO_CHANNEL_START_Custom = 0x10000,
282 };
283
285 #define SPA_AUDIO_FLAG_NONE (0) /*< no valid flag */
286 #define SPA_AUDIO_FLAG_UNPOSITIONED (1 << 0) /*< the position array explicitly
287 * contains unpositioned channels. */
289 struct spa_audio_info_raw {
290 enum spa_audio_format format; /*< format, one of enum spa_audio_format */
291 uint32_t flags; /*< extra flags */
292 uint32_t rate; /*< sample rate */
293 uint32_t channels; /*< number of channels */
294 uint32_t position[SPA_AUDIO_MAX_CHANNELS]; /*< channel position from enum spa_audio_channel */
295 };
296
297 #define SPA_AUDIO_INFO_RAW_INIT(...) (struct spa_audio_info_raw) { __VA_ARGS__ }
298
299 #define SPA_KEY_AUDIO_FORMAT "audio.format"
301 #define SPA_KEY_AUDIO_CHANNEL "audio.channel"
303 #define SPA_KEY_AUDIO_CHANNELS "audio.channels"
304 #define SPA_KEY_AUDIO_RATE "audio.rate"
305 #define SPA_KEY_AUDIO_POSITION "audio.position"
308 struct spa_audio_info_dsp {
309 enum spa_audio_format format; /*< format, one of the DSP formats in enum spa_audio_format_dsp */
310 };
311
312 #define SPA_AUDIO_INFO_DSP_INIT(...) (struct spa_audio_info_dsp) { __VA_ARGS__ }
313
318 #ifdef __cplusplus
319 } /* extern "C" */
320 #endif
321
322 #endif /* SPA_AUDIO_RAW_H */
spa_audio_channel
spa_audio_channel
Definition: audio/raw.h:171
spa_audio_format
spa_audio_format
Definition: audio/raw.h:45
SPA_AUDIO_MAX_CHANNELS
#define SPA_AUDIO_MAX_CHANNELS
Definition: audio/raw.h:43
SPA_AUDIO_CHANNEL_AUX5
@ SPA_AUDIO_CHANNEL_AUX5
Definition: audio/raw.h:219
SPA_AUDIO_CHANNEL_BC
@ SPA_AUDIO_CHANNEL_BC
bottom center
Definition: audio/raw.h:209
SPA_AUDIO_CHANNEL_FC
@ SPA_AUDIO_CHANNEL_FC
front center
Definition: audio/raw.h:179
SPA_AUDIO_CHANNEL_AUX62
@ SPA_AUDIO_CHANNEL_AUX62
Definition: audio/raw.h:276
SPA_AUDIO_CHANNEL_FLW
@ SPA_AUDIO_CHANNEL_FLW
front left wide
Definition: audio/raw.h:197
SPA_AUDIO_CHANNEL_AUX17
@ SPA_AUDIO_CHANNEL_AUX17
Definition: audio/raw.h:231
SPA_AUDIO_CHANNEL_AUX31
@ SPA_AUDIO_CHANNEL_AUX31
Definition: audio/raw.h:245
SPA_AUDIO_CHANNEL_START_Custom
@ SPA_AUDIO_CHANNEL_START_Custom
Definition: audio/raw.h:281
SPA_AUDIO_CHANNEL_FLC
@ SPA_AUDIO_CHANNEL_FLC
front left center
Definition: audio/raw.h:183
SPA_AUDIO_CHANNEL_AUX42
@ SPA_AUDIO_CHANNEL_AUX42
Definition: audio/raw.h:256
SPA_AUDIO_CHANNEL_TFLC
@ SPA_AUDIO_CHANNEL_TFLC
top front left center
Definition: audio/raw.h:203
SPA_AUDIO_CHANNEL_TFRC
@ SPA_AUDIO_CHANNEL_TFRC
top front right center
Definition: audio/raw.h:204
SPA_AUDIO_CHANNEL_AUX0
@ SPA_AUDIO_CHANNEL_AUX0
Definition: audio/raw.h:214
SPA_AUDIO_CHANNEL_AUX25
@ SPA_AUDIO_CHANNEL_AUX25
Definition: audio/raw.h:239
SPA_AUDIO_CHANNEL_AUX27
@ SPA_AUDIO_CHANNEL_AUX27
Definition: audio/raw.h:241
SPA_AUDIO_CHANNEL_AUX60
@ SPA_AUDIO_CHANNEL_AUX60
Definition: audio/raw.h:274
SPA_AUDIO_CHANNEL_BRC
@ SPA_AUDIO_CHANNEL_BRC
bottom right center
Definition: audio/raw.h:211
SPA_AUDIO_CHANNEL_AUX50
@ SPA_AUDIO_CHANNEL_AUX50
Definition: audio/raw.h:264
SPA_AUDIO_CHANNEL_AUX63
@ SPA_AUDIO_CHANNEL_AUX63
Definition: audio/raw.h:277
SPA_AUDIO_CHANNEL_AUX53
@ SPA_AUDIO_CHANNEL_AUX53
Definition: audio/raw.h:267
SPA_AUDIO_CHANNEL_AUX34
@ SPA_AUDIO_CHANNEL_AUX34
Definition: audio/raw.h:248
SPA_AUDIO_CHANNEL_AUX3
@ SPA_AUDIO_CHANNEL_AUX3
Definition: audio/raw.h:217
SPA_AUDIO_CHANNEL_FR
@ SPA_AUDIO_CHANNEL_FR
front right
Definition: audio/raw.h:178
SPA_AUDIO_CHANNEL_AUX43
@ SPA_AUDIO_CHANNEL_AUX43
Definition: audio/raw.h:257
SPA_AUDIO_CHANNEL_AUX46
@ SPA_AUDIO_CHANNEL_AUX46
Definition: audio/raw.h:260
SPA_AUDIO_CHANNEL_AUX57
@ SPA_AUDIO_CHANNEL_AUX57
Definition: audio/raw.h:271
SPA_AUDIO_CHANNEL_RLFE
@ SPA_AUDIO_CHANNEL_RLFE
right LFE
Definition: audio/raw.h:208
SPA_AUDIO_CHANNEL_AUX56
@ SPA_AUDIO_CHANNEL_AUX56
Definition: audio/raw.h:270
SPA_AUDIO_CHANNEL_AUX52
@ SPA_AUDIO_CHANNEL_AUX52
Definition: audio/raw.h:266
SPA_AUDIO_CHANNEL_AUX10
@ SPA_AUDIO_CHANNEL_AUX10
Definition: audio/raw.h:224
SPA_AUDIO_CHANNEL_AUX33
@ SPA_AUDIO_CHANNEL_AUX33
Definition: audio/raw.h:247
SPA_AUDIO_CHANNEL_AUX12
@ SPA_AUDIO_CHANNEL_AUX12
Definition: audio/raw.h:226
SPA_AUDIO_CHANNEL_BLC
@ SPA_AUDIO_CHANNEL_BLC
bottom left center
Definition: audio/raw.h:210
SPA_AUDIO_CHANNEL_AUX6
@ SPA_AUDIO_CHANNEL_AUX6
Definition: audio/raw.h:220
SPA_AUDIO_CHANNEL_AUX23
@ SPA_AUDIO_CHANNEL_AUX23
Definition: audio/raw.h:237
SPA_AUDIO_CHANNEL_TRC
@ SPA_AUDIO_CHANNEL_TRC
top rear center
Definition: audio/raw.h:193
SPA_AUDIO_CHANNEL_AUX48
@ SPA_AUDIO_CHANNEL_AUX48
Definition: audio/raw.h:262
SPA_AUDIO_CHANNEL_AUX13
@ SPA_AUDIO_CHANNEL_AUX13
Definition: audio/raw.h:227
SPA_AUDIO_CHANNEL_START_Aux
@ SPA_AUDIO_CHANNEL_START_Aux
aux channels
Definition: audio/raw.h:213
SPA_AUDIO_CHANNEL_TFC
@ SPA_AUDIO_CHANNEL_TFC
top front center
Definition: audio/raw.h:190
SPA_AUDIO_CHANNEL_TFR
@ SPA_AUDIO_CHANNEL_TFR
top front right
Definition: audio/raw.h:191
SPA_AUDIO_CHANNEL_AUX61
@ SPA_AUDIO_CHANNEL_AUX61
Definition: audio/raw.h:275
SPA_AUDIO_CHANNEL_AUX28
@ SPA_AUDIO_CHANNEL_AUX28
Definition: audio/raw.h:242
SPA_AUDIO_CHANNEL_AUX30
@ SPA_AUDIO_CHANNEL_AUX30
Definition: audio/raw.h:244
SPA_AUDIO_CHANNEL_RLC
@ SPA_AUDIO_CHANNEL_RLC
rear left center
Definition: audio/raw.h:195
SPA_AUDIO_CHANNEL_LFE2
@ SPA_AUDIO_CHANNEL_LFE2
LFE 2.
Definition: audio/raw.h:199
SPA_AUDIO_CHANNEL_AUX35
@ SPA_AUDIO_CHANNEL_AUX35
Definition: audio/raw.h:249
SPA_AUDIO_CHANNEL_AUX2
@ SPA_AUDIO_CHANNEL_AUX2
Definition: audio/raw.h:216
SPA_AUDIO_CHANNEL_RR
@ SPA_AUDIO_CHANNEL_RR
rear right
Definition: audio/raw.h:187
SPA_AUDIO_CHANNEL_TRL
@ SPA_AUDIO_CHANNEL_TRL
top rear left
Definition: audio/raw.h:192
SPA_AUDIO_CHANNEL_AUX7
@ SPA_AUDIO_CHANNEL_AUX7
Definition: audio/raw.h:221
SPA_AUDIO_CHANNEL_AUX44
@ SPA_AUDIO_CHANNEL_AUX44
Definition: audio/raw.h:258
SPA_AUDIO_CHANNEL_LLFE
@ SPA_AUDIO_CHANNEL_LLFE
left LFE
Definition: audio/raw.h:207
SPA_AUDIO_CHANNEL_AUX41
@ SPA_AUDIO_CHANNEL_AUX41
Definition: audio/raw.h:255
SPA_AUDIO_CHANNEL_AUX8
@ SPA_AUDIO_CHANNEL_AUX8
Definition: audio/raw.h:222
SPA_AUDIO_CHANNEL_AUX39
@ SPA_AUDIO_CHANNEL_AUX39
Definition: audio/raw.h:253
SPA_AUDIO_CHANNEL_AUX54
@ SPA_AUDIO_CHANNEL_AUX54
Definition: audio/raw.h:268
SPA_AUDIO_CHANNEL_AUX19
@ SPA_AUDIO_CHANNEL_AUX19
Definition: audio/raw.h:233
SPA_AUDIO_CHANNEL_AUX59
@ SPA_AUDIO_CHANNEL_AUX59
Definition: audio/raw.h:273
SPA_AUDIO_CHANNEL_TRR
@ SPA_AUDIO_CHANNEL_TRR
top rear right
Definition: audio/raw.h:194
SPA_AUDIO_CHANNEL_UNKNOWN
@ SPA_AUDIO_CHANNEL_UNKNOWN
unspecified
Definition: audio/raw.h:172
SPA_AUDIO_CHANNEL_RL
@ SPA_AUDIO_CHANNEL_RL
rear left
Definition: audio/raw.h:186
SPA_AUDIO_CHANNEL_AUX37
@ SPA_AUDIO_CHANNEL_AUX37
Definition: audio/raw.h:251
SPA_AUDIO_CHANNEL_AUX21
@ SPA_AUDIO_CHANNEL_AUX21
Definition: audio/raw.h:235
SPA_AUDIO_CHANNEL_AUX38
@ SPA_AUDIO_CHANNEL_AUX38
Definition: audio/raw.h:252
SPA_AUDIO_CHANNEL_AUX58
@ SPA_AUDIO_CHANNEL_AUX58
Definition: audio/raw.h:272
SPA_AUDIO_CHANNEL_AUX4
@ SPA_AUDIO_CHANNEL_AUX4
Definition: audio/raw.h:218
SPA_AUDIO_CHANNEL_NA
@ SPA_AUDIO_CHANNEL_NA
N/A, silent.
Definition: audio/raw.h:173
SPA_AUDIO_CHANNEL_TSL
@ SPA_AUDIO_CHANNEL_TSL
top side left
Definition: audio/raw.h:205
SPA_AUDIO_CHANNEL_LFE
@ SPA_AUDIO_CHANNEL_LFE
LFE.
Definition: audio/raw.h:180
SPA_AUDIO_CHANNEL_SR
@ SPA_AUDIO_CHANNEL_SR
side right
Definition: audio/raw.h:182
SPA_AUDIO_CHANNEL_FCH
@ SPA_AUDIO_CHANNEL_FCH
front center high
Definition: audio/raw.h:201
SPA_AUDIO_CHANNEL_AUX45
@ SPA_AUDIO_CHANNEL_AUX45
Definition: audio/raw.h:259
SPA_AUDIO_CHANNEL_LAST_Aux
@ SPA_AUDIO_CHANNEL_LAST_Aux
aux channels
Definition: audio/raw.h:279
SPA_AUDIO_CHANNEL_TSR
@ SPA_AUDIO_CHANNEL_TSR
top side right
Definition: audio/raw.h:206
SPA_AUDIO_CHANNEL_TFL
@ SPA_AUDIO_CHANNEL_TFL
top front left
Definition: audio/raw.h:189
SPA_AUDIO_CHANNEL_AUX9
@ SPA_AUDIO_CHANNEL_AUX9
Definition: audio/raw.h:223
SPA_AUDIO_CHANNEL_AUX55
@ SPA_AUDIO_CHANNEL_AUX55
Definition: audio/raw.h:269
SPA_AUDIO_CHANNEL_AUX51
@ SPA_AUDIO_CHANNEL_AUX51
Definition: audio/raw.h:265
SPA_AUDIO_CHANNEL_TC
@ SPA_AUDIO_CHANNEL_TC
top center
Definition: audio/raw.h:188
SPA_AUDIO_CHANNEL_AUX16
@ SPA_AUDIO_CHANNEL_AUX16
Definition: audio/raw.h:230
SPA_AUDIO_CHANNEL_FRC
@ SPA_AUDIO_CHANNEL_FRC
front right center
Definition: audio/raw.h:184
SPA_AUDIO_CHANNEL_RC
@ SPA_AUDIO_CHANNEL_RC
rear center
Definition: audio/raw.h:185
SPA_AUDIO_CHANNEL_AUX36
@ SPA_AUDIO_CHANNEL_AUX36
Definition: audio/raw.h:250
SPA_AUDIO_CHANNEL_AUX26
@ SPA_AUDIO_CHANNEL_AUX26
Definition: audio/raw.h:240
SPA_AUDIO_CHANNEL_AUX40
@ SPA_AUDIO_CHANNEL_AUX40
Definition: audio/raw.h:254
SPA_AUDIO_CHANNEL_FL
@ SPA_AUDIO_CHANNEL_FL
front left
Definition: audio/raw.h:177
SPA_AUDIO_CHANNEL_MONO
@ SPA_AUDIO_CHANNEL_MONO
mono stream
Definition: audio/raw.h:175
SPA_AUDIO_CHANNEL_AUX49
@ SPA_AUDIO_CHANNEL_AUX49
Definition: audio/raw.h:263
SPA_AUDIO_CHANNEL_AUX18
@ SPA_AUDIO_CHANNEL_AUX18
Definition: audio/raw.h:232
SPA_AUDIO_CHANNEL_AUX1
@ SPA_AUDIO_CHANNEL_AUX1
Definition: audio/raw.h:215
SPA_AUDIO_CHANNEL_AUX47
@ SPA_AUDIO_CHANNEL_AUX47
Definition: audio/raw.h:261
SPA_AUDIO_CHANNEL_AUX11
@ SPA_AUDIO_CHANNEL_AUX11
Definition: audio/raw.h:225
SPA_AUDIO_CHANNEL_FLH
@ SPA_AUDIO_CHANNEL_FLH
front left high
Definition: audio/raw.h:200
SPA_AUDIO_CHANNEL_AUX14
@ SPA_AUDIO_CHANNEL_AUX14
Definition: audio/raw.h:228
SPA_AUDIO_CHANNEL_AUX32
@ SPA_AUDIO_CHANNEL_AUX32
Definition: audio/raw.h:246
SPA_AUDIO_CHANNEL_FRW
@ SPA_AUDIO_CHANNEL_FRW
front right wide
Definition: audio/raw.h:198
SPA_AUDIO_CHANNEL_AUX29
@ SPA_AUDIO_CHANNEL_AUX29
Definition: audio/raw.h:243
SPA_AUDIO_CHANNEL_RRC
@ SPA_AUDIO_CHANNEL_RRC
rear right center
Definition: audio/raw.h:196
SPA_AUDIO_CHANNEL_SL
@ SPA_AUDIO_CHANNEL_SL
side left
Definition: audio/raw.h:181
SPA_AUDIO_CHANNEL_AUX15
@ SPA_AUDIO_CHANNEL_AUX15
Definition: audio/raw.h:229
SPA_AUDIO_CHANNEL_AUX24
@ SPA_AUDIO_CHANNEL_AUX24
Definition: audio/raw.h:238
SPA_AUDIO_CHANNEL_AUX20
@ SPA_AUDIO_CHANNEL_AUX20
Definition: audio/raw.h:234
SPA_AUDIO_CHANNEL_AUX22
@ SPA_AUDIO_CHANNEL_AUX22
Definition: audio/raw.h:236
SPA_AUDIO_CHANNEL_FRH
@ SPA_AUDIO_CHANNEL_FRH
front right high
Definition: audio/raw.h:202
SPA_AUDIO_FORMAT_S32
@ SPA_AUDIO_FORMAT_S32
Definition: audio/raw.h:112
SPA_AUDIO_FORMAT_F64_LE
@ SPA_AUDIO_FORMAT_F64_LE
Definition: audio/raw.h:79
SPA_AUDIO_FORMAT_U16_OE
@ SPA_AUDIO_FORMAT_U16_OE
Definition: audio/raw.h:123
SPA_AUDIO_FORMAT_F32_OE
@ SPA_AUDIO_FORMAT_F32_OE
Definition: audio/raw.h:134
SPA_AUDIO_FORMAT_U16_BE
@ SPA_AUDIO_FORMAT_U16_BE
Definition: audio/raw.h:56
SPA_AUDIO_FORMAT_S16P
@ SPA_AUDIO_FORMAT_S16P
Definition: audio/raw.h:88
SPA_AUDIO_FORMAT_U20_OE
@ SPA_AUDIO_FORMAT_U20_OE
Definition: audio/raw.h:131
SPA_AUDIO_FORMAT_U24_32_BE
@ SPA_AUDIO_FORMAT_U24_32_BE
Definition: audio/raw.h:60
SPA_AUDIO_FORMAT_U24_32
@ SPA_AUDIO_FORMAT_U24_32
Definition: audio/raw.h:111
SPA_AUDIO_FORMAT_U24_OE
@ SPA_AUDIO_FORMAT_U24_OE
Definition: audio/raw.h:129
SPA_AUDIO_FORMAT_U18_LE
@ SPA_AUDIO_FORMAT_U18_LE
Definition: audio/raw.h:75
SPA_AUDIO_FORMAT_S18_LE
@ SPA_AUDIO_FORMAT_S18_LE
Definition: audio/raw.h:73
SPA_AUDIO_FORMAT_U32_BE
@ SPA_AUDIO_FORMAT_U32_BE
Definition: audio/raw.h:64
SPA_AUDIO_FORMAT_ULAW
@ SPA_AUDIO_FORMAT_ULAW
Definition: audio/raw.h:82
SPA_AUDIO_FORMAT_U32_LE
@ SPA_AUDIO_FORMAT_U32_LE
Definition: audio/raw.h:63
SPA_AUDIO_FORMAT_S20
@ SPA_AUDIO_FORMAT_S20
Definition: audio/raw.h:116
SPA_AUDIO_FORMAT_S32_BE
@ SPA_AUDIO_FORMAT_S32_BE
Definition: audio/raw.h:62
SPA_AUDIO_FORMAT_DSP_F64
@ SPA_AUDIO_FORMAT_DSP_F64
Definition: audio/raw.h:104
SPA_AUDIO_FORMAT_F32P
@ SPA_AUDIO_FORMAT_F32P
Definition: audio/raw.h:92
SPA_AUDIO_FORMAT_S24_32_LE
@ SPA_AUDIO_FORMAT_S24_32_LE
Definition: audio/raw.h:57
SPA_AUDIO_FORMAT_S16_LE
@ SPA_AUDIO_FORMAT_S16_LE
Definition: audio/raw.h:53
SPA_AUDIO_FORMAT_S18_OE
@ SPA_AUDIO_FORMAT_S18_OE
Definition: audio/raw.h:132
SPA_AUDIO_FORMAT_F32_BE
@ SPA_AUDIO_FORMAT_F32_BE
Definition: audio/raw.h:78
SPA_AUDIO_FORMAT_F32_LE
@ SPA_AUDIO_FORMAT_F32_LE
Definition: audio/raw.h:77
SPA_AUDIO_FORMAT_U18_OE
@ SPA_AUDIO_FORMAT_U18_OE
Definition: audio/raw.h:133
SPA_AUDIO_FORMAT_START_Planar
@ SPA_AUDIO_FORMAT_START_Planar
Definition: audio/raw.h:86
SPA_AUDIO_FORMAT_START_Interleaved
@ SPA_AUDIO_FORMAT_START_Interleaved
Definition: audio/raw.h:50
SPA_AUDIO_FORMAT_U32
@ SPA_AUDIO_FORMAT_U32
Definition: audio/raw.h:113
SPA_AUDIO_FORMAT_S16_OE
@ SPA_AUDIO_FORMAT_S16_OE
Definition: audio/raw.h:122
SPA_AUDIO_FORMAT_S32_OE
@ SPA_AUDIO_FORMAT_S32_OE
Definition: audio/raw.h:126
SPA_AUDIO_FORMAT_U24_BE
@ SPA_AUDIO_FORMAT_U24_BE
Definition: audio/raw.h:68
SPA_AUDIO_FORMAT_U24_LE
@ SPA_AUDIO_FORMAT_U24_LE
Definition: audio/raw.h:67
SPA_AUDIO_FORMAT_U18_BE
@ SPA_AUDIO_FORMAT_U18_BE
Definition: audio/raw.h:76
SPA_AUDIO_FORMAT_S20_BE
@ SPA_AUDIO_FORMAT_S20_BE
Definition: audio/raw.h:70
SPA_AUDIO_FORMAT_U24_32_LE
@ SPA_AUDIO_FORMAT_U24_32_LE
Definition: audio/raw.h:59
SPA_AUDIO_FORMAT_U20_LE
@ SPA_AUDIO_FORMAT_U20_LE
Definition: audio/raw.h:71
SPA_AUDIO_FORMAT_S24P
@ SPA_AUDIO_FORMAT_S24P
Definition: audio/raw.h:91
SPA_AUDIO_FORMAT_S32_LE
@ SPA_AUDIO_FORMAT_S32_LE
Definition: audio/raw.h:61
SPA_AUDIO_FORMAT_DSP_F32
@ SPA_AUDIO_FORMAT_DSP_F32
Definition: audio/raw.h:103
SPA_AUDIO_FORMAT_S24_32P
@ SPA_AUDIO_FORMAT_S24_32P
Definition: audio/raw.h:89
SPA_AUDIO_FORMAT_S20_OE
@ SPA_AUDIO_FORMAT_S20_OE
Definition: audio/raw.h:130
SPA_AUDIO_FORMAT_S8P
@ SPA_AUDIO_FORMAT_S8P
Definition: audio/raw.h:94
SPA_AUDIO_FORMAT_U24
@ SPA_AUDIO_FORMAT_U24
Definition: audio/raw.h:115
SPA_AUDIO_FORMAT_START_Other
@ SPA_AUDIO_FORMAT_START_Other
Definition: audio/raw.h:97
SPA_AUDIO_FORMAT_UNKNOWN
@ SPA_AUDIO_FORMAT_UNKNOWN
Definition: audio/raw.h:46
SPA_AUDIO_FORMAT_F64_BE
@ SPA_AUDIO_FORMAT_F64_BE
Definition: audio/raw.h:80
SPA_AUDIO_FORMAT_F64P
@ SPA_AUDIO_FORMAT_F64P
Definition: audio/raw.h:93
SPA_AUDIO_FORMAT_U20
@ SPA_AUDIO_FORMAT_U20
Definition: audio/raw.h:117
SPA_AUDIO_FORMAT_S8
@ SPA_AUDIO_FORMAT_S8
Definition: audio/raw.h:51
SPA_AUDIO_FORMAT_U32_OE
@ SPA_AUDIO_FORMAT_U32_OE
Definition: audio/raw.h:127
SPA_AUDIO_FORMAT_U8
@ SPA_AUDIO_FORMAT_U8
Definition: audio/raw.h:52
SPA_AUDIO_FORMAT_U16_LE
@ SPA_AUDIO_FORMAT_U16_LE
Definition: audio/raw.h:55
SPA_AUDIO_FORMAT_S24_LE
@ SPA_AUDIO_FORMAT_S24_LE
Definition: audio/raw.h:65
SPA_AUDIO_FORMAT_DSP_S32
@ SPA_AUDIO_FORMAT_DSP_S32
Definition: audio/raw.h:102
SPA_AUDIO_FORMAT_U18
@ SPA_AUDIO_FORMAT_U18
Definition: audio/raw.h:119
SPA_AUDIO_FORMAT_U20_BE
@ SPA_AUDIO_FORMAT_U20_BE
Definition: audio/raw.h:72
SPA_AUDIO_FORMAT_S24
@ SPA_AUDIO_FORMAT_S24
Definition: audio/raw.h:114
SPA_AUDIO_FORMAT_ENCODED
@ SPA_AUDIO_FORMAT_ENCODED
Definition: audio/raw.h:47
SPA_AUDIO_FORMAT_S16_BE
@ SPA_AUDIO_FORMAT_S16_BE
Definition: audio/raw.h:54
SPA_AUDIO_FORMAT_S24_BE
@ SPA_AUDIO_FORMAT_S24_BE
Definition: audio/raw.h:66
SPA_AUDIO_FORMAT_U8P
@ SPA_AUDIO_FORMAT_U8P
Definition: audio/raw.h:87
SPA_AUDIO_FORMAT_ALAW
@ SPA_AUDIO_FORMAT_ALAW
Definition: audio/raw.h:83
SPA_AUDIO_FORMAT_S32P
@ SPA_AUDIO_FORMAT_S32P
Definition: audio/raw.h:90
SPA_AUDIO_FORMAT_S24_32_OE
@ SPA_AUDIO_FORMAT_S24_32_OE
Definition: audio/raw.h:124
SPA_AUDIO_FORMAT_U24_32_OE
@ SPA_AUDIO_FORMAT_U24_32_OE
Definition: audio/raw.h:125
SPA_AUDIO_FORMAT_S24_32_BE
@ SPA_AUDIO_FORMAT_S24_32_BE
Definition: audio/raw.h:58
SPA_AUDIO_FORMAT_S16
@ SPA_AUDIO_FORMAT_S16
Definition: audio/raw.h:108
SPA_AUDIO_FORMAT_S24_32
@ SPA_AUDIO_FORMAT_S24_32
Definition: audio/raw.h:110
SPA_AUDIO_FORMAT_F64
@ SPA_AUDIO_FORMAT_F64
Definition: audio/raw.h:121
SPA_AUDIO_FORMAT_F32
@ SPA_AUDIO_FORMAT_F32
Definition: audio/raw.h:120
SPA_AUDIO_FORMAT_S20_LE
@ SPA_AUDIO_FORMAT_S20_LE
Definition: audio/raw.h:69
SPA_AUDIO_FORMAT_S18
@ SPA_AUDIO_FORMAT_S18
Definition: audio/raw.h:118
SPA_AUDIO_FORMAT_F64_OE
@ SPA_AUDIO_FORMAT_F64_OE
Definition: audio/raw.h:135
SPA_AUDIO_FORMAT_S18_BE
@ SPA_AUDIO_FORMAT_S18_BE
Definition: audio/raw.h:74
SPA_AUDIO_FORMAT_S24_OE
@ SPA_AUDIO_FORMAT_S24_OE
Definition: audio/raw.h:128
SPA_AUDIO_FORMAT_U16
@ SPA_AUDIO_FORMAT_U16
Definition: audio/raw.h:109
spa_audio_info_dsp
Definition: audio/raw.h:307
spa_audio_info_dsp::format
enum spa_audio_format format
Definition: audio/raw.h:308
spa_audio_info_raw
Audio information description.
Definition: audio/raw.h:288
spa_audio_info_raw::format
enum spa_audio_format format
Definition: audio/raw.h:289
spa_audio_info_raw::channels
uint32_t channels
Definition: audio/raw.h:292
spa_audio_info_raw::flags
uint32_t flags
Definition: audio/raw.h:290
spa_audio_info_raw::position
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: audio/raw.h:293
spa_audio_info_raw::rate
uint32_t rate
Definition: audio/raw.h:291