25 #ifndef SPA_AUDIO_RAW_H 
   26 #define SPA_AUDIO_RAW_H 
   34 #if !defined(__FreeBSD__) && !defined(__MidnightBSD__) 
   43 #define SPA_AUDIO_MAX_CHANNELS  64u 
  107 #if __BYTE_ORDER == __BIG_ENDIAN 
  136 #elif __BYTE_ORDER == __LITTLE_ENDIAN 
  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) 
  285 #define SPA_AUDIO_FLAG_NONE             (0)              
  286 #define SPA_AUDIO_FLAG_UNPOSITIONED     (1 << 0)         
  297 #define SPA_AUDIO_INFO_RAW_INIT(...)            ((struct spa_audio_info_raw) { __VA_ARGS__ }) 
  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"         
  307 #define SPA_KEY_AUDIO_ALLOWED_RATES     "audio.allowed-rates"    
  314 #define SPA_AUDIO_INFO_DSP_INIT(...)            ((struct spa_audio_info_dsp) { __VA_ARGS__ }) 
spa_audio_channel
Definition: raw.h:179
 
spa_audio_format
Definition: raw.h:51
 
#define SPA_AUDIO_MAX_CHANNELS
Definition: raw.h:49
 
@ SPA_AUDIO_CHANNEL_AUX5
Definition: raw.h:227
 
@ SPA_AUDIO_CHANNEL_BC
bottom center
Definition: raw.h:217
 
@ SPA_AUDIO_CHANNEL_FC
front center
Definition: raw.h:187
 
@ SPA_AUDIO_CHANNEL_AUX62
Definition: raw.h:284
 
@ SPA_AUDIO_CHANNEL_FLW
front left wide
Definition: raw.h:205
 
@ SPA_AUDIO_CHANNEL_AUX17
Definition: raw.h:239
 
@ SPA_AUDIO_CHANNEL_AUX31
Definition: raw.h:253
 
@ SPA_AUDIO_CHANNEL_START_Custom
Definition: raw.h:289
 
@ SPA_AUDIO_CHANNEL_FLC
front left center
Definition: raw.h:191
 
@ SPA_AUDIO_CHANNEL_AUX42
Definition: raw.h:264
 
@ SPA_AUDIO_CHANNEL_TFLC
top front left center
Definition: raw.h:211
 
@ SPA_AUDIO_CHANNEL_TFRC
top front right center
Definition: raw.h:212
 
@ SPA_AUDIO_CHANNEL_AUX0
Definition: raw.h:222
 
@ SPA_AUDIO_CHANNEL_AUX25
Definition: raw.h:247
 
@ SPA_AUDIO_CHANNEL_AUX27
Definition: raw.h:249
 
@ SPA_AUDIO_CHANNEL_AUX60
Definition: raw.h:282
 
@ SPA_AUDIO_CHANNEL_BRC
bottom right center
Definition: raw.h:219
 
@ SPA_AUDIO_CHANNEL_AUX50
Definition: raw.h:272
 
@ SPA_AUDIO_CHANNEL_AUX63
Definition: raw.h:285
 
@ SPA_AUDIO_CHANNEL_AUX53
Definition: raw.h:275
 
@ SPA_AUDIO_CHANNEL_AUX34
Definition: raw.h:256
 
@ SPA_AUDIO_CHANNEL_AUX3
Definition: raw.h:225
 
@ SPA_AUDIO_CHANNEL_FR
front right
Definition: raw.h:186
 
@ SPA_AUDIO_CHANNEL_AUX43
Definition: raw.h:265
 
@ SPA_AUDIO_CHANNEL_AUX46
Definition: raw.h:268
 
@ SPA_AUDIO_CHANNEL_AUX57
Definition: raw.h:279
 
@ SPA_AUDIO_CHANNEL_RLFE
right LFE
Definition: raw.h:216
 
@ SPA_AUDIO_CHANNEL_AUX56
Definition: raw.h:278
 
@ SPA_AUDIO_CHANNEL_AUX52
Definition: raw.h:274
 
@ SPA_AUDIO_CHANNEL_AUX10
Definition: raw.h:232
 
@ SPA_AUDIO_CHANNEL_AUX33
Definition: raw.h:255
 
@ SPA_AUDIO_CHANNEL_AUX12
Definition: raw.h:234
 
@ SPA_AUDIO_CHANNEL_BLC
bottom left center
Definition: raw.h:218
 
@ SPA_AUDIO_CHANNEL_AUX6
Definition: raw.h:228
 
@ SPA_AUDIO_CHANNEL_AUX23
Definition: raw.h:245
 
@ SPA_AUDIO_CHANNEL_TRC
top rear center
Definition: raw.h:201
 
