NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
btif_av_api.h
1
/******************************************************************************
2
*
3
* Copyright (C) 2009-2012 Broadcom Corporation
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at:
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
******************************************************************************/
18
19
/*****************************************************************************
20
**
21
** Name: btif_av_api.h
22
**
23
** Description: This is the public interface file for the advanced
24
** audio/video streaming (AV) subsystem of BTIF, Broadcom's
25
** Bluetooth application layer for mobile phones.
26
**
27
*****************************************************************************/
28
29
#ifndef BTIF_AV_API_H
30
#define BTIF_AV_API_H
31
32
#include "bt_target.h"
33
#include "bta_av_api.h"
34
#include "uipc.h"
35
36
#include "btif_media.h"
37
#include "a2d_api.h"
38
#include "a2d_sbc.h"
39
40
41
/*****************************************************************************
42
** Constants and data types
43
*****************************************************************************/
44
45
/* Codec type */
46
#define BTIF_AV_CODEC_NONE 0xFF
47
#define BTIF_AV_CODEC_SBC A2D_MEDIA_CT_SBC
/* SBC media codec type */
48
49
#define BTIF_AV_CODEC_PCM 0x5
/* Raw PCM */
50
51
typedef
UINT8 tBTIF_AV_CODEC_ID;
52
53
/* AV features masks */
54
#define BTIF_AV_FEAT_RCTG BTA_AV_FEAT_RCTG
/* remote control target */
55
#define BTIF_AV_FEAT_RCCT BTA_AV_FEAT_RCCT
/* remote control controller */
56
#define BTIF_AV_FEAT_METADATA BTA_AV_FEAT_METADATA
/* remote control Metadata Transfer command/response */
57
58
typedef
UINT16 tBTIF_AV_FEAT;
59
60
/* AV channel values */
61
#define BTIF_AV_CHNL_MSK BTA_AV_CHNL_MSK
62
#define BTIF_AV_CHNL_AUDIO BTA_AV_CHNL_AUDIO
/* audio channel */
63
#define BTIF_AV_CHNL_VIDEO BTA_AV_CHNL_VIDEO
/* video channel */
64
typedef
UINT8 tBTIF_AV_CHNL;
65
66
typedef
UINT8 tBTIF_AV_HNDL;
67
68
/* Operation id list for BTIF_AvRemoteCmd */
69
#define BTIF_AV_ID_SELECT 0x00
/* select */
70
#define BTIF_AV_ID_UP 0x01
/* up */
71
#define BTIF_AV_ID_DOWN 0x02
/* down */
72
#define BTIF_AV_ID_LEFT 0x03
/* left */
73
#define BTIF_AV_ID_RIGHT 0x04
/* right */
74
#define BTIF_AV_ID_RIGHT_UP 0x05
/* right-up */
75
#define BTIF_AV_ID_RIGHT_DOWN 0x06
/* right-down */
76
#define BTIF_AV_ID_LEFT_UP 0x07
/* left-up */
77
#define BTIF_AV_ID_LEFT_DOWN 0x08
/* left-down */
78
#define BTIF_AV_ID_ROOT_MENU 0x09
/* root menu */
79
#define BTIF_AV_ID_SETUP_MENU 0x0A
/* setup menu */
80
#define BTIF_AV_ID_CONT_MENU 0x0B
/* contents menu */
81
#define BTIF_AV_ID_FAV_MENU 0x0C
/* favorite menu */
82
#define BTIF_AV_ID_EXIT 0x0D
/* exit */
83
#define BTIF_AV_ID_0 0x20
/* 0 */
84
#define BTIF_AV_ID_1 0x21
/* 1 */
85
#define BTIF_AV_ID_2 0x22
/* 2 */
86
#define BTIF_AV_ID_3 0x23
/* 3 */
87
#define BTIF_AV_ID_4 0x24
/* 4 */
88
#define BTIF_AV_ID_5 0x25
/* 5 */
89
#define BTIF_AV_ID_6 0x26
/* 6 */
90
#define BTIF_AV_ID_7 0x27
/* 7 */
91
#define BTIF_AV_ID_8 0x28
/* 8 */
92
#define BTIF_AV_ID_9 0x29
/* 9 */
93
#define BTIF_AV_ID_DOT 0x2A
/* dot */
94
#define BTIF_AV_ID_ENTER 0x2B
/* enter */
95
#define BTIF_AV_ID_CLEAR 0x2C
/* clear */
96
#define BTIF_AV_ID_CHAN_UP 0x30
/* channel up */
97
#define BTIF_AV_ID_CHAN_DOWN 0x31
/* channel down */
98
#define BTIF_AV_ID_PREV_CHAN 0x32
/* previous channel */
99
#define BTIF_AV_ID_SOUND_SEL 0x33
/* sound select */
100
#define BTIF_AV_ID_INPUT_SEL 0x34
/* input select */
101
#define BTIF_AV_ID_DISP_INFO 0x35
/* display information */
102
#define BTIF_AV_ID_HELP 0x36
/* help */
103
#define BTIF_AV_ID_PAGE_UP 0x37
/* page up */
104
#define BTIF_AV_ID_PAGE_DOWN 0x38
/* page down */
105
#define BTIF_AV_ID_POWER 0x40
/* power */
106
#define BTIF_AV_ID_VOL_UP 0x41
/* volume up */
107
#define BTIF_AV_ID_VOL_DOWN 0x42
/* volume down */
108
#define BTIF_AV_ID_MUTE 0x43
/* mute */
109
#define BTIF_AV_ID_PLAY 0x44
/* play */
110
#define BTIF_AV_ID_STOP 0x45
/* stop */
111
#define BTIF_AV_ID_PAUSE 0x46
/* pause */
112
#define BTIF_AV_ID_RECORD 0x47
/* record */
113
#define BTIF_AV_ID_REWIND 0x48
/* rewind */
114
#define BTIF_AV_ID_FAST_FOR 0x49
/* fast forward */
115
#define BTIF_AV_ID_EJECT 0x4A
/* eject */
116
#define BTIF_AV_ID_FORWARD 0x4B
/* forward */
117
#define BTIF_AV_ID_BACKWARD 0x4C
/* backward */
118
#define BTIF_AV_ID_ANGLE 0x50
/* angle */
119
#define BTIF_AV_ID_SUBPICT 0x51
/* subpicture */
120
#define BTIF_AV_ID_F1 0x71
/* F1 */
121
#define BTIF_AV_ID_F2 0x72
/* F2 */
122
#define BTIF_AV_ID_F3 0x73
/* F3 */
123
#define BTIF_AV_ID_F4 0x74
/* F4 */
124
#define BTIF_AV_ID_F5 0x75
/* F5 */
125
#define BTIF_AV_ID_VENDOR 0x7E
/* vendor unique */
126
#define BTIF_AV_KEYPRESSED_RELEASE 0x80
127
128
typedef
UINT8 tBTIF_AV_RC;
129
130
/* State flag for pass through command */
131
#define BTIF_AV_STATE_PRESS 0
/* key pressed */
132
#define BTIF_AV_STATE_RELEASE 1
/* key released */
133
134
typedef
UINT8 tBTIF_AV_STATE;
135
136
typedef
UINT8 tBTIF_AV_RC_HNDL;
137
138
/* Command codes for BTIF_AvVendorCmd */
139
#define BTIF_AV_CMD_CTRL 0
140
#define BTIF_AV_CMD_STATUS 1
141
#define BTIF_AV_CMD_SPEC_INQ 2
142
#define BTIF_AV_CMD_NOTIF 3
143
#define BTIF_AV_CMD_GEN_INQ 4
144
145
typedef
UINT8 tBTIF_AV_CMD;
146
147
/* AV callback events */
148
#define BTIF_AV_OPEN_EVT 0
/* connection opened */
149
#define BTIF_AV_CLOSE_EVT 1
/* connection closed */
150
#define BTIF_AV_START_EVT 2
/* stream data transfer started */
151
#define BTIF_AV_STOP_EVT 3
/* stream data transfer stopped */
152
#define BTIF_AV_RC_OPEN_EVT 4
/* remote control channel open */
153
#define BTIF_AV_RC_CLOSE_EVT 5
/* remote control channel closed */
154
#define BTIF_AV_REMOTE_CMD_EVT 6
/* remote control command */
155
#define BTIF_AV_REMOTE_RSP_EVT 7
/* remote control response */
156
#define BTIF_AV_META_MSG_EVT 8
/* metadata messages */
157
158
typedef
UINT8 tBTIF_AV_EVT;
159
160
#define BTIF_AV_FEEDING_ASYNCHRONOUS 0
/* asynchronous feeding, use tx av timer */
161
#define BTIF_AV_FEEDING_SYNCHRONOUS 1
/* synchronous feeding, no av tx timer */
162
163
#define BTIF_AV_MAX_SYNCHRONOUS_LATENCY 80
/* max latency in ms for BTIF_AV_FEEDING_SYNCHRONOUS */
164
#define BTIF_AV_MIN_SYNCHRONOUS_LATENCY 4
/* min latency in ms for BTIF_AV_FEEDING_SYNCHRONOUS */
165
166
typedef
UINT8 tBTIF_AV_FEEDING_MODE;
167
168
#define BTIF_AV_CHANNEL_MODE_MONO A2D_SBC_IE_CH_MD_MONO
169
#define BTIF_AV_CHANNEL_MODE_STEREO A2D_SBC_IE_CH_MD_STEREO
170
#define BTIF_AV_CHANNEL_MODE_JOINT A2D_SBC_IE_CH_MD_JOINT
171
#define BTIF_AV_CHANNEL_MODE_DUAL A2D_SBC_IE_CH_MD_DUAL
172
173
typedef
UINT8 tBTIF_AV_CHANNEL_MODE;
174
175
/**
176
* Structure used to configure the AV codec capabilities/config
177
*/
178
typedef
struct
179
{
180
tBTIF_AV_CODEC_ID id;
/* Codec ID (in terms of BTIF) */
181
UINT8 info[AVDT_CODEC_SIZE];
/* Codec info (can be config or capabilities) */
182
}
tBTIF_AV_CODEC_INFO
;
183
184
/**
185
* Structure used to configure the AV media feeding
186
*/
187
typedef
struct
188
{
189
UINT16 sampling_freq;
/* 44100, 48000 etc */
190
UINT16 num_channel;
/* 1 for mono or 2 stereo */
191
UINT8 bit_per_sample;
/* Number of bits per sample (8, 16) */
192
}
tBTIF_AV_MEDIA_FEED_CFG_PCM
;
193
194
typedef
union
195
{
196
tBTIF_AV_MEDIA_FEED_CFG_PCM
pcm;
/* Raw PCM feeding format */
197
}
tBTIF_AV_MEDIA_FEED_CFG
;
198
199
typedef
struct
200
{
201
tBTIF_AV_CODEC_ID format;
/* Media codec identifier */
202
tBTIF_AV_MEDIA_FEED_CFG
cfg;
/* Media codec configuration */
203
}
tBTIF_AV_MEDIA_FEEDINGS
;
204
205
206
#ifdef __cplusplus
207
}
208
#endif
209
210
#endif
/* BTIF_AV_API_H */
tBTIF_AV_CODEC_INFO
Definition
btif_av_api.h:179
tBTIF_AV_MEDIA_FEEDINGS
Definition
btif_av_api.h:200
tBTIF_AV_MEDIA_FEED_CFG_PCM
Definition
btif_av_api.h:188
tBTIF_AV_MEDIA_FEED_CFG
Definition
btif_av_api.h:195
include
lib
revolution
BTE
btif
include
btif_av_api.h
Made with ❤️ by
CLF78
and
RootCubed
. Logos by
Chasical
and
B1
. Website generated by
Doxygen
1.13.2