~sergiusens/libhybris/autotests

« back to all changes in this revision

Viewing changes to hybris/include/android/system/audio.h

  • Committer: Package Import Robot
  • Author(s): Ricardo Salveti de Araujo
  • Date: 2013-06-24 23:03:45 UTC
  • Revision ID: package-import@ubuntu.com-20130624230345-6878jmp7is1uywe0
Tags: 0.1.0+git20130606+c5d897a-0ubuntu5
* 0010-hardware-include-adding-audio-hal-related-headers-fr.patch:
  - Updating based on the version set upstream
* Adding 0011-hooks.c-no-need-to-map-strcasestr.patch:
  - Remove hook for strcasesrt, glibc verision behaves differently

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * Copyright (C) 2011 The Android Open Source Project
3
 
 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
4
3
 *
5
4
 * Licensed under the Apache License, Version 2.0 (the "License");
6
5
 * you may not use this file except in compliance with the License.
64
63
    AUDIO_SOURCE_CAMCORDER           = 5,
65
64
    AUDIO_SOURCE_VOICE_RECOGNITION   = 6,
66
65
    AUDIO_SOURCE_VOICE_COMMUNICATION = 7,
67
 
    AUDIO_SOURCE_REMOTE_SUBMIX       = 8, /* Source for the mix to be presented remotely.      */
68
 
                                          /* An example of remote presentation is Wifi Display */
69
 
                                          /*  where a dongle attached to a TV can be used to   */
70
 
                                          /*  play the mix captured by this audio source.      */
 
66
 
71
67
    AUDIO_SOURCE_CNT,
72
68
    AUDIO_SOURCE_MAX                 = AUDIO_SOURCE_CNT - 1,
73
69
} audio_source_t;
142
138
    AUDIO_FORMAT_HE_AAC_V1           = 0x05000000UL,
143
139
    AUDIO_FORMAT_HE_AAC_V2           = 0x06000000UL,
144
140
    AUDIO_FORMAT_VORBIS              = 0x07000000UL,
145
 
#ifdef QCOM_HARDWARE
146
 
    AUDIO_FORMAT_EVRC                = 0x08000000UL,
147
 
    AUDIO_FORMAT_QCELP               = 0x09000000UL,
148
 
    AUDIO_FORMAT_AC3                 = 0x0a000000UL,
149
 
    AUDIO_FORMAT_AC3_PLUS            = 0x0b000000UL,
150
 
    AUDIO_FORMAT_DTS                 = 0x0c000000UL,
151
 
    AUDIO_FORMAT_WMA                 = 0x0d000000UL,
152
 
    AUDIO_FORMAT_WMA_PRO             = 0x0e000000UL,
153
 
    AUDIO_FORMAT_AAC_ADIF            = 0x0f000000UL,
154
 
    AUDIO_FORMAT_EVRCB               = 0x10000000UL,
155
 
    AUDIO_FORMAT_EVRCWB              = 0x11000000UL,
156
 
    AUDIO_FORMAT_EAC3                = 0x12000000UL,
157
 
    AUDIO_FORMAT_DTS_LBR             = 0x13000000UL,
158
 
    AUDIO_FORMAT_AMR_WB_PLUS         = 0x14000000UL,
159
 
    AUDIO_FORMAT_MP2                 = 0x15000000UL,
160
 
#endif
161
141
    AUDIO_FORMAT_MAIN_MASK           = 0xFF000000UL,
162
142
    AUDIO_FORMAT_SUB_MASK            = 0x00FFFFFFUL,
163
143
 
172
152
                                        AUDIO_FORMAT_PCM_SUB_8_24_BIT),
173
153
} audio_format_t;
174
154
 
175
 
