PipeWire 1.2.6

Loading...
Searching...
No Matches
raw.h
Go to the documentation of this file.
1/* Simple Plugin API */
2/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef SPA_AUDIO_RAW_H
6#define SPA_AUDIO_RAW_H
7
8#ifdef __cplusplus
9 extern "C" {
10#endif
11
12#include <stdint.h>
13
14#if !defined(__FreeBSD__) && !defined(__MidnightBSD__)
15#include <endian.h>
16#endif
17
23#define SPA_AUDIO_MAX_CHANNELS 64u
24
25 enum spa_audio_format {
26 SPA_AUDIO_FORMAT_UNKNOWN,
27 SPA_AUDIO_FORMAT_ENCODED,
28
29 /* interleaved formats */
30 SPA_AUDIO_FORMAT_START_Interleaved = 0x100,
31 SPA_AUDIO_FORMAT_S8,
32 SPA_AUDIO_FORMAT_U8,
33 SPA_AUDIO_FORMAT_S16_LE,
34 SPA_AUDIO_FORMAT_S16_BE,
35 SPA_AUDIO_FORMAT_U16_LE,
36 SPA_AUDIO_FORMAT_U16_BE,
37 SPA_AUDIO_FORMAT_S24_32_LE,
38 SPA_AUDIO_FORMAT_S24_32_BE,
39 SPA_AUDIO_FORMAT_U24_32_LE,
40 SPA_AUDIO_FORMAT_U24_32_BE,
41 SPA_AUDIO_FORMAT_S32_LE,
42 SPA_AUDIO_FORMAT_S32_BE,
43 SPA_AUDIO_FORMAT_U32_LE,
44 SPA_AUDIO_FORMAT_U32_BE,
45 SPA_AUDIO_FORMAT_S24_LE,
46 SPA_AUDIO_FORMAT_S24_BE,
47 SPA_AUDIO_FORMAT_U24_LE,
48 SPA_AUDIO_FORMAT_U24_BE,
49 SPA_AUDIO_FORMAT_S20_LE,
50 SPA_AUDIO_FORMAT_S20_BE,
51 SPA_AUDIO_FORMAT_U20_LE,
52 SPA_AUDIO_FORMAT_U20_BE,
53 SPA_AUDIO_FORMAT_S18_LE,
54 SPA_AUDIO_FORMAT_S18_BE,
55 SPA_AUDIO_FORMAT_U18_LE,
56 SPA_AUDIO_FORMAT_U18_BE,
57 SPA_AUDIO_FORMAT_F32_LE,
58 SPA_AUDIO_FORMAT_F32_BE,
59 SPA_AUDIO_FORMAT_F64_LE,
60 SPA_AUDIO_FORMAT_F64_BE,
61
62 SPA_AUDIO_FORMAT_ULAW,
63 SPA_AUDIO_FORMAT_ALAW,
64
65 /* planar formats */
66 SPA_AUDIO_FORMAT_START_Planar = 0x200,
67 SPA_AUDIO_FORMAT_U8P,
68 SPA_AUDIO_FORMAT_S16P,
69 SPA_AUDIO_FORMAT_S24_32P,
70 SPA_AUDIO_FORMAT_S32P,
71 SPA_AUDIO_FORMAT_S24P,
72 SPA_AUDIO_FORMAT_F32P,
73 SPA_AUDIO_FORMAT_F64P,
74 SPA_AUDIO_FORMAT_S8P,
75
76 /* other formats start here */
77 SPA_AUDIO_FORMAT_START_Other = 0x400,
78
79 /* Aliases */
80
81 /* DSP formats */
82 SPA_AUDIO_FORMAT_DSP_S32 = SPA_AUDIO_FORMAT_S24_32P,
83 SPA_AUDIO_FORMAT_DSP_F32 = SPA_AUDIO_FORMAT_F32P,
84 SPA_AUDIO_FORMAT_DSP_F64 = SPA_AUDIO_FORMAT_F64P,
85
86 /* native endian */
87#if __BYTE_ORDER == __BIG_ENDIAN
88 SPA_AUDIO_FORMAT_S16 = SPA_AUDIO_FORMAT_S16_BE,
89 SPA_AUDIO_FORMAT_U16 = SPA_AUDIO_FORMAT_U16_BE,
90 SPA_AUDIO_FORMAT_S24_32 = SPA_AUDIO_FORMAT_S24_32_BE,
91 SPA_AUDIO_FORMAT_U24_32 = SPA_AUDIO_FORMAT_U24_32_BE,
92 SPA_AUDIO_FORMAT_S32 = SPA_AUDIO_FORMAT_S32_BE,
93 SPA_AUDIO_FORMAT_U32 = SPA_AUDIO_FORMAT_U32_BE,
94 SPA_AUDIO_FORMAT_S24 = SPA_AUDIO_FORMAT_S24_BE,
95 SPA_AUDIO_FORMAT_U24 = SPA_AUDIO_FORMAT_U24_BE,
96 SPA_AUDIO_FORMAT_S20 = SPA_AUDIO_FORMAT_S20_BE,
97 SPA_AUDIO_FORMAT_U20 = SPA_AUDIO_FORMAT_U20_BE,
98 SPA_AUDIO_FORMAT_S18 = SPA_AUDIO_FORMAT_S18_BE,
99 SPA_AUDIO_FORMAT_U18 = SPA_AUDIO_FORMAT_U18_BE,
100 SPA_AUDIO_FORMAT_F32 = SPA_AUDIO_FORMAT_F32_BE,
101 SPA_AUDIO_FORMAT_F64 = SPA_AUDIO_FORMAT_F64_BE,
102 SPA_AUDIO_FORMAT_S16_OE = SPA_AUDIO_FORMAT_S16_LE,
103 SPA_AUDIO_FORMAT_U16_OE = SPA_AUDIO_FORMAT_U16_LE,
104 SPA_AUDIO_FORMAT_S24_32_OE = SPA_AUDIO_FORMAT_S24_32_LE,
105 SPA_AUDIO_FORMAT_U24_32_OE = SPA_AUDIO_FORMAT_U24_32_LE,
106 SPA_AUDIO_FORMAT_S32_OE = SPA_AUDIO_FORMAT_S32_LE,
107 SPA_AUDIO_FORMAT_U32_OE = SPA_AUDIO_FORMAT_U32_LE,
108 SPA_AUDIO_FORMAT_S24_OE = SPA_AUDIO_FORMAT_S24_LE,
109 SPA_AUDIO_FORMAT_U24_OE = SPA_AUDIO_FORMAT_U24_LE,
110 SPA_AUDIO_FORMAT_S20_OE = SPA_AUDIO_FORMAT_S20_LE,
111 SPA_AUDIO_FORMAT_U20_OE = SPA_AUDIO_FORMAT_U20_LE,
112 SPA_AUDIO_FORMAT_S18_OE = SPA_AUDIO_FORMAT_S18_LE,
113 SPA_AUDIO_FORMAT_U18_OE = SPA_AUDIO_FORMAT_U18_LE,
114 SPA_AUDIO_FORMAT_F32_OE = SPA_AUDIO_FORMAT_F32_LE,
115 SPA_AUDIO_FORMAT_F64_OE = SPA_AUDIO_FORMAT_F64_LE,
116#elif __BYTE_ORDER == __LITTLE_ENDIAN
117 SPA_AUDIO_FORMAT_S16 = SPA_AUDIO_FORMAT_S16_LE,
118 SPA_AUDIO_FORMAT_U16 = SPA_AUDIO_FORMAT_U16_LE,
119 SPA_AUDIO_FORMAT_S24_32 = SPA_AUDIO_FORMAT_S24_32_LE,
120 SPA_AUDIO_FORMAT_U24_32 = SPA_AUDIO_FORMAT_U24_32_LE,
121 SPA_AUDIO_FORMAT_S32 = SPA_AUDIO_FORMAT_S32_LE,
122 SPA_AUDIO_FORMAT_U32 = SPA_AUDIO_FORMAT_U32_LE,
123 SPA_AUDIO_FORMAT_S24 = SPA_AUDIO_FORMAT_S24_LE,
124 SPA_AUDIO_FORMAT_U24 = SPA_AUDIO_FORMAT_U24_LE,
125 SPA_AUDIO_FORMAT_S20 = SPA_AUDIO_FORMAT_S20_LE,
126 SPA_AUDIO_FORMAT_U20 = SPA_AUDIO_FORMAT_U20_LE,
127 SPA_AUDIO_FORMAT_S18 = SPA_AUDIO_FORMAT_S18_LE,
128 SPA_AUDIO_FORMAT_U18 = SPA_AUDIO_FORMAT_U18_LE,
129 SPA_AUDIO_FORMAT_F32 = SPA_AUDIO_FORMAT_F32_LE,
130 SPA_AUDIO_FORMAT_F64 = SPA_AUDIO_FORMAT_F64_LE,
131 SPA_AUDIO_FORMAT_S16_OE = SPA_AUDIO_FORMAT_S16_BE,
132 SPA_AUDIO_FORMAT_U16_OE = SPA_AUDIO_FORMAT_U16_BE,
133 SPA_AUDIO_FORMAT_S24_32_OE = SPA_AUDIO_FORMAT_S24_32_BE,
134 SPA_AUDIO_FORMAT_U24_32_OE = SPA_AUDIO_FORMAT_U24_32_BE,
135 SPA_AUDIO_FORMAT_S32_OE = SPA_AUDIO_FORMAT_S32_BE,
136 SPA_AUDIO_FORMAT_U32_OE = SPA_AUDIO_FORMAT_U32_BE,
137 SPA_AUDIO_FORMAT_S24_OE = SPA_AUDIO_FORMAT_S24_BE,
138 SPA_AUDIO_FORMAT_U24_OE = SPA_AUDIO_FORMAT_U24_BE,
139 SPA_AUDIO_FORMAT_S20_OE = SPA_AUDIO_FORMAT_S20_BE,
140 SPA_AUDIO_FORMAT_U20_OE = SPA_AUDIO_FORMAT_U20_BE,
141 SPA_AUDIO_FORMAT_S18_OE = SPA_AUDIO_FORMAT_S18_BE,
142 SPA_AUDIO_FORMAT_U18_OE = SPA_AUDIO_FORMAT_U18_BE,
143 SPA_AUDIO_FORMAT_F32_OE = SPA_AUDIO_FORMAT_F32_BE,
144 SPA_AUDIO_FORMAT_F64_OE = SPA_AUDIO_FORMAT_F64_BE,
145#endif
146};
147
148#define SPA_AUDIO_FORMAT_IS_INTERLEAVED(fmt) ((fmt) > SPA_AUDIO_FORMAT_START_Interleaved && (fmt) < SPA_AUDIO_FORMAT_START_Planar)
149#define SPA_AUDIO_FORMAT_IS_PLANAR(fmt) ((fmt) > SPA_AUDIO_FORMAT_START_Planar && (fmt) < SPA_AUDIO_FORMAT_START_Other)
150
151 enum spa_audio_channel {
152 SPA_AUDIO_CHANNEL_UNKNOWN,
153 SPA_AUDIO_CHANNEL_NA,
155 SPA_AUDIO_CHANNEL_MONO,
157 SPA_AUDIO_CHANNEL_FL,
158 SPA_AUDIO_CHANNEL_FR,
159 SPA_AUDIO_CHANNEL_FC,
160 SPA_AUDIO_CHANNEL_LFE,
161 SPA_AUDIO_CHANNEL_SL,
162 SPA_AUDIO_CHANNEL_SR,
163 SPA_AUDIO_CHANNEL_FLC,
164 SPA_AUDIO_CHANNEL_FRC,
165 SPA_AUDIO_CHANNEL_RC,
166 SPA_AUDIO_CHANNEL_RL,
167 SPA_AUDIO_CHANNEL_RR,
168 SPA_AUDIO_CHANNEL_TC,
169 SPA_AUDIO_CHANNEL_TFL,
170 SPA_AUDIO_CHANNEL_TFC,
171 SPA_AUDIO_CHANNEL_TFR,
172 SPA_AUDIO_CHANNEL_TRL,
173 SPA_AUDIO_CHANNEL_TRC,
174 SPA_AUDIO_CHANNEL_TRR,
175 SPA_AUDIO_CHANNEL_RLC,
176 SPA_AUDIO_CHANNEL_RRC,
177 SPA_AUDIO_CHANNEL_FLW,
178 SPA_AUDIO_CHANNEL_FRW,
179 SPA_AUDIO_CHANNEL_LFE2,
180 SPA_AUDIO_CHANNEL_FLH,
181 SPA_AUDIO_CHANNEL_FCH,
182 SPA_AUDIO_CHANNEL_FRH,
183 SPA_AUDIO_CHANNEL_TFLC,
184 SPA_AUDIO_CHANNEL_TFRC,
185 SPA_AUDIO_CHANNEL_TSL,
186 SPA_AUDIO_CHANNEL_TSR,
187 SPA_AUDIO_CHANNEL_LLFE,
188 SPA_AUDIO_CHANNEL_RLFE,
189 SPA_AUDIO_CHANNEL_BC,
190 SPA_AUDIO_CHANNEL_BLC,
191 SPA_AUDIO_CHANNEL_BRC,
193 SPA_AUDIO_CHANNEL_START_Aux = 0x1000,
194 SPA_AUDIO_CHANNEL_AUX0 = SPA_AUDIO_CHANNEL_START_Aux,
195 SPA_AUDIO_CHANNEL_AUX1,
196 SPA_AUDIO_CHANNEL_AUX2,
197 SPA_AUDIO_CHANNEL_AUX3,
198 SPA_AUDIO_CHANNEL_AUX4,
199 SPA_AUDIO_CHANNEL_AUX5,
200 SPA_AUDIO_CHANNEL_AUX6,
201 SPA_AUDIO_CHANNEL_AUX7,
202 SPA_AUDIO_CHANNEL_AUX8,
203 SPA_AUDIO_CHANNEL_AUX9,
204 SPA_AUDIO_CHANNEL_AUX10,
205 SPA_AUDIO_CHANNEL_AUX11,
206 SPA_AUDIO_CHANNEL_AUX12,
207 SPA_AUDIO_CHANNEL_AUX13,
208 SPA_AUDIO_CHANNEL_AUX14,
209 SPA_AUDIO_CHANNEL_AUX15,
210 SPA_AUDIO_CHANNEL_AUX16,
211 SPA_AUDIO_CHANNEL_AUX17,
212 SPA_AUDIO_CHANNEL_AUX18,
213 SPA_AUDIO_CHANNEL_AUX19,
214 SPA_AUDIO_CHANNEL_AUX20,
215 SPA_AUDIO_CHANNEL_AUX21,
216 SPA_AUDIO_CHANNEL_AUX22,
217 SPA_AUDIO_CHANNEL_AUX23,
218 SPA_AUDIO_CHANNEL_AUX24,
219 SPA_AUDIO_CHANNEL_AUX25,
220 SPA_AUDIO_CHANNEL_AUX26,
221 SPA_AUDIO_CHANNEL_AUX27,
222 SPA_AUDIO_CHANNEL_AUX28,
223 SPA_AUDIO_CHANNEL_AUX29,
224 SPA_AUDIO_CHANNEL_AUX30,
225 SPA_AUDIO_CHANNEL_AUX31,
226 SPA_AUDIO_CHANNEL_AUX32,
227 SPA_AUDIO_CHANNEL_AUX33,
228 SPA_AUDIO_CHANNEL_AUX34,
229 SPA_AUDIO_CHANNEL_AUX35,
230 SPA_AUDIO_CHANNEL_AUX36,
231 SPA_AUDIO_CHANNEL_AUX37,
232 SPA_AUDIO_CHANNEL_AUX38,
233 SPA_AUDIO_CHANNEL_AUX39,
234 SPA_AUDIO_CHANNEL_AUX40,
235 SPA_AUDIO_CHANNEL_AUX41,
236 SPA_AUDIO_CHANNEL_AUX42,
237 SPA_AUDIO_CHANNEL_AUX43,
238 SPA_AUDIO_CHANNEL_AUX44,
239 SPA_AUDIO_CHANNEL_AUX45,
240 SPA_AUDIO_CHANNEL_AUX46,
241 SPA_AUDIO_CHANNEL_AUX47,
242 SPA_AUDIO_CHANNEL_AUX48,
243 SPA_AUDIO_CHANNEL_AUX49,
244 SPA_AUDIO_CHANNEL_AUX50,
245 SPA_AUDIO_CHANNEL_AUX51,
246 SPA_AUDIO_CHANNEL_AUX52,
247 SPA_AUDIO_CHANNEL_AUX53,
248 SPA_AUDIO_CHANNEL_AUX54,
249 SPA_AUDIO_CHANNEL_AUX55,
250 SPA_AUDIO_CHANNEL_AUX56,
251 SPA_AUDIO_CHANNEL_AUX57,
252 SPA_AUDIO_CHANNEL_AUX58,
253 SPA_AUDIO_CHANNEL_AUX59,
254 SPA_AUDIO_CHANNEL_AUX60,
255 SPA_AUDIO_CHANNEL_AUX61,
256 SPA_AUDIO_CHANNEL_AUX62,
257 SPA_AUDIO_CHANNEL_AUX63,
258
259 SPA_AUDIO_CHANNEL_LAST_Aux = 0x1fff,
261 SPA_AUDIO_CHANNEL_START_Custom = 0x10000,
262};
263
264 enum spa_audio_volume_ramp_scale {
265 SPA_AUDIO_VOLUME_RAMP_INVALID,
266 SPA_AUDIO_VOLUME_RAMP_LINEAR,
267 SPA_AUDIO_VOLUME_RAMP_CUBIC,
268};
269
271#define SPA_AUDIO_FLAG_NONE (0) /*< no valid flag */
272#define SPA_AUDIO_FLAG_UNPOSITIONED (1 << 0) /*< the position array explicitly
273 * contains unpositioned channels. */
275 struct spa_audio_info_raw {
276 enum spa_audio_format format; /*< format, one of enum spa_audio_format */
277 uint32_t flags; /*< extra flags */
278 uint32_t rate; /*< sample rate */
279 uint32_t channels; /*< number of channels */
280 uint32_t position[SPA_AUDIO_MAX_CHANNELS]; /*< channel position from enum spa_audio_channel */
281};
282
283#define SPA_AUDIO_INFO_RAW_INIT(...) ((struct spa_audio_info_raw) { __VA_ARGS__ })
284
285#define SPA_KEY_AUDIO_FORMAT "audio.format"
287#define SPA_KEY_AUDIO_CHANNEL "audio.channel"
289#define SPA_KEY_AUDIO_CHANNELS "audio.channels"
290#define SPA_KEY_AUDIO_RATE "audio.rate"
291#define SPA_KEY_AUDIO_POSITION "audio.position"
293#define SPA_KEY_AUDIO_ALLOWED_RATES "audio.allowed-rates"
299#ifdef __cplusplus
300} /* extern "C" */
301#endif
302
303#endif /* SPA_AUDIO_RAW_H */
spa_audio_channel
spa_audio_channel
Definition raw.h:159
spa_audio_format
spa_audio_format
Definition raw.h:31
SPA_AUDIO_MAX_CHANNELS
#define SPA_AUDIO_MAX_CHANNELS
Definition raw.h:29
spa_audio_volume_ramp_scale
spa_audio_volume_ramp_scale
Definition raw.h:272
SPA_AUDIO_CHANNEL_AUX5
@ SPA_AUDIO_CHANNEL_AUX5
Definition raw.h:207
SPA_AUDIO_CHANNEL_BC
@ SPA_AUDIO_CHANNEL_BC
bottom center
Definition raw.h:197
SPA_AUDIO_CHANNEL_FC
@ SPA_AUDIO_CHANNEL_FC
front center
Definition raw.h:167
SPA_AUDIO_CHANNEL_AUX62
@ SPA_AUDIO_CHANNEL_AUX62
Definition raw.h:264
SPA_AUDIO_CHANNEL_FLW
@ SPA_AUDIO_CHANNEL_FLW
front left wide
Definition raw.h:185
SPA_AUDIO_CHANNEL_AUX17
@ SPA_AUDIO_CHANNEL_AUX17
Definition raw.h:219
SPA_AUDIO_CHANNEL_AUX31
@ SPA_AUDIO_CHANNEL_AUX31
Definition raw.h:233
SPA_AUDIO_CHANNEL_START_Custom
@ SPA_AUDIO_CHANNEL_START_Custom
Definition raw.h:269
SPA_AUDIO_CHANNEL_FLC
@ SPA_AUDIO_CHANNEL_FLC
front left center
Definition raw.h:171
SPA_AUDIO_CHANNEL_AUX42
@ SPA_AUDIO_CHANNEL_AUX42
Definition raw.h:244
SPA_AUDIO_CHANNEL_TFLC
@ SPA_AUDIO_CHANNEL_TFLC
top front left center
Definition raw.h:191
SPA_AUDIO_CHANNEL_TFRC
@ SPA_AUDIO_CHANNEL_TFRC
top front right center
Definition raw.h:192
SPA_AUDIO_CHANNEL_AUX0
@ SPA_AUDIO_CHANNEL_AUX0
Definition raw.h:202
SPA_AUDIO_CHANNEL_AUX25
@ SPA_AUDIO_CHANNEL_AUX25
Definition raw.h:227
SPA_AUDIO_CHANNEL_AUX27
@ SPA_AUDIO_CHANNEL_AUX27
Definition raw.h:229
SPA_AUDIO_CHANNEL_AUX60
@ SPA_AUDIO_CHANNEL_AUX60
Definition raw.h:262
SPA_AUDIO_CHANNEL_BRC
@ SPA_AUDIO_CHANNEL_BRC
bottom right center
Definition raw.h:199
SPA_AUDIO_CHANNEL_AUX50
@ SPA_AUDIO_CHANNEL_AUX50
Definition raw.h:252
SPA_AUDIO_CHANNEL_AUX63
@ SPA_AUDIO_CHANNEL_AUX63
Definition raw.h:265
SPA_AUDIO_CHANNEL_AUX53
@ SPA_AUDIO_CHANNEL_AUX53
Definition raw.h:255
SPA_AUDIO_CHANNEL_AUX34
@ SPA_AUDIO_CHANNEL_AUX34
Definition raw.h:236
SPA_AUDIO_CHANNEL_AUX3
@ SPA_AUDIO_CHANNEL_AUX3
Definition raw.h:205
SPA_AUDIO_CHANNEL_FR
@ SPA_AUDIO_CHANNEL_FR
front right
Definition raw.h:166
SPA_AUDIO_CHANNEL_AUX43
@ SPA_AUDIO_CHANNEL_AUX43
Definition raw.h:245
SPA_AUDIO_CHANNEL_AUX46
@ SPA_AUDIO_CHANNEL_AUX46
Definition raw.h:248
SPA_AUDIO_CHANNEL_AUX57
@ SPA_AUDIO_CHANNEL_AUX57
Definition raw.h:259
SPA_AUDIO_CHANNEL_RLFE
@ SPA_AUDIO_CHANNEL_RLFE
right LFE
Definition raw.h:196
SPA_AUDIO_CHANNEL_AUX56
@ SPA_AUDIO_CHANNEL_AUX56
Definition raw.h:258
SPA_AUDIO_CHANNEL_AUX52
@ SPA_AUDIO_CHANNEL_AUX52
Definition raw.h:254
SPA_AUDIO_CHANNEL_AUX10
@ SPA_AUDIO_CHANNEL_AUX10
Definition raw.h:212
SPA_AUDIO_CHANNEL_AUX33
@ SPA_AUDIO_CHANNEL_AUX33
Definition raw.h:235
SPA_AUDIO_CHANNEL_AUX12
@ SPA_AUDIO_CHANNEL_AUX12
Definition raw.h:214
SPA_AUDIO_CHANNEL_BLC
@ SPA_AUDIO_CHANNEL_BLC
bottom left center
Definition raw.h:198
SPA_AUDIO_CHANNEL_AUX6
@ SPA_AUDIO_CHANNEL_AUX6
Definition raw.h:208
SPA_AUDIO_CHANNEL_AUX23
@ SPA_AUDIO_CHANNEL_AUX23
Definition raw.h:225
SPA_AUDIO_CHANNEL_TRC
@ SPA_AUDIO_CHANNEL_TRC
top rear center
Definition raw.h:181
SPA_AUDIO_CHANNEL_AUX48
@ SPA_AUDIO_CHANNEL_AUX48
Definition raw.h:250
SPA_AUDIO_CHANNEL_AUX13
@ SPA_AUDIO_CHANNEL_AUX13
Definition raw.h:215
SPA_AUDIO_CHANNEL_START_Aux
@ SPA_AUDIO_CHANNEL_START_Aux
aux channels
Definition raw.h:201
SPA_AUDIO_CHANNEL_TFC
@ SPA_AUDIO_CHANNEL_TFC
top front center
Definition raw.h:178
SPA_AUDIO_CHANNEL_TFR
@ SPA_AUDIO_CHANNEL_TFR
top front right
Definition raw.h:179
SPA_AUDIO_CHANNEL_AUX61
@ SPA_AUDIO_CHANNEL_AUX61
Definition raw.h:263
SPA_AUDIO_CHANNEL_AUX28
@ SPA_AUDIO_CHANNEL_AUX28
Definition raw.h:230
SPA_AUDIO_CHANNEL_AUX30
@ SPA_AUDIO_CHANNEL_AUX30
Definition raw.h:232
SPA_AUDIO_CHANNEL_RLC
@ SPA_AUDIO_CHANNEL_RLC
rear left center
Definition raw.h:183
SPA_AUDIO_CHANNEL_LFE2
@ SPA_AUDIO_CHANNEL_LFE2
LFE 2.
Definition raw.h:187
SPA_AUDIO_CHANNEL_AUX35
@ SPA_AUDIO_CHANNEL_AUX35
Definition raw.h:237
SPA_AUDIO_CHANNEL_AUX2
@ SPA_AUDIO_CHANNEL_AUX2
Definition raw.h:204
SPA_AUDIO_CHANNEL_RR
@ SPA_AUDIO_CHANNEL_RR
rear right
Definition raw.h:175
SPA_AUDIO_CHANNEL_TRL
@ SPA_AUDIO_CHANNEL_TRL
top rear left
Definition raw.h:180
SPA_AUDIO_CHANNEL_AUX7
@ SPA_AUDIO_CHANNEL_AUX7
Definition raw.h:209
SPA_AUDIO_CHANNEL_AUX44
@ SPA_AUDIO_CHANNEL_AUX44
Definition raw.h:246
SPA_AUDIO_CHANNEL_LLFE
@ SPA_AUDIO_CHANNEL_LLFE
left LFE
Definition raw.h:195
SPA_AUDIO_CHANNEL_AUX41
@ SPA_AUDIO_CHANNEL_AUX41
Definition raw.h:243
SPA_AUDIO_CHANNEL_AUX8
@ SPA_AUDIO_CHANNEL_AUX8
Definition raw.h:210
SPA_AUDIO_CHANNEL_AUX39
@ SPA_AUDIO_CHANNEL_AUX39
Definition raw.h:241
SPA_AUDIO_CHANNEL_AUX54
@ SPA_AUDIO_CHANNEL_AUX54
Definition raw.h:256
SPA_AUDIO_CHANNEL_AUX19
@ SPA_AUDIO_CHANNEL_AUX19
Definition raw.h:221
SPA_AUDIO_CHANNEL_AUX59
@ SPA_AUDIO_CHANNEL_AUX59
Definition raw.h:261
SPA_AUDIO_CHANNEL_TRR
@ SPA_AUDIO_CHANNEL_TRR
top rear right
Definition raw.h:182
SPA_AUDIO_CHANNEL_UNKNOWN
@ SPA_AUDIO_CHANNEL_UNKNOWN
unspecified
Definition raw.h:160
SPA_AUDIO_CHANNEL_RL
@ SPA_AUDIO_CHANNEL_RL
rear left
Definition raw.h:174
SPA_AUDIO_CHANNEL_AUX37
@ SPA_AUDIO_CHANNEL_AUX37
Definition raw.h:239
SPA_AUDIO_CHANNEL_AUX21
@ SPA_AUDIO_CHANNEL_AUX21
Definition raw.h:223
SPA_AUDIO_CHANNEL_AUX38
@ SPA_AUDIO_CHANNEL_AUX38
Definition raw.h:240
SPA_AUDIO_CHANNEL_AUX58
@ SPA_AUDIO_CHANNEL_AUX58
Definition raw.h:260
SPA_AUDIO_CHANNEL_AUX4
@ SPA_AUDIO_CHANNEL_AUX4
Definition raw.h:206
SPA_AUDIO_CHANNEL_NA
@ SPA_AUDIO_CHANNEL_NA
N/A, silent.
Definition raw.h:161
SPA_AUDIO_CHANNEL_TSL
@ SPA_AUDIO_CHANNEL_TSL
top side left
Definition raw.h:193
SPA_AUDIO_CHANNEL_LFE
@ SPA_AUDIO_CHANNEL_LFE
LFE.
Definition raw.h:168
SPA_AUDIO_CHANNEL_SR
@ SPA_AUDIO_CHANNEL_SR
side right
Definition raw.h:170
SPA_AUDIO_CHANNEL_FCH
@ SPA_AUDIO_CHANNEL_FCH
front center high
Definition raw.h:189
SPA_AUDIO_CHANNEL_AUX45
@ SPA_AUDIO_CHANNEL_AUX45
Definition raw.h:247
SPA_AUDIO_CHANNEL_LAST_Aux
@ SPA_AUDIO_CHANNEL_LAST_Aux
aux channels
Definition raw.h:267
SPA_AUDIO_CHANNEL_TSR
@ SPA_AUDIO_CHANNEL_TSR
top side right
Definition raw.h:194
SPA_AUDIO_CHANNEL_TFL
@ SPA_AUDIO_CHANNEL_TFL
top front left
Definition raw.h:177
SPA_AUDIO_CHANNEL_AUX9
@ SPA_AUDIO_CHANNEL_AUX9
Definition raw.h:211
SPA_AUDIO_CHANNEL_AUX55
@ SPA_AUDIO_CHANNEL_AUX55
Definition raw.h:257
SPA_AUDIO_CHANNEL_AUX51
@ SPA_AUDIO_CHANNEL_AUX51
Definition raw.h:253
SPA_AUDIO_CHANNEL_TC
@ SPA_AUDIO_CHANNEL_TC
top center
Definition raw.h:176
SPA_AUDIO_CHANNEL_AUX16
@ SPA_AUDIO_CHANNEL_AUX16
Definition raw.h:218
SPA_AUDIO_CHANNEL_FRC
@ SPA_AUDIO_CHANNEL_FRC
front right center
Definition raw.h:172
SPA_AUDIO_CHANNEL_RC
@ SPA_AUDIO_CHANNEL_RC
rear center
Definition raw.h:173
SPA_AUDIO_CHANNEL_AUX36
@ SPA_AUDIO_CHANNEL_AUX36
Definition raw.h:238
SPA_AUDIO_CHANNEL_AUX26
@ SPA_AUDIO_CHANNEL_AUX26
Definition raw.h:228
SPA_AUDIO_CHANNEL_AUX40
@ SPA_AUDIO_CHANNEL_AUX40
Definition raw.h:242
SPA_AUDIO_CHANNEL_FL
@ SPA_AUDIO_CHANNEL_FL
front left
Definition raw.h:165
SPA_AUDIO_CHANNEL_MONO
@ SPA_AUDIO_CHANNEL_MONO
mono stream
Definition raw.h:163
SPA_AUDIO_CHANNEL_AUX49
@ SPA_AUDIO_CHANNEL_AUX49
Definition raw.h:251
SPA_AUDIO_CHANNEL_AUX18
@ SPA_AUDIO_CHANNEL_AUX18
Definition raw.h:220
SPA_AUDIO_CHANNEL_AUX1
@ SPA_AUDIO_CHANNEL_AUX1
Definition raw.h:203
SPA_AUDIO_CHANNEL_AUX47
@ SPA_AUDIO_CHANNEL_AUX47
Definition raw.h:249
SPA_AUDIO_CHANNEL_AUX11
@ SPA_AUDIO_CHANNEL_AUX11
Definition raw.h:213
SPA_AUDIO_CHANNEL_FLH
@ SPA_AUDIO_CHANNEL_FLH
front left high
Definition raw.h:188
SPA_AUDIO_CHANNEL_AUX14
@ SPA_AUDIO_CHANNEL_AUX14
Definition raw.h:216
SPA_AUDIO_CHANNEL_AUX32
@ SPA_AUDIO_CHANNEL_AUX32
Definition raw.h:234
SPA_AUDIO_CHANNEL_FRW
@ SPA_AUDIO_CHANNEL_FRW
front right wide
Definition raw.h:186
SPA_AUDIO_CHANNEL_AUX29
@ SPA_AUDIO_CHANNEL_AUX29
Definition raw.h:231
SPA_AUDIO_CHANNEL_RRC
@ SPA_AUDIO_CHANNEL_RRC
rear right center
Definition raw.h:184
SPA_AUDIO_CHANNEL_SL
@ SPA_AUDIO_CHANNEL_SL
side left
Definition raw.h:169
SPA_AUDIO_CHANNEL_AUX15
@ SPA_AUDIO_CHANNEL_AUX15
Definition raw.h:217
SPA_AUDIO_CHANNEL_AUX24
@ SPA_AUDIO_CHANNEL_AUX24
Definition raw.h:226
SPA_AUDIO_CHANNEL_AUX20
@ SPA_AUDIO_CHANNEL_AUX20
Definition raw.h:222
SPA_AUDIO_CHANNEL_AUX22
@ SPA_AUDIO_CHANNEL_AUX22
Definition raw.h:224
SPA_AUDIO_CHANNEL_FRH
@ SPA_AUDIO_CHANNEL_FRH
front right high
Definition raw.h:190
SPA_AUDIO_FORMAT_S32
@ SPA_AUDIO_FORMAT_S32
Definition raw.h:98
SPA_AUDIO_FORMAT_F64_LE
@ SPA_AUDIO_FORMAT_F64_LE
Definition raw.h:65
SPA_AUDIO_FORMAT_U16_OE
@ SPA_AUDIO_FORMAT_U16_OE
Definition raw.h:109
SPA_AUDIO_FORMAT_F32_OE
@ SPA_AUDIO_FORMAT_F32_OE
Definition raw.h:120
SPA_AUDIO_FORMAT_U16_BE
@ SPA_AUDIO_FORMAT_U16_BE
Definition raw.h:42
SPA_AUDIO_FORMAT_S16P
@ SPA_AUDIO_FORMAT_S16P
Definition raw.h:74
SPA_AUDIO_FORMAT_U20_OE
@ SPA_AUDIO_FORMAT_U20_OE
Definition raw.h:117
SPA_AUDIO_FORMAT_U24_32_BE
@ SPA_AUDIO_FORMAT_U24_32_BE
Definition raw.h:46
SPA_AUDIO_FORMAT_U24_32
@ SPA_AUDIO_FORMAT_U24_32
Definition raw.h:97
SPA_AUDIO_FORMAT_U24_OE
@ SPA_AUDIO_FORMAT_U24_OE
Definition raw.h:115
SPA_AUDIO_FORMAT_U18_LE
@ SPA_AUDIO_FORMAT_U18_LE
Definition raw.h:61
SPA_AUDIO_FORMAT_S18_LE
@ SPA_AUDIO_FORMAT_S18_LE
Definition raw.h:59
SPA_AUDIO_FORMAT_U32_BE
@ SPA_AUDIO_FORMAT_U32_BE
Definition raw.h:50
SPA_AUDIO_FORMAT_ULAW
@ SPA_AUDIO_FORMAT_ULAW
Definition raw.h:68
SPA_AUDIO_FORMAT_U32_LE
@ SPA_AUDIO_FORMAT_U32_LE
Definition raw.h:49
SPA_AUDIO_FORMAT_S20
@ SPA_AUDIO_FORMAT_S20
Definition raw.h:102
SPA_AUDIO_FORMAT_S32_BE
@ SPA_AUDIO_FORMAT_S32_BE
Definition raw.h:48
SPA_AUDIO_FORMAT_DSP_F64
@ SPA_AUDIO_FORMAT_DSP_F64
Definition raw.h:90
SPA_AUDIO_FORMAT_F32P
@ SPA_AUDIO_FORMAT_F32P
Definition raw.h:78
SPA_AUDIO_FORMAT_S24_32_LE
@ SPA_AUDIO_FORMAT_S24_32_LE
Definition raw.h:43
SPA_AUDIO_FORMAT_S16_LE
@ SPA_AUDIO_FORMAT_S16_LE
Definition raw.h:39
SPA_AUDIO_FORMAT_S18_OE
@ SPA_AUDIO_FORMAT_S18_OE
Definition raw.h:118
SPA_AUDIO_FORMAT_F32_BE
@ SPA_AUDIO_FORMAT_F32_BE
Definition raw.h:64
SPA_AUDIO_FORMAT_F32_LE
@ SPA_AUDIO_FORMAT_F32_LE
Definition raw.h:63
SPA_AUDIO_FORMAT_U18_OE
@ SPA_AUDIO_FORMAT_U18_OE
Definition raw.h:119
SPA_AUDIO_FORMAT_START_Planar
@ SPA_AUDIO_FORMAT_START_Planar
Definition raw.h:72
SPA_AUDIO_FORMAT_START_Interleaved
@ SPA_AUDIO_FORMAT_START_Interleaved
Definition raw.h:36
SPA_AUDIO_FORMAT_U32
@ SPA_AUDIO_FORMAT_U32
Definition raw.h:99
SPA_AUDIO_FORMAT_S16_OE
@ SPA_AUDIO_FORMAT_S16_OE
Definition raw.h:108
SPA_AUDIO_FORMAT_S32_OE
@ SPA_AUDIO_FORMAT_S32_OE
Definition raw.h:112
SPA_AUDIO_FORMAT_U24_BE
@ SPA_AUDIO_FORMAT_U24_BE
Definition raw.h:54
SPA_AUDIO_FORMAT_U24_LE
@ SPA_AUDIO_FORMAT_U24_LE
Definition raw.h:53
SPA_AUDIO_FORMAT_U18_BE
@ SPA_AUDIO_FORMAT_U18_BE
Definition raw.h:62
SPA_AUDIO_FORMAT_S20_BE
@ SPA_AUDIO_FORMAT_S20_BE
Definition raw.h:56
SPA_AUDIO_FORMAT_U24_32_LE
@ SPA_AUDIO_FORMAT_U24_32_LE
Definition raw.h:45
SPA_AUDIO_FORMAT_U20_LE
@ SPA_AUDIO_FORMAT_U20_LE
Definition raw.h:57
SPA_AUDIO_FORMAT_S24P
@ SPA_AUDIO_FORMAT_S24P
Definition raw.h:77
SPA_AUDIO_FORMAT_S32_LE
@ SPA_AUDIO_FORMAT_S32_LE
Definition raw.h:47
SPA_AUDIO_FORMAT_DSP_F32
@ SPA_AUDIO_FORMAT_DSP_F32
Definition raw.h:89
SPA_AUDIO_FORMAT_S24_32P
@ SPA_AUDIO_FORMAT_S24_32P
Definition raw.h:75
SPA_AUDIO_FORMAT_S20_OE
@ SPA_AUDIO_FORMAT_S20_OE
Definition raw.h:116
SPA_AUDIO_FORMAT_S8P
@ SPA_AUDIO_FORMAT_S8P
Definition raw.h:80
SPA_AUDIO_FORMAT_U24
@ SPA_AUDIO_FORMAT_U24
Definition raw.h:101
SPA_AUDIO_FORMAT_START_Other
@ SPA_AUDIO_FORMAT_START_Other
Definition raw.h:83
SPA_AUDIO_FORMAT_UNKNOWN
@ SPA_AUDIO_FORMAT_UNKNOWN
Definition raw.h:32
SPA_AUDIO_FORMAT_F64_BE
@ SPA_AUDIO_FORMAT_F64_BE
Definition raw.h:66
SPA_AUDIO_FORMAT_F64P
@ SPA_AUDIO_FORMAT_F64P
Definition raw.h:79
SPA_AUDIO_FORMAT_U20
@ SPA_AUDIO_FORMAT_U20
Definition raw.h:103
SPA_AUDIO_FORMAT_S8
@ SPA_AUDIO_FORMAT_S8
Definition raw.h:37
SPA_AUDIO_FORMAT_U32_OE
@ SPA_AUDIO_FORMAT_U32_OE
Definition raw.h:113
SPA_AUDIO_FORMAT_U8
@ SPA_AUDIO_FORMAT_U8
Definition raw.h:38
SPA_AUDIO_FORMAT_U16_LE
@ SPA_AUDIO_FORMAT_U16_LE
Definition raw.h:41
SPA_AUDIO_FORMAT_S24_LE
@ SPA_AUDIO_FORMAT_S24_LE
Definition raw.h:51
SPA_AUDIO_FORMAT_DSP_S32
@ SPA_AUDIO_FORMAT_DSP_S32
Definition raw.h:88
SPA_AUDIO_FORMAT_U18
@ SPA_AUDIO_FORMAT_U18
Definition raw.h:105
SPA_AUDIO_FORMAT_U20_BE
@ SPA_AUDIO_FORMAT_U20_BE
Definition raw.h:58
SPA_AUDIO_FORMAT_S24
@ SPA_AUDIO_FORMAT_S24
Definition raw.h:100
SPA_AUDIO_FORMAT_ENCODED
@ SPA_AUDIO_FORMAT_ENCODED
Definition raw.h:33
SPA_AUDIO_FORMAT_S16_BE
@ SPA_AUDIO_FORMAT_S16_BE
Definition raw.h:40
SPA_AUDIO_FORMAT_S24_BE
@ SPA_AUDIO_FORMAT_S24_BE
Definition raw.h:52
SPA_AUDIO_FORMAT_U8P
@ SPA_AUDIO_FORMAT_U8P
Definition raw.h:73
SPA_AUDIO_FORMAT_ALAW
@ SPA_AUDIO_FORMAT_ALAW
Definition raw.h:69
SPA_AUDIO_FORMAT_S32P
@ SPA_AUDIO_FORMAT_S32P
Definition raw.h:76
SPA_AUDIO_FORMAT_S24_32_OE
@ SPA_AUDIO_FORMAT_S24_32_OE
Definition raw.h:110
SPA_AUDIO_FORMAT_U24_32_OE
@ SPA_AUDIO_FORMAT_U24_32_OE
Definition raw.h:111
SPA_AUDIO_FORMAT_S24_32_BE
@ SPA_AUDIO_FORMAT_S24_32_BE
Definition raw.h:44
SPA_AUDIO_FORMAT_S16
@ SPA_AUDIO_FORMAT_S16
Definition raw.h:94
SPA_AUDIO_FORMAT_S24_32
@ SPA_AUDIO_FORMAT_S24_32
Definition raw.h:96
SPA_AUDIO_FORMAT_F64
@ SPA_AUDIO_FORMAT_F64
Definition raw.h:107
SPA_AUDIO_FORMAT_F32
@ SPA_AUDIO_FORMAT_F32
Definition raw.h:106
SPA_AUDIO_FORMAT_S20_LE
@ SPA_AUDIO_FORMAT_S20_LE
Definition raw.h:55
SPA_AUDIO_FORMAT_S18
@ SPA_AUDIO_FORMAT_S18
Definition raw.h:104
SPA_AUDIO_FORMAT_F64_OE
@ SPA_AUDIO_FORMAT_F64_OE
Definition raw.h:121
SPA_AUDIO_FORMAT_S18_BE
@ SPA_AUDIO_FORMAT_S18_BE
Definition raw.h:60
SPA_AUDIO_FORMAT_S24_OE
@ SPA_AUDIO_FORMAT_S24_OE
Definition raw.h:114
SPA_AUDIO_FORMAT_U16
@ SPA_AUDIO_FORMAT_U16
Definition raw.h:95
SPA_AUDIO_VOLUME_RAMP_CUBIC
@ SPA_AUDIO_VOLUME_RAMP_CUBIC
Definition raw.h:275
SPA_AUDIO_VOLUME_RAMP_LINEAR
@ SPA_AUDIO_VOLUME_RAMP_LINEAR
Definition raw.h:274
SPA_AUDIO_VOLUME_RAMP_INVALID
@ SPA_AUDIO_VOLUME_RAMP_INVALID
Definition raw.h:273
spa_audio_info_raw
Audio information description.
Definition raw.h:284
spa_audio_info_raw::format
enum spa_audio_format format
Definition raw.h:285
spa_audio_info_raw::channels
uint32_t channels
Definition raw.h:288
spa_audio_info_raw::flags
uint32_t flags
Definition raw.h:286
spa_audio_info_raw::position
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition raw.h:289
spa_audio_info_raw::rate
uint32_t rate
Definition raw.h:287