@ SPA_AUDIO_CHANNEL_AUX48
Definition: raw.h:270
 
@ SPA_AUDIO_CHANNEL_AUX13
Definition: raw.h:235
 
@ SPA_AUDIO_CHANNEL_START_Aux
aux channels
Definition: raw.h:221
 
@ SPA_AUDIO_CHANNEL_TFC
top front center
Definition: raw.h:198
 
@ SPA_AUDIO_CHANNEL_TFR
top front right
Definition: raw.h:199
 
@ SPA_AUDIO_CHANNEL_AUX61
Definition: raw.h:283
 
@ SPA_AUDIO_CHANNEL_AUX28
Definition: raw.h:250
 
@ SPA_AUDIO_CHANNEL_AUX30
Definition: raw.h:252
 
@ SPA_AUDIO_CHANNEL_RLC
rear left center
Definition: raw.h:203
 
@ SPA_AUDIO_CHANNEL_LFE2
LFE 2.
Definition: raw.h:207
 
@ SPA_AUDIO_CHANNEL_AUX35
Definition: raw.h:257
 
@ SPA_AUDIO_CHANNEL_AUX2
Definition: raw.h:224
 
@ SPA_AUDIO_CHANNEL_RR
rear right
Definition: raw.h:195
 
@ SPA_AUDIO_CHANNEL_TRL
top rear left
Definition: raw.h:200
 
@ SPA_AUDIO_CHANNEL_AUX7
Definition: raw.h:229
 
@ SPA_AUDIO_CHANNEL_AUX44
Definition: raw.h:266
 
@ SPA_AUDIO_CHANNEL_LLFE
left LFE
Definition: raw.h:215
 
@ SPA_AUDIO_CHANNEL_AUX41
Definition: raw.h:263
 
@ SPA_AUDIO_CHANNEL_AUX8
Definition: raw.h:230
 
@ SPA_AUDIO_CHANNEL_AUX39
Definition: raw.h:261
 
@ SPA_AUDIO_CHANNEL_AUX54
Definition: raw.h:276
 
@ SPA_AUDIO_CHANNEL_AUX19
Definition: raw.h:241
 
@ SPA_AUDIO_CHANNEL_AUX59
Definition: raw.h:281
 
@ SPA_AUDIO_CHANNEL_TRR
top rear right
Definition: raw.h:202
 
@ SPA_AUDIO_CHANNEL_UNKNOWN
unspecified
Definition: raw.h:180
 
@ SPA_AUDIO_CHANNEL_RL
rear left
Definition: raw.h:194
 
@ SPA_AUDIO_CHANNEL_AUX37
Definition: raw.h:259
 
@ SPA_AUDIO_CHANNEL_AUX21
Definition: raw.h:243
 
@ SPA_AUDIO_CHANNEL_AUX38
Definition: raw.h:260
 
@ SPA_AUDIO_CHANNEL_AUX58
Definition: raw.h:280
 
@ SPA_AUDIO_CHANNEL_AUX4
Definition: raw.h:226
 
@ SPA_AUDIO_CHANNEL_NA
N/A, silent.
Definition: raw.h:181
 
@ SPA_AUDIO_CHANNEL_TSL
top side left
Definition: raw.h:213
 
@ SPA_AUDIO_CHANNEL_LFE
LFE.
Definition: raw.h:188
 
@ SPA_AUDIO_CHANNEL_SR
side right
Definition: raw.h:190
 
@ SPA_AUDIO_CHANNEL_FCH
front center high
Definition: raw.h:209
 
@ SPA_AUDIO_CHANNEL_AUX45
Definition: raw.h:267
 
@ SPA_AUDIO_CHANNEL_LAST_Aux
aux channels
Definition: raw.h:287
 
@ SPA_AUDIO_CHANNEL_TSR
top side right
Definition: raw.h:214
 
@ SPA_AUDIO_CHANNEL_TFL
top front left
Definition: raw.h:197
 
@ SPA_AUDIO_CHANNEL_AUX9
Definition: raw.h:231
 
@ SPA_AUDIO_CHANNEL_AUX55
Definition: raw.h:277
 
@ SPA_AUDIO_CHANNEL_AUX51
Definition: raw.h:273
 
@ SPA_AUDIO_CHANNEL_TC
top center
Definition: raw.h:196
 
@ SPA_AUDIO_CHANNEL_AUX16
Definition: raw.h:238
 
@ SPA_AUDIO_CHANNEL_FRC
front right center
Definition: raw.h:192
 
@ SPA_AUDIO_CHANNEL_RC
rear center
Definition: raw.h:193
 
@ SPA_AUDIO_CHANNEL_AUX36
Definition: raw.h:258
 