enum {
 
155
typedef enum {
176
156
    /* output channels */
177
157
    AUDIO_CHANNEL_OUT_FRONT_LEFT            = 0x1,
178
158
    AUDIO_CHANNEL_OUT_FRONT_RIGHT           = 0x2,
196
176
    AUDIO_CHANNEL_OUT_MONO     = AUDIO_CHANNEL_OUT_FRONT_LEFT,
197
177
    AUDIO_CHANNEL_OUT_STEREO   = (AUDIO_CHANNEL_OUT_FRONT_LEFT |
198
178
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT),
199
 
#ifdef QCOM_HARDWARE
200
 
    AUDIO_CHANNEL_OUT_2POINT1  = (AUDIO_CHANNEL_OUT_FRONT_LEFT |
201
 
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT |
202
 
                                  AUDIO_CHANNEL_OUT_FRONT_CENTER),
203
 
#endif
204
179
    AUDIO_CHANNEL_OUT_QUAD     = (AUDIO_CHANNEL_OUT_FRONT_LEFT |
205
180
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT |
206
181
                                  AUDIO_CHANNEL_OUT_BACK_LEFT |
209
184
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT |
210
185
                                  AUDIO_CHANNEL_OUT_FRONT_CENTER |
211
186
                                  AUDIO_CHANNEL_OUT_BACK_CENTER),
212
 
#ifdef QCOM_HARDWARE
213
 
    AUDIO_CHANNEL_OUT_PENTA =    (AUDIO_CHANNEL_OUT_QUAD |
214
 
                                  AUDIO_CHANNEL_OUT_FRONT_CENTER),
215
 
#endif
216
187
    AUDIO_CHANNEL_OUT_5POINT1  = (AUDIO_CHANNEL_OUT_FRONT_LEFT |
217
188
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT |
218
189
                                  AUDIO_CHANNEL_OUT_FRONT_CENTER |
219
190
                                  AUDIO_CHANNEL_OUT_LOW_FREQUENCY |
220
191
                                  AUDIO_CHANNEL_OUT_BACK_LEFT |
221
192
                                  AUDIO_CHANNEL_OUT_BACK_RIGHT),
222
 
#ifdef QCOM_HARDWARE
223
 
    AUDIO_CHANNEL_OUT_6POINT1  = (AUDIO_CHANNEL_OUT_FRONT_LEFT |
224
 
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT |
225
 
                                  AUDIO_CHANNEL_OUT_FRONT_CENTER |
226
 
                                  AUDIO_CHANNEL_OUT_LOW_FREQUENCY |
227
 
                                  AUDIO_CHANNEL_OUT_BACK_LEFT |
228
 
                                  AUDIO_CHANNEL_OUT_BACK_RIGHT |
229
 
                                  AUDIO_CHANNEL_OUT_BACK_CENTER),
230
 
#endif
231
193
    // matches the correct AudioFormat.CHANNEL_OUT_7POINT1_SURROUND definition for 7.1
232
194
    AUDIO_CHANNEL_OUT_7POINT1  = (AUDIO_CHANNEL_OUT_FRONT_LEFT |
233
195
                                  AUDIO_CHANNEL_OUT_FRONT_RIGHT |
271
233
    AUDIO_CHANNEL_IN_Z_AXIS          = 0x2000,
272
234
    AUDIO_CHANNEL_IN_VOICE_UPLINK    = 0x4000,
273
235
    AUDIO_CHANNEL_IN_VOICE_DNLINK    = 0x8000,
274
 
#ifdef QCOM_HARDWARE
275
 
    AUDIO_CHANNEL_IN_FRONT_LEFT      = 0x10000,
276
 
    AUDIO_CHANNEL_IN_FRONT_RIGHT     = 0x20000,
277
 
    AUDIO_CHANNEL_IN_FRONT_CENTER    = 0x40000,
278
 
    AUDIO_CHANNEL_IN_LOW_FREQUENCY   = 0x80000,
279
 
    AUDIO_CHANNEL_IN_BACK_LEFT       = 0x100000,
280
 
    AUDIO_CHANNEL_IN_BACK_RIGHT      = 0x200000,
281
 
#endif
282
236
 
283
237
    AUDIO_CHANNEL_IN_MONO   = AUDIO_CHANNEL_IN_FRONT,
284
238
    AUDIO_CHANNEL_IN_STEREO = (AUDIO_CHANNEL_IN_LEFT | AUDIO_CHANNEL_IN_RIGHT),
285
 
#ifdef QCOM_HARDWARE
286
 
    AUDIO_CHANNEL_IN_5POINT1 = (AUDIO_CHANNEL_IN_FRONT_LEFT |
287
 
                               AUDIO_CHANNEL_IN_FRONT_RIGHT |
288
 
                               AUDIO_CHANNEL_IN_FRONT_CENTER |
289
 
                               AUDIO_CHANNEL_IN_LOW_FREQUENCY |
290
 
                               AUDIO_CHANNEL_IN_BACK_LEFT |
291
 
                               AUDIO_CHANNEL_IN_BACK_RIGHT),
292
 
    AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO = (AUDIO_CHANNEL_IN_VOICE_UPLINK | AUDIO_CHANNEL_IN_MONO),
293
 
    AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO = (AUDIO_CHANNEL_IN_VOICE_DNLINK | AUDIO_CHANNEL_IN_MONO),
294
 
    AUDIO_CHANNEL_IN_VOICE_CALL_MONO   = (AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO | AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO),
295
 
#endif
296
239
    AUDIO_CHANNEL_IN_ALL    = (AUDIO_CHANNEL_IN_LEFT |
297
240
                               AUDIO_CHANNEL_IN_RIGHT |
298
241
                               AUDIO_CHANNEL_IN_FRONT |
305
248
                               AUDIO_CHANNEL_IN_X_AXIS |
306
249
                               AUDIO_CHANNEL_IN_Y_AXIS |
307
250
                               AUDIO_CHANNEL_IN_Z_AXIS |
308
 
#ifdef QCOM_HARDWARE
309
 
                               AUDIO_CHANNEL_IN_5POINT1 |
310
 
#endif
311
251
                               AUDIO_CHANNEL_IN_VOICE_UPLINK |
312
 
                               AUDIO_CHANNEL_IN_VOICE_DNLINK)
 
252
                               AUDIO_CHANNEL_IN_VOICE_DNLINK),
313
253
};
314
254
 
315
255
typedef uint32_t audio_channel_mask_t;
335
275
    AUDIO_IN_ACOUSTICS_TX_DISABLE    = 0,
336
276
} audio_in_acoustics_t;
337
277
 
