FreeCalypso > hg > ffs-editor
comparison src/cs/services/audio/audio_api.h @ 0:92470e5d0b9e
src: partial import from FC Selenite
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 15 May 2020 01:28:16 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:92470e5d0b9e |
|---|---|
| 1 /****************************************************************************/ | |
| 2 /* */ | |
| 3 /* File Name: audio_api.h */ | |
| 4 /* */ | |
| 5 /* Purpose: This file contains data structures and functions prototypes */ | |
| 6 /* used to send events to the AUDIO SWE. */ | |
| 7 /* */ | |
| 8 /* Version 0.1 */ | |
| 9 /* */ | |
| 10 /* Date Modification */ | |
| 11 /* ------------------------------------ */ | |
| 12 /* 18 May 2001 Create */ | |
| 13 /* */ | |
| 14 /* Author Francois Mazard - Stephanie Gerthoux */ | |
| 15 /* */ | |
| 16 /* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/ | |
| 17 /****************************************************************************/ | |
| 18 | |
| 19 | |
| 20 | |
| 21 #ifndef __AUDIO_API_H_ | |
| 22 #define __AUDIO_API_H_ | |
| 23 | |
| 24 #ifdef __cplusplus | |
| 25 extern "C" | |
| 26 { | |
| 27 #endif | |
| 28 | |
| 29 #define AUDIO_EVENTS_MASK (0x3000) | |
| 30 #define AUDIO_EVENT_EXTERN (0x0C00) | |
| 31 | |
| 32 /* Immediat return */ | |
| 33 typedef INT8 T_AUDIO_RET; | |
| 34 | |
| 35 /* possible values */ | |
| 36 #define AUDIO_OK (0) | |
| 37 #define AUDIO_ERROR (-1) | |
| 38 #define AUDIO_MODE_ERROR (-2) | |
| 39 /* Bad acquisition of the word. The word is too long or too short */ | |
| 40 #define AUDIO_BAD_ACQUISITION (-3) | |
| 41 /* The DSP task to acquire the word takes to much time */ | |
| 42 #define AUDIO_TIME_OUT (-4) | |
| 43 /* Bad update of the model. The model from the database is too different */ | |
| 44 /* than the model built during the acquisition. */ | |
| 45 #define AUDIO_BAD_UPDATE (-5) | |
| 46 /* This word is out of vocabulary or the best words are too close */ | |
| 47 #define AUDIO_BAD_RECOGNITION (-6) | |
| 48 /* A word generated by the CTO algorithm is the best word. */ | |
| 49 #define AUDIO_CTO_WORD (-7) | |
| 50 /* The best word isn't the word to update. */ | |
| 51 #define AUDIO_CHECK_ERROR (-8) | |
| 52 #define AUDIO_NOT_ENOUGH_OSCILLATOR (-9) | |
| 53 | |
| 54 /******************************* AUDIO DRIVER *****************************/ | |
| 55 #define AUDIO_VM_AMR_RECORD_SESSION_ID (10) | |
| 56 #define AUDIO_VM_AMR_PLAY_SESSION_ID (11) | |
| 57 #define AUDIO_MIDI_SESSION_ID (12) | |
| 58 | |
| 59 /******************************* KEY BEEP REGISTRATION *****************************/ | |
| 60 /* Definition of no_beep */ | |
| 61 #define NO_BEEP (0) | |
| 62 | |
| 63 /* Parameters */ | |
| 64 typedef struct | |
| 65 { | |
| 66 UINT16 frequency_beep[2]; /* Frequency of the 2 beeps */ | |
| 67 INT8 amplitude_beep[2]; /* Amplitude of the 2 beeps */ | |
| 68 UINT16 duration; | |
| 69 } T_AUDIO_KEYBEEP_PARAMETER; | |
| 70 | |
| 71 /* Prototype */ | |
| 72 T_AUDIO_RET audio_keybeep_start (T_AUDIO_KEYBEEP_PARAMETER parameter, | |
| 73 T_RV_RETURN return_path); | |
| 74 | |
| 75 /* Event return */ | |
| 76 #define AUDIO_KEYBEEP_STATUS_MSG (0x0001 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 77 typedef struct | |
| 78 { | |
| 79 T_RV_HDR os_hdr; | |
| 80 INT8 status; | |
| 81 } T_AUDIO_KEYBEEP_STATUS; | |
| 82 | |
| 83 /* Prototype */ | |
| 84 T_AUDIO_RET audio_keybeep_stop (T_RV_RETURN return_path); | |
| 85 | |
| 86 /******************************* TONES REGISTRATION *****************************/ | |
| 87 | |
| 88 /* Definition of no_tone and tone_infinite */ | |
| 89 #define NO_TONE (0) | |
| 90 #define TONE_INFINITE (0xFFFF) | |
| 91 | |
| 92 /* Parameters */ | |
| 93 typedef struct | |
| 94 { | |
| 95 UINT16 start_tone; /* start date of the tone */ | |
| 96 UINT16 stop_tone; /* stop date of the tone */ | |
| 97 UINT16 frequency_tone; /* frequency of the tone */ | |
| 98 INT8 amplitude_tone; /* amplitude of the tone */ | |
| 99 } T_AUDIO_TONE_DESC; | |
| 100 | |
| 101 typedef struct | |
| 102 { | |
| 103 T_AUDIO_TONE_DESC tones[3]; /* Description of the 3 tones */ | |
| 104 UINT16 frame_duration; /* Duration of the tones frame */ | |
| 105 UINT16 sequence_duration; /* Duration of the sequence */ | |
| 106 UINT16 period_duration; /* Duration of the period */ | |
| 107 UINT16 repetition; /* number of period */ | |
| 108 } T_AUDIO_TONES_PARAMETER; | |
| 109 | |
| 110 /* Prototype */ | |
| 111 T_AUDIO_RET audio_tones_start (T_AUDIO_TONES_PARAMETER* p_parameter, | |
| 112 T_RV_RETURN return_path); | |
| 113 | |
| 114 /* Event return */ | |
| 115 #define AUDIO_TONES_STATUS_MSG (0x0002 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 116 typedef struct | |
| 117 { | |
| 118 T_RV_HDR os_hdr; | |
| 119 INT8 status; | |
| 120 } T_AUDIO_TONES_STATUS; | |
| 121 | |
| 122 /* Prototype */ | |
| 123 T_AUDIO_RET audio_tones_stop (T_RV_RETURN return_path); | |
| 124 | |
| 125 /******************************* AUDIO DRIVER REGISTRATION ************************/ | |
| 126 | |
| 127 T_AUDIO_RET audio_driver_start_session(UINT8 channel_id, T_RV_RETURN notification_return_path); | |
| 128 | |
| 129 T_AUDIO_RET audio_driver_stop_session(UINT8 channel_id); | |
| 130 | |
| 131 T_AUDIO_RET audio_driver_free_session(UINT8 channel_id, T_RV_RETURN return_path); | |
| 132 | |
| 133 T_AUDIO_RET audio_driver_get_play_buffer(UINT8 channel_id, UINT8 **pp_buffer); | |
| 134 T_AUDIO_RET audio_driver_play_buffer(UINT8 channel_id, UINT8 *p_buffer); | |
| 135 | |
| 136 #define AUDIO_DRIVER_INIT_STATUS_MSG (0x0003 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 137 typedef struct | |
| 138 { | |
| 139 T_RV_HDR os_hdr; | |
| 140 INT8 status; | |
| 141 UINT8 channel_id; | |
| 142 UINT8 session_id; | |
| 143 } T_AUDIO_DRIVER_INIT_STATUS; | |
| 144 | |
| 145 #define AUDIO_DRIVER_NOTIFICATION_MSG (0x0004 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 146 typedef struct | |
| 147 { | |
| 148 T_RV_HDR header; | |
| 149 UINT8 channel_id; | |
| 150 UINT16 *p_buffer; | |
| 151 } | |
| 152 T_AUDIO_DRIVER_NOTIFICATION; | |
| 153 | |
| 154 #define AUDIO_DRIVER_LAST_NOTIFICATION_MSG (0x0005 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 155 typedef struct | |
| 156 { | |
| 157 T_RV_HDR header; | |
| 158 UINT8 channel_id; | |
| 159 UINT16 *p_buffer; | |
| 160 UINT32 recorded_size; | |
| 161 } | |
| 162 T_AUDIO_DRIVER_LAST_NOTIFICATION; | |
| 163 | |
| 164 #define AUDIO_DRIVER_STATUS_MSG (0x0006 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 165 typedef struct | |
| 166 { | |
| 167 T_RV_HDR os_hdr; | |
| 168 INT8 status; | |
| 169 UINT8 status_type; | |
| 170 UINT8 channel_id; | |
| 171 } T_AUDIO_DRIVER_STATUS; | |
| 172 | |
| 173 #define AUDIO_START_STATUS (1) | |
| 174 #define AUDIO_STOP_STATUS (2) | |
| 175 #define AUDIO_FREE_STATUS (3) | |
| 176 | |
| 177 typedef struct | |
| 178 { | |
| 179 UINT16 buffer_size; | |
| 180 UINT8 nb_buffer; | |
| 181 } T_AUDIO_DRIVER_PARAMETER; | |
| 182 | |
| 183 /******************************* MELODY AND VOICE MEMO REGISTRATION *****************************/ | |
| 184 /* Definition of the maximum size of the path name */ | |
| 185 #define AUDIO_PATH_NAME_MAX_SIZE (20) | |
| 186 /* Definition of the maximum number of instruments */ | |
| 187 #define AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT (128) | |
| 188 | |
| 189 /******************************* MELODY REGISTRATION *****************************/ | |
| 190 | |
| 191 /* Definition of loopback melody mode */ | |
| 192 #define AUDIO_MELODY_NO_LOOPBACK (0) | |
| 193 #define AUDIO_MELODY_LOOPBACK (1) | |
| 194 | |
| 195 /* Definition ofthe mode of melody */ | |
| 196 #define AUDIO_MELODY_GAME_MODE (0) | |
| 197 #define AUDIO_MELODY_NORMAL_MODE (1) | |
| 198 | |
| 199 /******** Melody E1 ********/ | |
| 200 | |
| 201 /* Parameters */ | |
| 202 typedef struct | |
| 203 { | |
| 204 char melody_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the melody */ | |
| 205 BOOLEAN loopback; /* the melody is played indefinitely */ | |
| 206 BOOLEAN melody_mode; /* mode of the melody */ | |
| 207 } T_AUDIO_MELODY_E1_PARAMETER; | |
| 208 | |
| 209 typedef struct | |
| 210 { | |
| 211 char melody_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the melody */ | |
| 212 } | |
| 213 T_AUDIO_MELODY_E1_STOP_PARAMETER; | |
| 214 | |
| 215 /* Prototype */ | |
| 216 T_AUDIO_RET audio_melody_E1_start (T_AUDIO_MELODY_E1_PARAMETER *parameter, | |
| 217 T_RV_RETURN return_path); | |
| 218 | |
| 219 /* Event return */ | |
| 220 #define AUDIO_MELODY_E1_STATUS_MSG (0x0007 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 221 typedef struct | |
| 222 { | |
| 223 T_RV_HDR os_hdr; | |
| 224 INT8 status; | |
| 225 } T_AUDIO_MELODY_E1_STATUS; | |
| 226 | |
| 227 /* Prototype */ | |
| 228 T_AUDIO_RET audio_melody_E1_stop (T_AUDIO_MELODY_E1_STOP_PARAMETER *parameter, | |
| 229 T_RV_RETURN return_path); | |
| 230 | |
| 231 /******** Melody E2 ********/ | |
| 232 | |
| 233 /* Parameters */ | |
| 234 typedef struct | |
| 235 { | |
| 236 char melody_E2_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the melody */ | |
| 237 BOOLEAN E2_loopback; /* the melody is played indefinitely */ | |
| 238 BOOLEAN melody_E2_mode; /* mode of the melody (Game/Normal)*/ | |
| 239 } T_AUDIO_MELODY_E2_PARAMETER; | |
| 240 | |
| 241 typedef struct | |
| 242 { | |
| 243 char melody_E2_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the melody */ | |
| 244 } T_AUDIO_MELODY_E2_STOP_PARAMETER; | |
| 245 | |
| 246 typedef struct | |
| 247 { | |
| 248 char melody_E2_file_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the melody */ | |
| 249 } T_AUDIO_MELODY_E2_LOAD_FILE_INSTR_PARAMETER; | |
| 250 | |
| 251 | |
| 252 /* Prototype */ | |
| 253 T_AUDIO_RET audio_melody_E2_load_file_instruments ( | |
| 254 T_AUDIO_MELODY_E2_LOAD_FILE_INSTR_PARAMETER *p_parameter); | |
| 255 | |
| 256 T_AUDIO_RET audio_melody_E2_start (T_AUDIO_MELODY_E2_PARAMETER *p_parameter, | |
| 257 T_RV_RETURN return_path); | |
| 258 T_AUDIO_RET audio_melody_E2_stop (T_AUDIO_MELODY_E2_STOP_PARAMETER *parameter, | |
| 259 T_RV_RETURN return_path); | |
| 260 | |
| 261 /* Event return */ | |
| 262 /* For melody_E2 */ | |
| 263 #define AUDIO_MELODY_E2_STATUS_MSG (0x0008 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 264 | |
| 265 typedef struct | |
| 266 { | |
| 267 T_RV_HDR os_hdr; | |
| 268 INT8 status; | |
| 269 } T_AUDIO_MELODY_E2_STATUS; | |
| 270 | |
| 271 | |
| 272 | |
| 273 /******************************* VOICE MEMO REGISTRATION *****************************/ | |
| 274 | |
| 275 /* ---------------------------- */ | |
| 276 /* Voice memo PLAY */ | |
| 277 /* ---------------------------- */ | |
| 278 | |
| 279 /* Parameters */ | |
| 280 typedef struct | |
| 281 { | |
| 282 char memo_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the Voice Memo play */ | |
| 283 } T_AUDIO_VM_PLAY_PARAMETER; | |
| 284 | |
| 285 /* Prototype */ | |
| 286 T_AUDIO_RET audio_vm_play_start(T_AUDIO_VM_PLAY_PARAMETER *p_parameter, | |
| 287 T_RV_RETURN return_path); | |
| 288 | |
| 289 /* Event return */ | |
| 290 #define AUDIO_VM_PLAY_STATUS_MSG (0x0009 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 291 typedef struct | |
| 292 { | |
| 293 T_RV_HDR os_hdr; | |
| 294 INT8 status; | |
| 295 } T_AUDIO_VM_PLAY_STATUS; | |
| 296 | |
| 297 /* Prototype */ | |
| 298 T_AUDIO_RET audio_vm_play_stop (T_RV_RETURN return_path); | |
| 299 | |
| 300 /* ---------------------------- */ | |
| 301 /* Voice memo RECORD */ | |
| 302 /* ---------------------------- */ | |
| 303 | |
| 304 /* Definition of compression mode */ | |
| 305 #define AUDIO_VM_NO_COMPRESSION_MODE (0) | |
| 306 #define AUDIO_VM_COMPRESSION_MODE (1) | |
| 307 | |
| 308 /* Parameters */ | |
| 309 typedef struct | |
| 310 { | |
| 311 char memo_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the Voice Memo play */ | |
| 312 UINT32 memo_duration; /* maximum duration of the voice memo */ | |
| 313 BOOL compression_mode; /* activate the compression */ | |
| 314 UINT16 microphone_gain; /* recording gain applies to microphone */ | |
| 315 UINT16 network_gain; /* gain applies to the network voice */ | |
| 316 } T_AUDIO_VM_RECORD_PARAMETER; | |
| 317 | |
| 318 /* Prototype */ | |
| 319 T_AUDIO_RET audio_vm_record_start( T_AUDIO_VM_RECORD_PARAMETER *p_record_parameter, | |
| 320 T_AUDIO_TONES_PARAMETER *p_tones_parameter, | |
| 321 T_RV_RETURN return_path); | |
| 322 | |
| 323 /* Event return */ | |
| 324 #define AUDIO_VM_RECORD_STATUS_MSG (0x000A | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 325 typedef struct | |
| 326 { | |
| 327 T_RV_HDR os_hdr; | |
| 328 INT8 status; | |
| 329 UINT16 recorded_duration; | |
| 330 } T_AUDIO_VM_RECORD_STATUS; | |
| 331 | |
| 332 /* Prototype */ | |
| 333 T_AUDIO_RET audio_vm_record_stop (T_RV_RETURN return_path); | |
| 334 | |
| 335 /******************************* VOICE MEMO DRIVER AMR REGISTRATION *****************************/ | |
| 336 | |
| 337 /* ---------------------------- */ | |
| 338 /* Voice memo AMR PLAY */ | |
| 339 /* ---------------------------- */ | |
| 340 | |
| 341 /* Parameters */ | |
| 342 typedef struct | |
| 343 { | |
| 344 char memo_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the Voice Memo AMR play */ | |
| 345 } T_AUDIO_AMR_PLAY_FROM_FFS_PARAMETER; | |
| 346 | |
| 347 typedef T_AUDIO_AMR_PLAY_FROM_FFS_PARAMETER T_AUDIO_MMS_PLAY_FROM_FFS_PARAMETER; | |
| 348 | |
| 349 typedef struct | |
| 350 { | |
| 351 UINT8 *p_buffer; /* pointer on buffer to copy from */ | |
| 352 UINT16 buffer_size; /* size of buffer */ | |
| 353 } T_AUDIO_AMR_PLAY_FROM_RAM_PARAMETER; | |
| 354 | |
| 355 #define AUDIO_AMR_PLAY_FROM_MEM_STATUS_MSG (0x000B | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 356 typedef struct | |
| 357 { | |
| 358 T_RV_HDR os_hdr; | |
| 359 INT8 status; | |
| 360 } T_AUDIO_AMR_PLAY_STATUS; | |
| 361 | |
| 362 /* Prototype */ | |
| 363 T_AUDIO_RET audio_amr_play_from_ffs_start (T_AUDIO_AMR_PLAY_FROM_FFS_PARAMETER *p_record_parameter, | |
| 364 T_RV_RETURN return_path); | |
| 365 T_AUDIO_RET audio_amr_play_from_ffs_stop (void); | |
| 366 | |
| 367 T_AUDIO_RET audio_mms_play_from_ffs_start (T_AUDIO_MMS_PLAY_FROM_FFS_PARAMETER *p_record_parameter, | |
| 368 T_RV_RETURN return_path); | |
| 369 T_AUDIO_RET audio_mms_play_from_ffs_stop (void); | |
| 370 | |
| 371 T_AUDIO_RET audio_amr_play_from_ram_start (T_AUDIO_AMR_PLAY_FROM_RAM_PARAMETER *p_record_parameter, | |
| 372 T_RV_RETURN return_path); | |
| 373 T_AUDIO_RET audio_amr_play_from_ram_stop (void); | |
| 374 | |
| 375 T_AUDIO_RET audio_driver_init_vm_amr_play_session(T_AUDIO_DRIVER_PARAMETER *p_driver_parameter, T_RV_RETURN return_path); | |
| 376 | |
| 377 /* ---------------------------- */ | |
| 378 /* Voice memo AMR RECORD */ | |
| 379 /* ---------------------------- */ | |
| 380 | |
| 381 /* Definition of compression mode */ | |
| 382 #define AUDIO_AMR_NO_COMPRESSION_MODE (0) | |
| 383 #define AUDIO_AMR_COMPRESSION_MODE (1) | |
| 384 | |
| 385 /* Definition of AMR vocoders */ | |
| 386 #define AUDIO_AMR_VOCODER_4_75 (0) | |
| 387 #define AUDIO_AMR_VOCODER_5_15 (1) | |
| 388 #define AUDIO_AMR_VOCODER_5_90 (2) | |
| 389 #define AUDIO_AMR_VOCODER_6_70 (3) | |
| 390 #define AUDIO_AMR_VOCODER_7_40 (4) | |
| 391 #define AUDIO_AMR_VOCODER_7_95 (5) | |
| 392 #define AUDIO_AMR_VOCODER_10_2 (6) | |
| 393 #define AUDIO_AMR_VOCODER_12_2 (7) | |
| 394 | |
| 395 /* Parameters */ | |
| 396 typedef struct | |
| 397 { | |
| 398 char memo_name[AUDIO_PATH_NAME_MAX_SIZE]; /* File name of the Voice Memo AMR play */ | |
| 399 UINT32 memo_duration; /* maximum duration of the voice memo */ | |
| 400 BOOL compression_mode; /* activate the compression */ | |
| 401 UINT16 microphone_gain; /* recording gain applies to microphone */ | |
| 402 UINT8 amr_vocoder; /* AMR codec */ | |
| 403 } T_AUDIO_AMR_RECORD_TO_FFS_PARAMETER; | |
| 404 | |
| 405 typedef T_AUDIO_AMR_RECORD_TO_FFS_PARAMETER T_AUDIO_MMS_RECORD_TO_FFS_PARAMETER; | |
| 406 | |
| 407 typedef struct | |
| 408 { | |
| 409 UINT8 *p_buffer; /* pointer on buffer to copy to, length must be > memo_duration */ | |
| 410 UINT32 memo_duration; /* maximum duration of the voice memo */ | |
| 411 BOOL compression_mode; /* activate the compression */ | |
| 412 UINT16 microphone_gain; /* recording gain applies to microphone */ | |
| 413 UINT8 amr_vocoder; /* AMR codec */ | |
| 414 } T_AUDIO_AMR_RECORD_TO_RAM_PARAMETER; | |
| 415 | |
| 416 /* Parameters */ | |
| 417 typedef struct | |
| 418 { | |
| 419 UINT32 memo_duration; /* maximum duration of the voice memo */ | |
| 420 BOOL compression_mode; /* activate the compression */ | |
| 421 UINT16 microphone_gain; /* recording gain applies to microphone */ | |
| 422 UINT8 amr_vocoder; /* AMR codec */ | |
| 423 } T_AUDIO_DRIVER_VM_AMR_RECORD_PARAMETER; | |
| 424 | |
| 425 #define AUDIO_AMR_RECORD_TO_MEM_STATUS_MSG (0x000C | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 426 typedef struct | |
| 427 { | |
| 428 T_RV_HDR os_hdr; | |
| 429 INT8 status; | |
| 430 UINT32 recorded_duration; | |
| 431 } T_AUDIO_AMR_RECORD_STATUS; | |
| 432 | |
| 433 /* Prototype */ | |
| 434 T_AUDIO_RET audio_amr_record_to_ffs_start (T_AUDIO_AMR_RECORD_TO_FFS_PARAMETER *p_record_parameter, | |
| 435 T_RV_RETURN return_path); | |
| 436 T_AUDIO_RET audio_amr_record_to_ffs_stop (void); | |
| 437 | |
| 438 T_AUDIO_RET audio_mms_record_to_ffs_start (T_AUDIO_MMS_RECORD_TO_FFS_PARAMETER *p_record_parameter, | |
| 439 T_RV_RETURN return_path); | |
| 440 T_AUDIO_RET audio_mms_record_to_ffs_stop (void); | |
| 441 | |
| 442 T_AUDIO_RET audio_amr_record_to_ram_start (T_AUDIO_AMR_RECORD_TO_RAM_PARAMETER *p_record_parameter, | |
| 443 T_RV_RETURN return_path); | |
| 444 T_AUDIO_RET audio_amr_record_to_ram_stop (void); | |
| 445 | |
| 446 T_AUDIO_RET audio_driver_init_vm_amr_record_session(T_AUDIO_DRIVER_VM_AMR_RECORD_PARAMETER *p_record_parameter, | |
| 447 T_AUDIO_DRIVER_PARAMETER *p_driver_parameter, | |
| 448 T_RV_RETURN return_path); | |
| 449 | |
| 450 /******************************* AUDIO SPEECH RECOGNITION REGISTRATION ************************/ | |
| 451 | |
| 452 /* ---------------------------- */ | |
| 453 /* Start Enrollment */ | |
| 454 /* ---------------------------- */ | |
| 455 | |
| 456 /* Symbolic constant */ | |
| 457 #define AUDIO_SR_RECORD_SPEECH (1) | |
| 458 #define AUDIO_SR_NO_RECORD_SPEECH (0) | |
| 459 | |
| 460 /* maximum number of vocabulary name */ | |
| 461 #define AUDIO_SR_MAX_VOCABULARY_NAME (10) | |
| 462 | |
| 463 /* Parameters */ | |
| 464 typedef struct { | |
| 465 char enroll_name[AUDIO_PATH_NAME_MAX_SIZE]; /* name and path of the word to enroll */ | |
| 466 BOOL record_speech; /* speech sample must be recorded or not */ | |
| 467 }T_AUDIO_SR_ENROLL_PARAMETER; | |
| 468 | |
| 469 /* Prototype */ | |
| 470 T_AUDIO_RET audio_sr_enroll_start (T_AUDIO_SR_ENROLL_PARAMETER *p_parameter, | |
| 471 T_RV_RETURN return_path); | |
| 472 | |
| 473 /* Event return */ | |
| 474 #define AUDIO_SR_ENROLL_STATUS_MSG (0x000D | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 475 typedef struct | |
| 476 { | |
| 477 T_RV_HDR os_hdr; | |
| 478 INT8 status; | |
| 479 } T_AUDIO_SR_ENROLL_STATUS; | |
| 480 | |
| 481 /* ---------------------------- */ | |
| 482 /* Stop Enrollment */ | |
| 483 /* ---------------------------- */ | |
| 484 | |
| 485 /* Symbolic constant */ | |
| 486 | |
| 487 /* Parameters */ | |
| 488 | |
| 489 /* Prototype */ | |
| 490 T_AUDIO_RET audio_sr_enroll_stop ( T_RV_RETURN return_path ); | |
| 491 | |
| 492 /* Event return */ | |
| 493 | |
| 494 /* ---------------------------- */ | |
| 495 /* Start Update */ | |
| 496 /* ---------------------------- */ | |
| 497 | |
| 498 /* Symbolic constant */ | |
| 499 | |
| 500 /* Parameters */ | |
| 501 typedef struct { | |
| 502 char update_name[AUDIO_PATH_NAME_MAX_SIZE]; /* name and path of the word to update */ | |
| 503 BOOL record_speech; /* speech sample must be recorded or not */ | |
| 504 }T_AUDIO_SR_UPDATE_PARAMETER; | |
| 505 | |
| 506 /* Prototype */ | |
| 507 T_AUDIO_RET audio_sr_update_start (T_AUDIO_SR_UPDATE_PARAMETER *p_parameter, | |
| 508 T_RV_RETURN return_path); | |
| 509 | |
| 510 /* Event return */ | |
| 511 #define AUDIO_SR_UPDATE_STATUS_MSG (0x000E | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 512 typedef struct | |
| 513 { | |
| 514 T_RV_HDR os_hdr; | |
| 515 INT8 status; | |
| 516 } T_AUDIO_SR_UPDATE_STATUS; | |
| 517 | |
| 518 /* ---------------------------- */ | |
| 519 /* Stop Update */ | |
| 520 /* ---------------------------- */ | |
| 521 | |
| 522 /* Symbolic constant */ | |
| 523 | |
| 524 /* Parameters */ | |
| 525 | |
| 526 /* Prototype */ | |
| 527 T_AUDIO_RET audio_sr_update_stop ( T_RV_RETURN return_path ); | |
| 528 | |
| 529 /* Event return */ | |
| 530 | |
| 531 /* ---------------------------- */ | |
| 532 /* Start Update */ | |
| 533 /* ---------------------------- */ | |
| 534 | |
| 535 /* Symbolic constant */ | |
| 536 | |
| 537 /* Parameters */ | |
| 538 typedef struct { | |
| 539 /* directory of the vocabulary database */ | |
| 540 char database_directory[AUDIO_PATH_NAME_MAX_SIZE]; | |
| 541 }T_AUDIO_SR_RECO_PARAMETER; | |
| 542 | |
| 543 /* Prototype */ | |
| 544 T_AUDIO_RET audio_sr_reco_start (T_AUDIO_SR_RECO_PARAMETER *p_parameter, | |
| 545 T_RV_RETURN return_path); | |
| 546 | |
| 547 /* Event return */ | |
| 548 #define AUDIO_SR_RECO_STATUS_MSG (0x000F | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 549 typedef struct { | |
| 550 T_RV_HDR os_hdr; | |
| 551 /* status about the recognition task */ | |
| 552 INT8 status; | |
| 553 /*path ofthe recognized word */ | |
| 554 char word_recognized[AUDIO_PATH_NAME_MAX_SIZE]; | |
| 555 } T_AUDIO_SR_RECO_STATUS; | |
| 556 | |
| 557 /* ---------------------------- */ | |
| 558 /* Stop reco */ | |
| 559 /* ---------------------------- */ | |
| 560 | |
| 561 /* Symbolic constant */ | |
| 562 | |
| 563 /* Parameters */ | |
| 564 | |
| 565 /* Prototype */ | |
| 566 T_AUDIO_RET audio_sr_reco_stop ( T_RV_RETURN return_path ); | |
| 567 | |
| 568 /* Event return */ | |
| 569 | |
| 570 | |
| 571 | |
| 572 /******************************* MIDI REGISTRATION *****************************/ | |
| 573 | |
| 574 // Parameters | |
| 575 typedef struct | |
| 576 { | |
| 577 char midi_name[AUDIO_PATH_NAME_MAX_SIZE]; // File name of the MIDI to play | |
| 578 } T_AUDIO_MIDI_PARAMETER; | |
| 579 | |
| 580 // Prototype | |
| 581 T_AUDIO_RET audio_midi_start(T_AUDIO_MIDI_PARAMETER *parameter, T_RV_RETURN *p_return_path); | |
| 582 | |
| 583 // Event return | |
| 584 #define AUDIO_MIDI_STATUS_MSG (0x0010 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 585 typedef struct | |
| 586 { | |
| 587 T_RV_HDR os_hdr; | |
| 588 INT8 status; | |
| 589 } T_AUDIO_MIDI_STATUS; | |
| 590 | |
| 591 // Prototype | |
| 592 T_AUDIO_RET audio_midi_stop(void); | |
| 593 | |
| 594 T_AUDIO_RET audio_driver_init_midi_session(T_AUDIO_DRIVER_PARAMETER *p_driver_parameter, T_RV_RETURN *p_return_path); | |
| 595 | |
| 596 | |
| 597 /******************************* AUDIO CONFIGURATION REGISTRATION *****************************/ | |
| 598 | |
| 599 /******************/ | |
| 600 /*** Voice path ***/ | |
| 601 /******************/ | |
| 602 | |
| 603 /* Parameters */ | |
| 604 | |
| 605 /* Voice path selection */ | |
| 606 #define AUDIO_GSM_VOICE_PATH (0) | |
| 607 #define AUDIO_BLUETOOTH_CORDLESS_VOICE_PATH (1) | |
| 608 #define AUDIO_BLUETOOTH_HEADSET (2) | |
| 609 #define AUDIO_DAI_ENCODER (12) | |
| 610 #define AUDIO_DAI_DECODER (11) | |
| 611 #define AUDIO_DAI_ACOUSTIC (14) | |
| 612 | |
| 613 /* Structure */ | |
| 614 /* audio path used */ | |
| 615 typedef UINT8 T_AUDIO_VOICE_PATH_SETTING; | |
| 616 | |
| 617 /********************************/ | |
| 618 /*** Microphone configuration ***/ | |
| 619 /********************************/ | |
| 620 | |
| 621 /* Parameters */ | |
| 622 /* Mode */ | |
| 623 #define AUDIO_MICROPHONE_HANDHELD (0) | |
| 624 #define AUDIO_MICROPHONE_HANDFREE (1) | |
| 625 #define AUDIO_MICROPHONE_HEADSET (2) | |
| 626 | |
| 627 /* gain */ | |
| 628 #define AUDIO_MICROPHONE_MUTE (13) | |
| 629 | |
| 630 /* output_bias */ | |
| 631 #define AUDIO_MICROPHONE_OUTPUT_BIAS_2_0V (0) | |
| 632 #define AUDIO_MICROPHONE_OUTPUT_BIAS_2_5V (1) | |
| 633 | |
| 634 /* extra gain */ | |
| 635 #define AUDIO_MICROPHONE_AUX_GAIN_28_2dB (0) | |
| 636 #define AUDIO_MICROPHONE_AUX_GAIN_4_6dB (1) | |
| 637 | |
| 638 /* Structure */ | |
| 639 typedef struct | |
| 640 { | |
| 641 UINT16 coefficient[31]; | |
| 642 } | |
| 643 T_AUDIO_FIR_COEF; | |
| 644 | |
| 645 typedef struct | |
| 646 { | |
| 647 /* gain of the microphone */ | |
| 648 INT8 gain; | |
| 649 /* microphone output bias */ | |
| 650 INT8 output_bias; | |
| 651 /* coefficients of the microphone FIR */ | |
| 652 T_AUDIO_FIR_COEF fir; | |
| 653 } | |
| 654 T_AUDIO_MICROPHONE_MODE_HANDHELD; | |
| 655 | |
| 656 typedef struct { | |
| 657 /* gain of the microphone */ | |
| 658 INT8 gain; | |
| 659 /* extra gain of the microphone */ | |
| 660 INT8 extra_gain; | |
| 661 /* microphone output bias */ | |
| 662 INT8 output_bias; | |
| 663 /* coefficients of the microphone FIR */ | |
| 664 T_AUDIO_FIR_COEF fir; | |
| 665 } | |
| 666 T_AUDIO_MICROPHONE_MODE_HANDFREE; | |
| 667 | |
| 668 typedef struct { | |
| 669 /* gain of the microphone */ | |
| 670 INT8 gain; | |
| 671 /* microphone output bias */ | |
| 672 INT8 output_bias; | |
| 673 /* coefficients of the microphone FIR */ | |
| 674 T_AUDIO_FIR_COEF fir; | |
| 675 } | |
| 676 T_AUDIO_MICROPHONE_MODE_HEADSET; | |
| 677 | |
| 678 typedef union | |
| 679 { | |
| 680 /* handheld mode parameters */ | |
| 681 T_AUDIO_MICROPHONE_MODE_HANDHELD handheld; | |
| 682 /* handfree mode parameters */ | |
| 683 T_AUDIO_MICROPHONE_MODE_HANDFREE handfree; | |
| 684 /* headset mode parameters */ | |
| 685 T_AUDIO_MICROPHONE_MODE_HEADSET headset; | |
| 686 } | |
| 687 T_AUDIO_MICROPHONE_MODE; | |
| 688 | |
| 689 typedef struct | |
| 690 { | |
| 691 /* mode of the microphone */ | |
| 692 INT8 mode; | |
| 693 /* Setting of the current mode */ | |
| 694 T_AUDIO_MICROPHONE_MODE setting; | |
| 695 } | |
| 696 T_AUDIO_MICROPHONE_SETTING; | |
| 697 | |
| 698 /*****************************/ | |
| 699 /*** Speaker configuration ***/ | |
| 700 /*****************************/ | |
| 701 | |
| 702 /* Paratemers */ | |
| 703 /* Mode*/ | |
| 704 #define AUDIO_SPEAKER_HANDHELD (0) | |
| 705 #define AUDIO_SPEAKER_HANDFREE (1) | |
| 706 #define AUDIO_SPEAKER_HEADSET (2) | |
| 707 #define AUDIO_SPEAKER_BUZZER (3) | |
| 708 #define AUDIO_SPEAKER_HANDHELD_HANDFREE (4) | |
| 709 | |
| 710 /* filter */ | |
| 711 #define AUDIO_SPEAKER_FILTER_ON (0) | |
| 712 #define AUDIO_SPEAKER_FILTER_OFF (1) | |
| 713 | |
| 714 /* Buzzer */ | |
| 715 #define AUDIO_SPEAKER_BUZZER_ON (0) | |
| 716 #define AUDIO_SPEAKER_BUZZER_OFF (1) | |
| 717 | |
| 718 /* Structure */ | |
| 719 typedef struct | |
| 720 { | |
| 721 /* gain of the speaker */ | |
| 722 INT8 gain; | |
| 723 /* use the audio filter */ | |
| 724 INT8 audio_filter; | |
| 725 /* coefficients of the speaker FIR */ | |
| 726 T_AUDIO_FIR_COEF fir; | |
| 727 } | |
| 728 T_AUDIO_SPEAKER_MODE_HANDHELD; | |
| 729 | |
| 730 typedef struct | |
| 731 { | |
| 732 /* gain of the speaker */ | |
| 733 INT8 gain; | |
| 734 /* use the audio filter */ | |
| 735 INT8 audio_filter; | |
| 736 /* coefficients of the speaker FIR */ | |
| 737 T_AUDIO_FIR_COEF fir; | |
| 738 } | |
| 739 T_AUDIO_SPEAKER_MODE_HANDFREE; | |
| 740 | |
| 741 typedef struct | |
| 742 { | |
| 743 /* gain of the speaker */ | |
| 744 INT8 gain; | |
| 745 /* use the audio filter */ | |
| 746 INT8 audio_filter; | |
| 747 /* coefficients of the speaker FIR */ | |
| 748 T_AUDIO_FIR_COEF fir; | |
| 749 } | |
| 750 T_AUDIO_SPEAKER_MODE_HEADSET; | |
| 751 | |
| 752 typedef struct | |
| 753 { | |
| 754 /* activate the buzzer */ | |
| 755 INT8 activate; | |
| 756 } | |
| 757 T_AUDIO_SPEAKER_MODE_BUZZER; | |
| 758 | |
| 759 typedef struct | |
| 760 { | |
| 761 /* gain of the speaker */ | |
| 762 INT8 gain; | |
| 763 /* use the audio filter */ | |
| 764 INT8 audio_filter; | |
| 765 /* coefficients of the speaker FIR */ | |
| 766 T_AUDIO_FIR_COEF fir; | |
| 767 } | |
| 768 T_AUDIO_SPEAKER_MODE_HANDHELD_HANDFREE; | |
| 769 | |
| 770 typedef union | |
| 771 { | |
| 772 /* handheld mode parameters */ | |
| 773 T_AUDIO_SPEAKER_MODE_HANDHELD handheld; | |
| 774 /* handfree mode parameters */ | |
| 775 T_AUDIO_SPEAKER_MODE_HANDFREE handfree; | |
| 776 /* headset mode parameters */ | |
| 777 T_AUDIO_SPEAKER_MODE_HEADSET headset; | |
| 778 /* buzzer mode parameters */ | |
| 779 T_AUDIO_SPEAKER_MODE_BUZZER buzzer; | |
| 780 /* handheld and handfree mode parameters */ | |
| 781 T_AUDIO_SPEAKER_MODE_HANDHELD_HANDFREE handheld_handfree; | |
| 782 } | |
| 783 T_AUDIO_SPEAKER_MODE; | |
| 784 | |
| 785 typedef struct | |
| 786 { | |
| 787 /* mode of the speaker */ | |
| 788 INT8 mode; | |
| 789 /* Setting of the current mode */ | |
| 790 T_AUDIO_SPEAKER_MODE setting; | |
| 791 } | |
| 792 T_AUDIO_SPEAKER_SETTING; | |
| 793 | |
| 794 /********************************************/ | |
| 795 /*** Mirophone-Speaker loop configuration ***/ | |
| 796 /********************************************/ | |
| 797 | |
| 798 /* sidetone */ | |
| 799 #define AUDIO_SIDETONE_OPEN (-26) | |
| 800 | |
| 801 /* AEC enable */ | |
| 802 #define AUDIO_AEC_ENABLE (0x0002) | |
| 803 #define AUDIO_AEC_DISABLE (0x0000) | |
| 804 | |
| 805 /* AEC visibility */ | |
| 806 #define AUDIO_AEC_VISIBILITY_ENABLE (0x0200) | |
| 807 #define AUDIO_AEC_VISIBILITY_DISABLE (0x0000) | |
| 808 | |
| 809 /* AEC mode */ | |
| 810 #define AUDIO_SHORT_ECHO (0x0200) | |
| 811 #define AUDIO_LONG_ECHO (0x0000) | |
| 812 | |
| 813 /* echo suppression level */ | |
| 814 #if (L1_NEW_AEC) | |
| 815 #define AUDIO_MAX_ECHO_0dB (0x7FFF) | |
| 816 #define AUDIO_MAX_ECHO_2dB (0x65AA) | |
| 817 #define AUDIO_MAX_ECHO_3dB (0x59AD) | |
| 818 #define AUDIO_MAX_ECHO_6dB (0x4000) | |
| 819 #define AUDIO_MAX_ECHO_12dB (0x1FFF) | |
| 820 #define AUDIO_MAX_ECHO_18dB (0x0FFF) | |
| 821 #define AUDIO_MAX_ECHO_24dB (0x07FF) | |
| 822 #else | |
| 823 #define AUDIO_ECHO_0dB (0x0000) | |
| 824 #define AUDIO_ECHO_6dB (0x0008) | |
| 825 #define AUDIO_ECHO_12dB (0x0010) | |
| 826 #define AUDIO_ECHO_18dB (0x0018) | |
| 827 #endif | |
| 828 | |
| 829 /* noise suppression enable */ | |
| 830 #define AUDIO_NOISE_SUPPRESSION_ENABLE (0x0004) | |
| 831 #define AUDIO_NOISE_SUPPRESSION_DISABLE (0x0000) | |
| 832 | |
| 833 /* noise suppression level */ | |
| 834 #define AUDIO_NOISE_NO_LIMITATION (0x0000) | |
| 835 #define AUDIO_NOISE_6dB (0x0020) | |
| 836 #define AUDIO_NOISE_12dB (0x0040) | |
| 837 #define AUDIO_NOISE_18dB (0x0060) | |
| 838 | |
| 839 typedef struct | |
| 840 { | |
| 841 /* Enable the AEC */ | |
| 842 UINT16 aec_enable; | |
| 843 #if (L1_NEW_AEC) | |
| 844 BOOL continuous_filtering; | |
| 845 UINT16 granularity_attenuation; | |
| 846 UINT16 smoothing_coefficient; | |
| 847 UINT16 max_echo_suppression_level; | |
| 848 UINT16 vad_factor; | |
| 849 UINT16 absolute_threshold; | |
| 850 UINT16 factor_asd_filtering; | |
| 851 UINT16 factor_asd_muting; | |
| 852 UINT16 aec_visibility; // UINT16 and not boolean because in L1, it is in aec_control | |
| 853 #else | |
| 854 /* Mode of the AEC */ | |
| 855 UINT16 aec_mode; | |
| 856 /* level of the echo cancellation */ | |
| 857 UINT16 echo_suppression_level; | |
| 858 #endif | |
| 859 /* enable the noise suppression */ | |
| 860 UINT16 noise_suppression_enable; | |
| 861 /* level of the noise suppression */ | |
| 862 UINT16 noise_suppression_level; | |
| 863 } | |
| 864 T_AUDIO_AEC_CFG; | |
| 865 | |
| 866 typedef struct | |
| 867 { | |
| 868 /* gain of the sidetone */ | |
| 869 INT8 sidetone_gain; | |
| 870 /* configuration of the acoustic echo cancellation */ | |
| 871 T_AUDIO_AEC_CFG aec; | |
| 872 } | |
| 873 T_AUDIO_MICROPHONE_SPEAKER_LOOP_SETTING; | |
| 874 | |
| 875 /****************************************/ | |
| 876 /* audio mode file struture */ | |
| 877 /* this file is in the folder /AUDCFG/ */ | |
| 878 /* and has the extention .CFG */ | |
| 879 /****************************************/ | |
| 880 typedef struct | |
| 881 { | |
| 882 /* group of setting to define the audio path used */ | |
| 883 T_AUDIO_VOICE_PATH_SETTING audio_path_setting; | |
| 884 /* group of setting to configure the audio path of the microphone */ | |
| 885 T_AUDIO_MICROPHONE_SETTING audio_microphone_setting; | |
| 886 /* group of setting to configure the audio path of the speaker */ | |
| 887 T_AUDIO_SPEAKER_SETTING audio_speaker_setting; | |
| 888 /* group of setting to configure the audio mode involved */ | |
| 889 /* in tr microhpone and speaker loop */ | |
| 890 T_AUDIO_MICROPHONE_SPEAKER_LOOP_SETTING audio_microphone_speaker_loop_setting; | |
| 891 } | |
| 892 T_AUDIO_MODE; | |
| 893 | |
| 894 /****************************************/ | |
| 895 /* audio volume file struture */ | |
| 896 /* this file is in the folder /AUDCFG/ */ | |
| 897 /* and has the extention .VOL */ | |
| 898 /****************************************/ | |
| 899 /* speaker volume action */ | |
| 900 #define AUDIO_SPEAKER_VOLUME_INCREASE (0) | |
| 901 #define AUDIO_SPEAKER_VOLUME_DECREASE (1) | |
| 902 #define AUDIO_SPEAKER_VOLUME_SET (2) | |
| 903 | |
| 904 /* speaker volume value */ | |
| 905 #define AUDIO_SPEAKER_VOLUME_MUTE (0) | |
| 906 #define AUDIO_SPEAKER_VOLUME_24dB (1) | |
| 907 #define AUDIO_SPEAKER_VOLUME_18dB (50) | |
| 908 #define AUDIO_SPEAKER_VOLUME_12dB (100) | |
| 909 #define AUDIO_SPEAKER_VOLUME_6dB (150) | |
| 910 #define AUDIO_SPEAKER_VOLUME_0dB (200) | |
| 911 typedef struct | |
| 912 { | |
| 913 /* volume of the audio speaker */ | |
| 914 UINT8 audio_speaker_level; | |
| 915 } | |
| 916 T_AUDIO_SPEAKER_LEVEL; | |
| 917 | |
| 918 /******************/ | |
| 919 /* MMI family API */ | |
| 920 /******************/ | |
| 921 | |
| 922 | |
| 923 /* structure */ | |
| 924 /* maximum number of number of the filname characters */ | |
| 925 #define AUDIO_MODE_FILENAME_MAX_SIZE (10) | |
| 926 | |
| 927 typedef struct | |
| 928 { | |
| 929 char audio_mode_filename[AUDIO_MODE_FILENAME_MAX_SIZE]; | |
| 930 } | |
| 931 T_AUDIO_MODE_LOAD; | |
| 932 | |
| 933 typedef struct | |
| 934 { | |
| 935 char audio_mode_filename[AUDIO_MODE_FILENAME_MAX_SIZE]; | |
| 936 } | |
| 937 T_AUDIO_MODE_SAVE; | |
| 938 | |
| 939 typedef struct | |
| 940 { | |
| 941 INT8 volume_action; | |
| 942 UINT8 value; | |
| 943 } | |
| 944 T_AUDIO_SPEAKER_VOLUME; | |
| 945 | |
| 946 /* Prototypes of MMI family*/ | |
| 947 T_AUDIO_RET audio_mode_load (T_AUDIO_MODE_LOAD *p_parameter, | |
| 948 T_RV_RETURN return_path); | |
| 949 | |
| 950 T_AUDIO_RET audio_mode_save (T_AUDIO_MODE_SAVE *p_parameter, | |
| 951 T_RV_RETURN return_path); | |
| 952 | |
| 953 T_AUDIO_RET audio_speaker_volume ( T_AUDIO_SPEAKER_VOLUME volume, | |
| 954 T_RV_RETURN return_path); | |
| 955 | |
| 956 /* Event return of the MMI family API*/ | |
| 957 #define AUDIO_MODE_LOAD_DONE (0x0010 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 958 typedef struct | |
| 959 { | |
| 960 T_RV_HDR os_hdr; | |
| 961 INT8 status; | |
| 962 } T_AUDIO_LOAD_DONE; | |
| 963 | |
| 964 #define AUDIO_MODE_SAVE_DONE (0x0011 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 965 typedef struct | |
| 966 { | |
| 967 T_RV_HDR os_hdr; | |
| 968 INT8 status; | |
| 969 } T_AUDIO_SAVE_DONE; | |
| 970 | |
| 971 #define AUDIO_SPEAKER_VOLUME_DONE (0x0012 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 972 typedef struct | |
| 973 { | |
| 974 T_RV_HDR os_hdr; | |
| 975 INT8 status; | |
| 976 } T_AUDIO_VOLUME_DONE; | |
| 977 | |
| 978 | |
| 979 /**********************/ | |
| 980 /* Full Access Family */ | |
| 981 /**********************/ | |
| 982 | |
| 983 /* structure */ | |
| 984 typedef struct | |
| 985 { | |
| 986 UINT8 variable_indentifier; | |
| 987 void *data; | |
| 988 } | |
| 989 T_AUDIO_FULL_ACCESS_WRITE; | |
| 990 | |
| 991 typedef struct | |
| 992 { | |
| 993 UINT8 variable_indentifier; | |
| 994 void *data; | |
| 995 } | |
| 996 T_AUDIO_FULL_ACCESS_READ; | |
| 997 | |
| 998 /* parameter */ | |
| 999 #define AUDIO_PATH_USED (0) | |
| 1000 #define AUDIO_MICROPHONE_MODE (1) | |
| 1001 #define AUDIO_MICROPHONE_GAIN (2) | |
| 1002 #define AUDIO_MICROPHONE_EXTRA_GAIN (3) | |
| 1003 #define AUDIO_MICROPHONE_OUTPUT_BIAS (4) | |
| 1004 #define AUDIO_MICROPHONE_FIR (5) | |
| 1005 #define AUDIO_SPEAKER_MODE (6) | |
| 1006 #define AUDIO_SPEAKER_GAIN (7) | |
| 1007 #define AUDIO_SPEAKER_FILTER (8) | |
| 1008 #define AUDIO_SPEAKER_FIR (9) | |
| 1009 #define AUDIO_SPEAKER_BUZZER_STATE (10) | |
| 1010 #define AUDIO_MICROPHONE_SPEAKER_LOOP_SIDETONE (11) | |
| 1011 #define AUDIO_MICROPHONE_SPEAKER_LOOP_AEC (12) | |
| 1012 #define AUDIO_SPEAKER_VOLUME_LEVEL (13) | |
| 1013 | |
| 1014 | |
| 1015 /* prototype */ | |
| 1016 T_AUDIO_RET audio_full_access_write (T_AUDIO_FULL_ACCESS_WRITE *p_parameter, | |
| 1017 T_RV_RETURN return_path); | |
| 1018 | |
| 1019 T_AUDIO_RET audio_full_access_read (T_AUDIO_FULL_ACCESS_READ *p_parameter); | |
| 1020 | |
| 1021 | |
| 1022 /* Event returned ofthe Full Access Family */ | |
| 1023 #define AUDIO_FULL_ACCESS_WRITE_DONE (0x0013 | AUDIO_EVENT_EXTERN | AUDIO_EVENTS_MASK) | |
| 1024 typedef struct | |
| 1025 { | |
| 1026 T_RV_HDR os_hdr; | |
| 1027 INT8 status; | |
| 1028 } T_AUDIO_FULL_ACCESS_WRITE_DONE; | |
| 1029 | |
| 1030 #ifdef __cplusplus | |
| 1031 } | |
| 1032 #endif | |
| 1033 | |
| 1034 #endif /* __AUDIO_API_H_ */ | |
| 1035 | |
| 1036 |
