blob: 41234619809e96a982f7e681b296e5e18bf26b02 [file] [log] [blame]
Dhananjay Kumaree4d2002016-10-25 18:02:58 +05301/*
2* Copyright (c) 2016, The Linux Foundation. All rights reserved.
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are
6* met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above
10* copyright notice, this list of conditions and the following
11* disclaimer in the documentation and/or other materials provided
12* with the distribution.
13* * Neither the name of The Linux Foundation nor the names of its
14* contributors may be used to endorse or promote products derived
15* from this software without specific prior written permission.
16*
17* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*/
29
30#ifndef AUDIO_HW_EXTN_API_H
31#define AUDIO_HW_EXTN_API_H
32__BEGIN_DECLS
33#ifdef AUDIO_HW_EXTN_API_ENABLED
34#include <hardware/audio.h>
35typedef struct qahwi_stream_in qahwi_stream_in_t;
Naresh Tanniruee3499a2017-01-05 14:05:35 +053036typedef struct qahwi_stream_out qahwi_stream_out_t;
Dhananjay Kumaree4d2002016-10-25 18:02:58 +053037typedef struct qahwi_device qahwi_device_t;
38
39struct qahwi_stream_in {
40 struct audio_stream_in base;
41 bool is_inititalized;
42 void *ibuf;
43};
44
Naresh Tanniruee3499a2017-01-05 14:05:35 +053045struct qahwi_stream_out {
46 struct audio_stream_out base;
47 bool is_inititalized;
48 size_t buf_size;
49 void *obuf;
50};
51
Dhananjay Kumaree4d2002016-10-25 18:02:58 +053052struct qahwi_device {
53 struct audio_hw_device base;
54 bool is_inititalized;
55};
56
57void qahwi_init(hw_device_t *device);
58void qahwi_deinit(hw_device_t *device);
59#else
60typedef void *qahwi_stream_in_t;
Naresh Tanniruee3499a2017-01-05 14:05:35 +053061typedef void *qahwi_stream_out_t;
Dhananjay Kumaree4d2002016-10-25 18:02:58 +053062typedef void *qahwi_device_t;
63
64#define qahwi_init(device) (0)
65#define qahwi_deinit(device) (0)
66#endif // AUDIO_HW_EXTN_API_ENABLED
67
68__END_DECLS
69#endif // AUDIO_HW_EXTN_API_H