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