blob: 41b9df5d9e289b2bb856769d8279a7c8f562c3f9 [file] [log] [blame]
Indranil Chakraborty36e686a2018-04-05 12:05:02 +05301#ifndef __AAC_DECODE__
2#define __AAC_DECODE__
3/*
4 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * * Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following
13 * disclaimer in the documentation and/or other materials provided
14 * with the distribution.
15 * * Neither the name of The Linux Foundation nor the names of its
16 * contributors may be used to endorse or promote products derived
17 * from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
20 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
26 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
28 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
29 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 * */
31
32typedef struct aacConfig {
33 unsigned int n_sampleRate;
34 unsigned int n_channels;
35 unsigned int n_bitsPerSample;
36 unsigned int n_bitrate;
37 unsigned int n_samplesPerFrame;
38}aacConfigType;
39
40class aacDecode {
41public:
42 aacDecode();
43 ~aacDecode();
44 bool aacConfigure(aacConfigType* p_aacConfig);
45 bool aacDecodeFrame(unsigned char* p_Buffer, unsigned int n_size);
46
47private:
48 void* p_aacHandle;
49 void* p_aacInfo;
50 aacConfigType s_aacConfig;
51};
52#endif