1 /*----------------------------------------------------------------------------
2  *
3  * File:
4  * eas_pcm.h
5  *
6  * Contents and purpose:
7  * External function prototypes for eas_pcm.c module
8  *
9  *
10  * Copyright Sonic Network Inc. 2005
11 
12  * Licensed under the Apache License, Version 2.0 (the "License");
13  * you may not use this file except in compliance with the License.
14  * You may obtain a copy of the License at
15  *
16  *      http://www.apache.org/licenses/LICENSE-2.0
17  *
18  * Unless required by applicable law or agreed to in writing, software
19  * distributed under the License is distributed on an "AS IS" BASIS,
20  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  * See the License for the specific language governing permissions and
22  * limitations under the License.
23  *
24  *----------------------------------------------------------------------------
25  * Revision Control:
26  *   $Revision: 847 $
27  *   $Date: 2007-08-27 21:30:08 -0700 (Mon, 27 Aug 2007) $
28  *----------------------------------------------------------------------------
29 */
30 
31 #ifndef _EAS_PCM_H
32 #define _EAS_PCM_H
33 
34 /* default gain setting - roughly unity gain */
35 #define PCM_DEFAULT_GAIN_SETTING    0x6000
36 
37 typedef struct s_pcm_state_tag *EAS_PCM_HANDLE;
38 typedef void (*EAS_PCM_CALLBACK) (EAS_DATA_HANDLE pEASData, EAS_VOID_PTR cbInstData, EAS_PCM_HANDLE pcmHandle, EAS_STATE state);
39 
40 /*----------------------------------------------------------------------------
41  * EAS_PEInit()
42  *----------------------------------------------------------------------------
43  * Purpose:
44  * Initializes the PCM engine
45  *
46  * Inputs:
47  *
48  *
49  * Outputs:
50  *
51  *
52  * Side Effects:
53  *
54  *----------------------------------------------------------------------------
55 */
56 EAS_RESULT EAS_PEInit (EAS_DATA_HANDLE pEASData);
57 
58 /*----------------------------------------------------------------------------
59  * EAS_PEShutdown()
60  *----------------------------------------------------------------------------
61  * Purpose:
62  * Shuts down the PCM engine
63  *
64  * Inputs:
65  *
66  *
67  * Outputs:
68  *
69  *
70  * Side Effects:
71  *
72  *----------------------------------------------------------------------------
73 */
74 EAS_RESULT EAS_PEShutdown (EAS_DATA_HANDLE pEASData);
75 
76 /*----------------------------------------------------------------------------
77  * EAS_PERender()
78  *----------------------------------------------------------------------------
79  * Purpose:
80  * Render a buffer of PCM audio
81  *
82  * Inputs:
83  *
84  *
85  * Outputs:
86  *
87  *
88  * Side Effects:
89  *
90  *----------------------------------------------------------------------------
91 */
92 EAS_RESULT EAS_PERender (EAS_DATA_HANDLE pEASData, EAS_I32 numSamples);
93 
94 #endif /* end _EAS_PCM_H */
95 
96