338
 
enum {
339
 
    AUDIO_DEVICE_NONE                          = 0x0,
340
 
    /* reserved bits */
341
 
#if defined(ICS_AUDIO_BLOB) || defined(MR0_AUDIO_BLOB)
342
 
    AUDIO_DEVICE_BIT_IN                        = 0x10000,
343
 
#else
344
 
    AUDIO_DEVICE_BIT_IN                        = 0x80000000,
345
 
#endif
346
 
    AUDIO_DEVICE_BIT_DEFAULT                   = 0x40000000,
 
278
typedef enum {
347
279
    /* output devices */
348
280
    AUDIO_DEVICE_OUT_EARPIECE                  = 0x1,
349
281
    AUDIO_DEVICE_OUT_SPEAKER                   = 0x2,
360
292
    AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET         = 0x1000,
361
293
    AUDIO_DEVICE_OUT_USB_ACCESSORY             = 0x2000,
362
294
    AUDIO_DEVICE_OUT_USB_DEVICE                = 0x4000,
363
 
    AUDIO_DEVICE_OUT_REMOTE_SUBMIX             = 0x8000,
364
 
#ifdef QCOM_HARDWARE
365
 
    AUDIO_DEVICE_OUT_ANC_HEADSET               = 0x10000,
366
 
    AUDIO_DEVICE_OUT_ANC_HEADPHONE             = 0x20000,
367
 
    AUDIO_DEVICE_OUT_PROXY                     = 0x40000,
368
 
    AUDIO_DEVICE_OUT_FM                        = 0x80000,
369
 
    AUDIO_DEVICE_OUT_FM_TX                     = 0x100000,
370
 
#endif
371
 
    AUDIO_DEVICE_OUT_DEFAULT                   = AUDIO_DEVICE_BIT_DEFAULT,
 
295
    AUDIO_DEVICE_OUT_DEFAULT                   = 0x8000,
372
296
    AUDIO_DEVICE_OUT_ALL      = (AUDIO_DEVICE_OUT_EARPIECE |
373
297
                                 AUDIO_DEVICE_OUT_SPEAKER |
374
298
                                 AUDIO_DEVICE_OUT_WIRED_HEADSET |
384
308
                                 AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET |
385
309
                                 AUDIO_DEVICE_OUT_USB_ACCESSORY |
386
310
                                 AUDIO_DEVICE_OUT_USB_DEVICE |
387
 
                                 AUDIO_DEVICE_OUT_REMOTE_SUBMIX |
388
 
#ifdef QCOM_HARDWARE
389
 
                                 AUDIO_DEVICE_OUT_ANC_HEADSET |
390
 
                                 AUDIO_DEVICE_OUT_ANC_HEADPHONE |
391
 
                                 AUDIO_DEVICE_OUT_PROXY |
392
 
                                 AUDIO_DEVICE_OUT_FM |
393
 
                                 AUDIO_DEVICE_OUT_FM_TX |
394
 
#endif
395
311
                                 AUDIO_DEVICE_OUT_DEFAULT),
396
312
    AUDIO_DEVICE_OUT_ALL_A2DP = (AUDIO_DEVICE_OUT_BLUETOOTH_A2DP |
397
313
                                 AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES |
403
319
                                 AUDIO_DEVICE_OUT_USB_DEVICE),
404
320
 
405
321
    /* input devices */
406
 
#if defined(ICS_AUDIO_BLOB) || defined(MR0_AUDIO_BLOB)
407
 
    AUDIO_DEVICE_IN_COMMUNICATION         = AUDIO_DEVICE_BIT_IN * 0x1,
408
 
    AUDIO_DEVICE_IN_AMBIENT               = AUDIO_DEVICE_BIT_IN * 0x2,
409
 
    AUDIO_DEVICE_IN_BUILTIN_MIC           = AUDIO_DEVICE_BIT_IN * 0x4,
410
 
    AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET = AUDIO_DEVICE_BIT_IN * 0x8,
411
 
    AUDIO_DEVICE_IN_WIRED_HEADSET         = AUDIO_DEVICE_BIT_IN * 0x10,
412
 
    AUDIO_DEVICE_IN_AUX_DIGITAL           = AUDIO_DEVICE_BIT_IN * 0x20,
413
 
    AUDIO_DEVICE_IN_VOICE_CALL            = AUDIO_DEVICE_BIT_IN * 0x40,
414
 
    AUDIO_DEVICE_IN_BACK_MIC              = AUDIO_DEVICE_BIT_IN * 0x80,
415
 
    AUDIO_DEVICE_IN_REMOTE_SUBMIX         = AUDIO_DEVICE_BIT_IN * 0x100,
416
 
    AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET     = AUDIO_DEVICE_BIT_IN * 0x200,
417
 
    AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET     = AUDIO_DEVICE_BIT_IN * 0x400,
418
 
    AUDIO_DEVICE_IN_USB_ACCESSORY         = AUDIO_DEVICE_BIT_IN * 0x800,
419
 
    AUDIO_DEVICE_IN_USB_DEVICE            = AUDIO_DEVICE_BIT_IN * 0x1000,
420
 
    AUDIO_DEVICE_IN_DEFAULT               = AUDIO_DEVICE_IN_BUILTIN_MIC,
421
 
#else
422
 
    AUDIO_DEVICE_IN_COMMUNICATION         = AUDIO_DEVICE_BIT_IN | 0x1,
423
 
    AUDIO_DEVICE_IN_AMBIENT               = AUDIO_DEVICE_BIT_IN | 0x2,
424
 
    AUDIO_DEVICE_IN_BUILTIN_MIC           = AUDIO_DEVICE_BIT_IN | 0x4,
425
 
    AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET = AUDIO_DEVICE_BIT_IN | 0x8,
426
 
    AUDIO_DEVICE_IN_WIRED_HEADSET         = AUDIO_DEVICE_BIT_IN | 0x10,
427
 
    AUDIO_DEVICE_IN_AUX_DIGITAL           = AUDIO_DEVICE_BIT_IN | 0x20,
428
 
    AUDIO_DEVICE_IN_VOICE_CALL            = AUDIO_DEVICE_BIT_IN | 0x40,
429
 
    AUDIO_DEVICE_IN_BACK_MIC              = AUDIO_DEVICE_BIT_IN | 0x80,
430
 
    AUDIO_DEVICE_IN_REMOTE_SUBMIX         = AUDIO_DEVICE_BIT_IN | 0x100,
431
 
    AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET     = AUDIO_DEVICE_BIT_IN | 0x200,
432
 
    AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET     = AUDIO_DEVICE_BIT_IN | 0x400,
433
 
    AUDIO_DEVICE_IN_USB_ACCESSORY         = AUDIO_DEVICE_BIT_IN | 0x800,
434
 
    AUDIO_DEVICE_IN_USB_DEVICE            = AUDIO_DEVICE_BIT_IN | 0x1000,
435
 
#ifdef QCOM_HARDWARE
436
 
    AUDIO_DEVICE_IN_ANC_HEADSET           = AUDIO_DEVICE_BIT_IN | 0x2000,
437
 
    AUDIO_DEVICE_IN_PROXY                 = AUDIO_DEVICE_BIT_IN | 0x4000,
438
 
    AUDIO_DEVICE_IN_FM_RX                 = AUDIO_DEVICE_BIT_IN | 0x8000,
439
 
    AUDIO_DEVICE_IN_FM_RX_A2DP            = AUDIO_DEVICE_BIT_IN | 0x10000,
440
 
#endif
441
 
    AUDIO_DEVICE_IN_DEFAULT               = AUDIO_DEVICE_BIT_IN | AUDIO_DEVICE_BIT_DEFAULT,
442
 
#endif
 
322
    AUDIO_DEVICE_IN_COMMUNICATION         = 0x10000,
 
323
    AUDIO_DEVICE_IN_AMBIENT               = 0x20000,
 
324
    AUDIO_DEVICE_IN_BUILTIN_MIC           = 0x40000,
 
325
    AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET = 0x80000,
 
326
    AUDIO_DEVICE_IN_WIRED_HEADSET         = 0x100000,
 
327
    AUDIO_DEVICE_IN_AUX_DIGITAL           = 0x200000,
 
328
    AUDIO_DEVICE_IN_VOICE_CALL            = 0x400000,
 
329
    AUDIO_DEVICE_IN_BACK_MIC              = 0x800000,
 
330
    AUDIO_DEVICE_IN_DEFAULT               = 0x80000000,
443
331
 
444
332
    AUDIO_DEVICE_IN_ALL     = (AUDIO_DEVICE_IN_COMMUNICATION |
445
333
                               AUDIO_DEVICE_IN_AMBIENT |
449
337
                               AUDIO_DEVICE_IN_AUX_DIGITAL |
450
338
                               AUDIO_DEVICE_IN_VOICE_CALL |
451
339
                               AUDIO_DEVICE_IN_BACK_MIC |
452
 
                               AUDIO_DEVICE_IN_REMOTE_SUBMIX |
453
 
                               AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET |
454
 
                               AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET |
455
 
                               AUDIO_DEVICE_IN_USB_ACCESSORY |
456
 
                               AUDIO_DEVICE_IN_USB_DEVICE |
457
 
#ifdef QCOM_HARDWARE
458
 
                               AUDIO_DEVICE_IN_ANC_HEADSET |
459
 
                               AUDIO_DEVICE_IN_FM_RX |
460
 
                               AUDIO_DEVICE_IN_FM_RX_A2DP |
461
 
                               AUDIO_DEVICE_IN_PROXY |
462
 
#endif
463
340
                               AUDIO_DEVICE_IN_DEFAULT),
464
341
    AUDIO_DEVICE_IN_ALL_SCO = AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET,
465
 
};
466
 
 
467
 
typedef uint32_t audio_devices_t;
 
342
} audio_devices_t;
468
343
 