@ SPA_AUDIO_CHANNEL_AUX26
Definition: raw.h:248
 
@ SPA_AUDIO_CHANNEL_AUX40
Definition: raw.h:262
 
@ SPA_AUDIO_CHANNEL_FL
front left
Definition: raw.h:185
 
@ SPA_AUDIO_CHANNEL_MONO
mono stream
Definition: raw.h:183
 
@ SPA_AUDIO_CHANNEL_AUX49
Definition: raw.h:271
 
@ SPA_AUDIO_CHANNEL_AUX18
Definition: raw.h:240
 
@ SPA_AUDIO_CHANNEL_AUX1
Definition: raw.h:223
 
@ SPA_AUDIO_CHANNEL_AUX47
Definition: raw.h:269
 
@ SPA_AUDIO_CHANNEL_AUX11
Definition: raw.h:233
 
@ SPA_AUDIO_CHANNEL_FLH
front left high
Definition: raw.h:208
 
@ SPA_AUDIO_CHANNEL_AUX14
Definition: raw.h:236
 
@ SPA_AUDIO_CHANNEL_AUX32
Definition: raw.h:254
 
@ SPA_AUDIO_CHANNEL_FRW
front right wide
Definition: raw.h:206
 
@ SPA_AUDIO_CHANNEL_AUX29
Definition: raw.h:251
 
@ SPA_AUDIO_CHANNEL_RRC
rear right center
Definition: raw.h:204
 
@ SPA_AUDIO_CHANNEL_SL
side left
Definition: raw.h:189
 
@ SPA_AUDIO_CHANNEL_AUX15
Definition: raw.h:237
 
@ SPA_AUDIO_CHANNEL_AUX24
Definition: raw.h:246
 
@ SPA_AUDIO_CHANNEL_AUX20
Definition: raw.h:242
 
@ SPA_AUDIO_CHANNEL_AUX22
Definition: raw.h:244
 
@ SPA_AUDIO_CHANNEL_FRH
front right high
Definition: raw.h:210
 
@ SPA_AUDIO_FORMAT_S32
Definition: raw.h:118
 
@ SPA_AUDIO_FORMAT_F64_LE
Definition: raw.h:85
 
@ SPA_AUDIO_FORMAT_U16_OE
Definition: raw.h:129
 
@ SPA_AUDIO_FORMAT_F32_OE
Definition: raw.h:140
 
@ SPA_AUDIO_FORMAT_U16_BE
Definition: raw.h:62
 
@ SPA_AUDIO_FORMAT_S16P
Definition: raw.h:94
 
@ SPA_AUDIO_FORMAT_U20_OE
Definition: raw.h:137
 
@ SPA_AUDIO_FORMAT_U24_32_BE
Definition: raw.h:66
 
@ SPA_AUDIO_FORMAT_U24_32
Definition: raw.h:117
 
@ SPA_AUDIO_FORMAT_U24_OE
Definition: raw.h:135
 
@ SPA_AUDIO_FORMAT_U18_LE
Definition: raw.h:81
 
@ SPA_AUDIO_FORMAT_S18_LE
Definition: raw.h:79
 
@ SPA_AUDIO_FORMAT_U32_BE
Definition: raw.h:70
 
@ SPA_AUDIO_FORMAT_ULAW
Definition: raw.h:88
 
@ SPA_AUDIO_FORMAT_U32_LE
Definition: raw.h:69
 
@ SPA_AUDIO_FORMAT_S20
Definition: raw.h:122
 
@ SPA_AUDIO_FORMAT_S32_BE
Definition: raw.h:68
 
@ SPA_AUDIO_FORMAT_DSP_F64
Definition: raw.h:110
 
@ SPA_AUDIO_FORMAT_F32P
Definition: raw.h:98
 
@ SPA_AUDIO_FORMAT_S24_32_LE
Definition: raw.h:63
 
@ SPA_AUDIO_FORMAT_S16_LE
Definition: raw.h:59
 
@ SPA_AUDIO_FORMAT_S18_OE
Definition: raw.h:138
 
@ SPA_AUDIO_FORMAT_F32_BE
Definition: raw.h:84
 
@ SPA_AUDIO_FORMAT_F32_LE
Definition: raw.h:83
 
@ SPA_AUDIO_FORMAT_U18_OE
Definition: raw.h:139
 
@ SPA_AUDIO_FORMAT_START_Planar
Definition: raw.h:92
 
@ SPA_AUDIO_FORMAT_START_Interleaved
Definition: raw.h:56
 
@ SPA_AUDIO_FORMAT_U32
Definition: raw.h:119
 
@ SPA_AUDIO_FORMAT_S16_OE
Definition: raw.h:128
 
