PipeWire  0.3.66
aac.h
1 /* Simple Plugin API */
2 /* SPDX-FileCopyrightText: Copyright © 2023 Wim Taymans */
3 /* SPDX-License-Identifier: MIT */
4 
5 #ifndef SPA_AUDIO_AAC_H
6 #define SPA_AUDIO_AAC_H
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #include <spa/param/audio/raw.h>
13 
14 enum spa_audio_aac_stream_format {
15  SPA_AUDIO_AAC_STREAM_FORMAT_UNKNOWN,
16  /* Raw AAC frames */
17  SPA_AUDIO_AAC_STREAM_FORMAT_RAW,
18  /* ISO/IEC 13818-7 MPEG-2 Audio Data Transport Stream (ADTS) */
19  SPA_AUDIO_AAC_STREAM_FORMAT_MP2ADTS,
20  /* ISO/IEC 14496-3 MPEG-4 Audio Data Transport Stream (ADTS) */
21  SPA_AUDIO_AAC_STREAM_FORMAT_MP4ADTS,
22  /* ISO/IEC 14496-3 Low Overhead Audio Stream (LOAS) */
23  SPA_AUDIO_AAC_STREAM_FORMAT_MP4LOAS,
24  /* ISO/IEC 14496-3 Low Overhead Audio Transport Multiplex (LATM) */
25  SPA_AUDIO_AAC_STREAM_FORMAT_MP4LATM,
26  /* ISO/IEC 14496-3 Audio Data Interchange Format (ADIF) */
27  SPA_AUDIO_AAC_STREAM_FORMAT_ADIF,
28  /* ISO/IEC 14496-12 MPEG-4 file format */
29  SPA_AUDIO_AAC_STREAM_FORMAT_MP4FF,
30 
31  SPA_AUDIO_AAC_STREAM_FORMAT_CUSTOM = 0x10000,
32 };
33 
34 struct spa_audio_info_aac {
35  uint32_t rate; /*< sample rate */
36  uint32_t channels; /*< number of channels */
37  uint32_t bitrate; /*< stream bitrate */
38  enum spa_audio_aac_stream_format stream_format; /*< AAC audio stream format */
39 };
40 
41 #define SPA_AUDIO_INFO_AAC_INIT(...) ((struct spa_audio_info_aac) { __VA_ARGS__ })
42 
47 #ifdef __cplusplus
48 } /* extern "C" */
49 #endif
50 
51 #endif /* SPA_AUDIO_AAC_H */
spa/param/audio/raw.h
Definition: aac.h:38
uint32_t channels
Definition: aac.h:40
uint32_t bitrate
Definition: aac.h:41
uint32_t rate
Definition: aac.h:39
enum spa_audio_aac_stream_format stream_format
Definition: aac.h:42