469
344
/* the audio output flags serve two purposes:
470
345
 * - when an AudioTrack is created they indicate a "wish" to be connected to an
486
361
                                        // controls related to voice calls.
487
362
    AUDIO_OUTPUT_FLAG_FAST = 0x4,       // output supports "fast tracks",
488
363
                                        // defined elsewhere
489
 
    AUDIO_OUTPUT_FLAG_DEEP_BUFFER = 0x8,// use deep audio buffers
490
 
#ifdef QCOM_HARDWARE
491
 
    //Qualcomm Flags
492
 
    AUDIO_OUTPUT_FLAG_LPA = 0x1000,      // use LPA
493
 
    AUDIO_OUTPUT_FLAG_TUNNEL = 0x2000,   // use Tunnel
494
 
    AUDIO_OUTPUT_FLAG_VOIP_RX = 0x4000   // use this flag in combination with DIRECT to
495
 
                                         // indicate HAL to activate EC & NS
496
 
                                         // path for VOIP calls
497
 
#endif
 
364
    AUDIO_OUTPUT_FLAG_DEEP_BUFFER = 0x8 // use deep audio buffers
498
365
} audio_output_flags_t;
499
366
 
500
367
static inline bool audio_is_output_device(audio_devices_t device)
501
368
{
502
 
    if (((device & AUDIO_DEVICE_BIT_IN) == 0) &&
503
 
            (popcount(device) == 1) && ((device & ~AUDIO_DEVICE_OUT_ALL) == 0))
 
369
    if ((popcount(device) == 1) && ((device & ~AUDIO_DEVICE_OUT_ALL) == 0))
504
370
        return true;
505
371
    else
506
372
        return false;
508
374
 
509
375
static inline bool audio_is_input_device(audio_devices_t device)
510
376
{
511
 
    if ((device & AUDIO_DEVICE_BIT_IN) != 0) {
512
 
        device &= ~AUDIO_DEVICE_BIT_IN;
513
 
        if ((popcount(device) == 1) && ((device & ~AUDIO_DEVICE_IN_ALL) == 0))
514
 
            return true;
515
 
    }
516
 
    return false;
517
 
}
518
 
 
519
 
static inline bool audio_is_output_devices(audio_devices_t device)
520
 
{
521
 
    return (device & AUDIO_DEVICE_BIT_IN) == 0;
522
 
}
523
 
 
 
377
    if ((popcount(device) == 1) && ((device & ~AUDIO_DEVICE_IN_ALL) == 0))
 
378
        return true;
 
379
    else
 
380
        return false;
 
381
}
524
382
 
525
383
static inline bool audio_is_a2dp_device(audio_devices_t device)
526
384
{
532
390
 
533
391
static inline bool audio_is_bluetooth_sco_device(audio_devices_t device)
534
392
{
535
 
    device &= ~AUDIO_DEVICE_BIT_IN;
536
393
    if ((popcount(device) == 1) && (device & (AUDIO_DEVICE_OUT_ALL_SCO |
537
394
                   AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET)))
538
395
        return true;
548
405
        return false;
549
406
}
550
407
 
551
 
static inline bool audio_is_remote_submix_device(audio_devices_t device)
552
 
{
553
 
    if ((popcount(device) == 1) && (device & AUDIO_DEVICE_OUT_REMOTE_SUBMIX))
554
 
        return true;
555
 
    else
556
 
        return false;
557
 
}
558
 
 
559
408
static inline bool audio_is_input_channel(uint32_t channel)
560
409
{
561
410
    if ((channel & ~AUDIO_CHANNEL_IN_ALL) == 0)
604
453
    }
605
454
}
606
455
 
607
 
/* Similar to above, but for input.  Currently handles mono and stereo and 5.1 input. */
 