@ SPA_AUDIO_FORMAT_S32_OE
Definition: raw.h:132
 
@ SPA_AUDIO_FORMAT_U24_BE
Definition: raw.h:74
 
@ SPA_AUDIO_FORMAT_U24_LE
Definition: raw.h:73
 
@ SPA_AUDIO_FORMAT_U18_BE
Definition: raw.h:82
 
@ SPA_AUDIO_FORMAT_S20_BE
Definition: raw.h:76
 
@ SPA_AUDIO_FORMAT_U24_32_LE
Definition: raw.h:65
 
@ SPA_AUDIO_FORMAT_U20_LE
Definition: raw.h:77
 
@ SPA_AUDIO_FORMAT_S24P
Definition: raw.h:97
 
@ SPA_AUDIO_FORMAT_S32_LE
Definition: raw.h:67
 
@ SPA_AUDIO_FORMAT_DSP_F32
Definition: raw.h:109
 
@ SPA_AUDIO_FORMAT_S24_32P
Definition: raw.h:95
 
@ SPA_AUDIO_FORMAT_S20_OE
Definition: raw.h:136
 
@ SPA_AUDIO_FORMAT_S8P
Definition: raw.h:100
 
@ SPA_AUDIO_FORMAT_U24
Definition: raw.h:121
 
@ SPA_AUDIO_FORMAT_START_Other
Definition: raw.h:103
 
@ SPA_AUDIO_FORMAT_UNKNOWN
Definition: raw.h:52
 
@ SPA_AUDIO_FORMAT_F64_BE
Definition: raw.h:86
 
@ SPA_AUDIO_FORMAT_F64P
Definition: raw.h:99
 
@ SPA_AUDIO_FORMAT_U20
Definition: raw.h:123
 
@ SPA_AUDIO_FORMAT_S8
Definition: raw.h:57
 
@ SPA_AUDIO_FORMAT_U32_OE
Definition: raw.h:133
 
@ SPA_AUDIO_FORMAT_U8
Definition: raw.h:58
 
@ SPA_AUDIO_FORMAT_U16_LE
Definition: raw.h:61
 
@ SPA_AUDIO_FORMAT_S24_LE
Definition: raw.h:71
 
@ SPA_AUDIO_FORMAT_DSP_S32
Definition: raw.h:108
 
@ SPA_AUDIO_FORMAT_U18
Definition: raw.h:125
 
@ SPA_AUDIO_FORMAT_U20_BE
Definition: raw.h:78
 
@ SPA_AUDIO_FORMAT_S24
Definition: raw.h:120
 
@ SPA_AUDIO_FORMAT_ENCODED
Definition: raw.h:53
 
@ SPA_AUDIO_FORMAT_S16_BE
Definition: raw.h:60
 
@ SPA_AUDIO_FORMAT_S24_BE
Definition: raw.h:72
 
@ SPA_AUDIO_FORMAT_U8P
Definition: raw.h:93
 
@ SPA_AUDIO_FORMAT_ALAW
Definition: raw.h:89
 
@ SPA_AUDIO_FORMAT_S32P
Definition: raw.h:96
 
@ SPA_AUDIO_FORMAT_S24_32_OE
Definition: raw.h:130
 
@ SPA_AUDIO_FORMAT_U24_32_OE
Definition: raw.h:131
 
@ SPA_AUDIO_FORMAT_S24_32_BE
Definition: raw.h:64
 
@ SPA_AUDIO_FORMAT_S16
Definition: raw.h:114
 
@ SPA_AUDIO_FORMAT_S24_32
Definition: raw.h:116
 
@ SPA_AUDIO_FORMAT_F64
Definition: raw.h:127
 
@ SPA_AUDIO_FORMAT_F32
Definition: raw.h:126
 
@ SPA_AUDIO_FORMAT_S20_LE
Definition: raw.h:75
 
@ SPA_AUDIO_FORMAT_S18
Definition: raw.h:124
 
@ SPA_AUDIO_FORMAT_F64_OE
Definition: raw.h:141
 
@ SPA_AUDIO_FORMAT_S18_BE
Definition: raw.h:80
 
@ SPA_AUDIO_FORMAT_S24_OE
Definition: raw.h:134
 
@ SPA_AUDIO_FORMAT_U16
Definition: raw.h:115
 
enum spa_audio_format format
Definition: raw.h:327
 
Audio information description.
Definition: raw.h:298
 
enum spa_audio_format format
Definition: raw.h:299
 
uint32_t channels
Definition: raw.h:302
 
uint32_t flags
Definition: raw.h:300
 
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: raw.h:303
 
uint32_t rate
Definition: raw.h:301