PipeWire: spa/param/audio/iec958.h Source File

PipeWire 0.3.59

iec958.h
Go to the documentation of this file.
1/* Simple Plugin API
2 *
3 * Copyright © 2021 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_IEC958_H
26#define SPA_AUDIO_IEC958_H
27
28#include <stdint.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
38enum spa_audio_iec958_codec {
39 SPA_AUDIO_IEC958_CODEC_UNKNOWN,
40
41 SPA_AUDIO_IEC958_CODEC_PCM,
42 SPA_AUDIO_IEC958_CODEC_DTS,
43 SPA_AUDIO_IEC958_CODEC_AC3,
44 SPA_AUDIO_IEC958_CODEC_MPEG,
45 SPA_AUDIO_IEC958_CODEC_MPEG2_AAC,
47 SPA_AUDIO_IEC958_CODEC_EAC3,
48
49 SPA_AUDIO_IEC958_CODEC_TRUEHD,
50 SPA_AUDIO_IEC958_CODEC_DTSHD,
51};
52
53struct spa_audio_info_iec958 {
54 enum spa_audio_iec958_codec codec; /*< format, one of the DSP formats in enum spa_audio_format_dsp */
55 uint32_t flags; /*< extra flags */
56 uint32_t rate; /*< sample rate */
57};
58
59#define SPA_AUDIO_INFO_IEC958_INIT(...) ((struct spa_audio_info_iec958) { __VA_ARGS__ })
60
65#ifdef __cplusplus
66} /* extern "C" */
67#endif
68
69#endif /* SPA_AUDIO_IEC958_H */
spa_audio_iec958_codec
spa_audio_iec958_codec
Definition: iec958.h:43
SPA_AUDIO_IEC958_CODEC_MPEG2_AAC
@ SPA_AUDIO_IEC958_CODEC_MPEG2_AAC
MPEG-2 AAC.
Definition: iec958.h:50
SPA_AUDIO_IEC958_CODEC_AC3
@ SPA_AUDIO_IEC958_CODEC_AC3
Definition: iec958.h:48
SPA_AUDIO_IEC958_CODEC_UNKNOWN
@ SPA_AUDIO_IEC958_CODEC_UNKNOWN
Definition: iec958.h:44
SPA_AUDIO_IEC958_CODEC_MPEG
@ SPA_AUDIO_IEC958_CODEC_MPEG
MPEG-1 or MPEG-2 (Part 3, not AAC)
Definition: iec958.h:49
SPA_AUDIO_IEC958_CODEC_DTSHD
@ SPA_AUDIO_IEC958_CODEC_DTSHD
DTS-HD Master Audio.
Definition: iec958.h:55
SPA_AUDIO_IEC958_CODEC_EAC3
@ SPA_AUDIO_IEC958_CODEC_EAC3
Definition: iec958.h:52
SPA_AUDIO_IEC958_CODEC_TRUEHD
@ SPA_AUDIO_IEC958_CODEC_TRUEHD
Dolby TrueHD.
Definition: iec958.h:54
SPA_AUDIO_IEC958_CODEC_PCM
@ SPA_AUDIO_IEC958_CODEC_PCM
Definition: iec958.h:46
SPA_AUDIO_IEC958_CODEC_DTS
@ SPA_AUDIO_IEC958_CODEC_DTS
Definition: iec958.h:47
spa_audio_info_iec958
Definition: iec958.h:58
spa_audio_info_iec958::flags
uint32_t flags
Definition: iec958.h:60
spa_audio_info_iec958::codec
enum spa_audio_iec958_codec codec
Definition: iec958.h:59
spa_audio_info_iec958::rate
uint32_t rate
Definition: iec958.h:61