456
/* Similar to above, but for input.  Currently handles only mono and stereo. */
608
457
static inline audio_channel_mask_t audio_channel_in_mask_from_count(uint32_t channel_count)
609
458
{
610
459
    switch (channel_count) {
612
461
        return AUDIO_CHANNEL_IN_MONO;
613
462
    case 2:
614
463
        return AUDIO_CHANNEL_IN_STEREO;
615
 
#ifdef QCOM_HARDWARE
616
 
    case 6:
617
 
        return AUDIO_CHANNEL_IN_5POINT1;
618
 
#endif
619
464
    default:
620
465
        return 0;
621
466
    }
636
481
    case AUDIO_FORMAT_HE_AAC_V1:
637
482
    case AUDIO_FORMAT_HE_AAC_V2:
638
483
    case AUDIO_FORMAT_VORBIS:
639
 
#ifdef QCOM_HARDWARE
640
 
    case AUDIO_FORMAT_QCELP:
641
 
    case AUDIO_FORMAT_EVRC:
642
 
    case AUDIO_FORMAT_EVRCB:
643
 
    case AUDIO_FORMAT_EVRCWB:
644
 
    case AUDIO_FORMAT_AC3:
645
 
    case AUDIO_FORMAT_EAC3:
646
 
    case AUDIO_FORMAT_AAC_ADIF:
647
 
    case AUDIO_FORMAT_WMA:
648
 
    case AUDIO_FORMAT_WMA_PRO:
649
 
    case AUDIO_FORMAT_DTS:
650
 
    case AUDIO_FORMAT_DTS_LBR:
651
 
    case AUDIO_FORMAT_AMR_WB_PLUS:
652
 
    case AUDIO_FORMAT_MP2:
653
 
#endif
654
484
        return true;
655
485
    default:
656
486
        return false;
677
507
    case AUDIO_FORMAT_PCM_8_BIT:
678
508
        size = sizeof(uint8_t);
679
509
        break;
680
 
#ifdef QCOM_HARDWARE
681
 
    case AUDIO_FORMAT_AMR_WB:
682
 
        size = 61;
683
 
        break;
684
 
#endif
685
510
    default:
686
511
        break;
687
512
    }