blob: e606f792c0c53279f796cd3409e187d88413b8a9 [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;
Tao Baod7db5942015-01-28 10:07:51 -080051typedef struct audio_karaoke {
52 int vocal1;
53 int vocal2;
54 int melody;
Ben Cheng655a7c02013-10-16 16:09:24 -070055} audio_karaoke_t;
56typedef __u16 audio_attributes_t;
57#define AUDIO_CAP_DTS 1
Ben Cheng655a7c02013-10-16 16:09:24 -070058#define AUDIO_CAP_LPCM 2
59#define AUDIO_CAP_MP1 4
60#define AUDIO_CAP_MP2 8
61#define AUDIO_CAP_MP3 16
Ben Cheng655a7c02013-10-16 16:09:24 -070062#define AUDIO_CAP_AAC 32
63#define AUDIO_CAP_OGG 64
64#define AUDIO_CAP_SDDS 128
65#define AUDIO_CAP_AC3 256
Ben Cheng655a7c02013-10-16 16:09:24 -070066#define AUDIO_STOP _IO('o', 1)
67#define AUDIO_PLAY _IO('o', 2)
68#define AUDIO_PAUSE _IO('o', 3)
69#define AUDIO_CONTINUE _IO('o', 4)
Ben Cheng655a7c02013-10-16 16:09:24 -070070#define AUDIO_SELECT_SOURCE _IO('o', 5)
71#define AUDIO_SET_MUTE _IO('o', 6)
72#define AUDIO_SET_AV_SYNC _IO('o', 7)
73#define AUDIO_SET_BYPASS_MODE _IO('o', 8)
Ben Cheng655a7c02013-10-16 16:09:24 -070074#define AUDIO_CHANNEL_SELECT _IO('o', 9)
75#define AUDIO_GET_STATUS _IOR('o', 10, audio_status_t)
76#define AUDIO_GET_CAPABILITIES _IOR('o', 11, unsigned int)
77#define AUDIO_CLEAR_BUFFER _IO('o', 12)
Ben Cheng655a7c02013-10-16 16:09:24 -070078#define AUDIO_SET_ID _IO('o', 13)
79#define AUDIO_SET_MIXER _IOW('o', 14, audio_mixer_t)
80#define AUDIO_SET_STREAMTYPE _IO('o', 15)
81#define AUDIO_SET_EXT_ID _IO('o', 16)
Ben Cheng655a7c02013-10-16 16:09:24 -070082#define AUDIO_SET_ATTRIBUTES _IOW('o', 17, audio_attributes_t)
83#define AUDIO_SET_KARAOKE _IOW('o', 18, audio_karaoke_t)
84#define AUDIO_GET_PTS _IOR('o', 19, __u64)
85#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
Ben Cheng655a7c02013-10-16 16:09:24 -070086#endif