blob: 0a527c10ed6c0852fc36f6ad2ce28c2470b64ec4 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _DVBAUDIO_H_
20#define _DVBAUDIO_H_
21#include <linux/types.h>
22typedef enum {
Tao Baod7db5942015-01-28 10:07:51 -080023 AUDIO_SOURCE_DEMUX,
24 AUDIO_SOURCE_MEMORY
Ben Cheng655a7c02013-10-16 16:09:24 -070025} audio_stream_source_t;
26typedef enum {
Tao Baod7db5942015-01-28 10:07:51 -080027 AUDIO_STOPPED,
28 AUDIO_PLAYING,
29 AUDIO_PAUSED
Ben Cheng655a7c02013-10-16 16:09:24 -070030} audio_play_state_t;
Ben Cheng655a7c02013-10-16 16:09:24 -070031typedef enum {
Tao Baod7db5942015-01-28 10:07:51 -080032 AUDIO_STEREO,
33 AUDIO_MONO_LEFT,
34 AUDIO_MONO_RIGHT,
Tao Baod7db5942015-01-28 10:07:51 -080035 AUDIO_MONO,
36 AUDIO_STEREO_SWAPPED
Ben Cheng655a7c02013-10-16 16:09:24 -070037} audio_channel_select_t;
38typedef struct audio_mixer {
Tao Baod7db5942015-01-28 10:07:51 -080039 unsigned int volume_left;
40 unsigned int volume_right;
Ben Cheng655a7c02013-10-16 16:09:24 -070041} audio_mixer_t;
42typedef struct audio_status {
Tao Baod7db5942015-01-28 10:07:51 -080043 int AV_sync_state;
44 int mute_state;
45 audio_play_state_t play_state;
46 audio_stream_source_t stream_source;
Tao Baod7db5942015-01-28 10:07:51 -080047 audio_channel_select_t channel_select;
48 int bypass_mode;
49 audio_mixer_t mixer_state;
Ben Cheng655a7c02013-10-16 16:09:24 -070050} audio_status_t;
Ben Cheng655a7c02013-10-16 16:09:24 -070051#define AUDIO_CAP_DTS 1
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define AUDIO_CAP_LPCM 2
53#define AUDIO_CAP_MP1 4
54#define AUDIO_CAP_MP2 8
55#define AUDIO_CAP_MP3 16
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define AUDIO_CAP_AAC 32
57#define AUDIO_CAP_OGG 64
58#define AUDIO_CAP_SDDS 128
59#define AUDIO_CAP_AC3 256
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define AUDIO_STOP _IO('o', 1)
61#define AUDIO_PLAY _IO('o', 2)
62#define AUDIO_PAUSE _IO('o', 3)
63#define AUDIO_CONTINUE _IO('o', 4)
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define AUDIO_SELECT_SOURCE _IO('o', 5)
65#define AUDIO_SET_MUTE _IO('o', 6)
66#define AUDIO_SET_AV_SYNC _IO('o', 7)
67#define AUDIO_SET_BYPASS_MODE _IO('o', 8)
Ben Cheng655a7c02013-10-16 16:09:24 -070068#define AUDIO_CHANNEL_SELECT _IO('o', 9)
69#define AUDIO_GET_STATUS _IOR('o', 10, audio_status_t)
70#define AUDIO_GET_CAPABILITIES _IOR('o', 11, unsigned int)
71#define AUDIO_CLEAR_BUFFER _IO('o', 12)
Ben Cheng655a7c02013-10-16 16:09:24 -070072#define AUDIO_SET_ID _IO('o', 13)
73#define AUDIO_SET_MIXER _IOW('o', 14, audio_mixer_t)
74#define AUDIO_SET_STREAMTYPE _IO('o', 15)
Ben Cheng655a7c02013-10-16 16:09:24 -070075#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
Ben Cheng655a7c02013-10-16 16:09:24 -070076#endif