1*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 2*f81fb7c4SAndroid Build Coastguard Worker * 3*f81fb7c4SAndroid Build Coastguard Worker * File: 4*f81fb7c4SAndroid Build Coastguard Worker * eas_data.h 5*f81fb7c4SAndroid Build Coastguard Worker * 6*f81fb7c4SAndroid Build Coastguard Worker * Contents and purpose: 7*f81fb7c4SAndroid Build Coastguard Worker * This header defines all types, to support dynamic allocation of the 8*f81fb7c4SAndroid Build Coastguard Worker * memory resources needed for persistent EAS data. 9*f81fb7c4SAndroid Build Coastguard Worker * 10*f81fb7c4SAndroid Build Coastguard Worker * Copyright 2004 Sonic Network Inc. 11*f81fb7c4SAndroid Build Coastguard Worker 12*f81fb7c4SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 13*f81fb7c4SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 14*f81fb7c4SAndroid Build Coastguard Worker * You may obtain a copy of the License at 15*f81fb7c4SAndroid Build Coastguard Worker * 16*f81fb7c4SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 17*f81fb7c4SAndroid Build Coastguard Worker * 18*f81fb7c4SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 19*f81fb7c4SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 20*f81fb7c4SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21*f81fb7c4SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 22*f81fb7c4SAndroid Build Coastguard Worker * limitations under the License. 23*f81fb7c4SAndroid Build Coastguard Worker * 24*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 25*f81fb7c4SAndroid Build Coastguard Worker * Revision Control: 26*f81fb7c4SAndroid Build Coastguard Worker * $Revision: 842 $ 27*f81fb7c4SAndroid Build Coastguard Worker * $Date: 2007-08-23 14:32:31 -0700 (Thu, 23 Aug 2007) $ 28*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 29*f81fb7c4SAndroid Build Coastguard Worker */ 30*f81fb7c4SAndroid Build Coastguard Worker 31*f81fb7c4SAndroid Build Coastguard Worker #ifndef _EAS_DATA_H 32*f81fb7c4SAndroid Build Coastguard Worker #define _EAS_DATA_H 33*f81fb7c4SAndroid Build Coastguard Worker 34*f81fb7c4SAndroid Build Coastguard Worker #include <stdint.h> 35*f81fb7c4SAndroid Build Coastguard Worker 36*f81fb7c4SAndroid Build Coastguard Worker #include "eas_types.h" 37*f81fb7c4SAndroid Build Coastguard Worker #include "eas_synthcfg.h" 38*f81fb7c4SAndroid Build Coastguard Worker #include "eas.h" 39*f81fb7c4SAndroid Build Coastguard Worker #include "eas_audioconst.h" 40*f81fb7c4SAndroid Build Coastguard Worker #include "eas_sndlib.h" 41*f81fb7c4SAndroid Build Coastguard Worker #include "eas_pcm.h" 42*f81fb7c4SAndroid Build Coastguard Worker #include "eas_pcmdata.h" 43*f81fb7c4SAndroid Build Coastguard Worker #include "eas_synth.h" 44*f81fb7c4SAndroid Build Coastguard Worker #include "eas_miditypes.h" 45*f81fb7c4SAndroid Build Coastguard Worker #include "eas_effects.h" 46*f81fb7c4SAndroid Build Coastguard Worker 47*f81fb7c4SAndroid Build Coastguard Worker #ifdef AUX_MIXER 48*f81fb7c4SAndroid Build Coastguard Worker #include "eas_auxmixdata.h" 49*f81fb7c4SAndroid Build Coastguard Worker #endif 50*f81fb7c4SAndroid Build Coastguard Worker 51*f81fb7c4SAndroid Build Coastguard Worker #ifdef JET_INTERFACE 52*f81fb7c4SAndroid Build Coastguard Worker #include "jet.h" 53*f81fb7c4SAndroid Build Coastguard Worker #endif 54*f81fb7c4SAndroid Build Coastguard Worker 55*f81fb7c4SAndroid Build Coastguard Worker #ifdef _METRICS_ENABLED 56*f81fb7c4SAndroid Build Coastguard Worker #include "eas_perf.h" 57*f81fb7c4SAndroid Build Coastguard Worker #endif 58*f81fb7c4SAndroid Build Coastguard Worker 59*f81fb7c4SAndroid Build Coastguard Worker #ifndef MAX_NUMBER_STREAMS 60*f81fb7c4SAndroid Build Coastguard Worker #define MAX_NUMBER_STREAMS 4 61*f81fb7c4SAndroid Build Coastguard Worker #endif 62*f81fb7c4SAndroid Build Coastguard Worker 63*f81fb7c4SAndroid Build Coastguard Worker /* flags for S_EAS_STREAM */ 64*f81fb7c4SAndroid Build Coastguard Worker #define STREAM_FLAGS_PARSED 1 65*f81fb7c4SAndroid Build Coastguard Worker #define STREAM_FLAGS_PAUSE 2 66*f81fb7c4SAndroid Build Coastguard Worker #define STREAM_FLAGS_LOCATE 4 67*f81fb7c4SAndroid Build Coastguard Worker #define STREAM_FLAGS_RESUME 8 68*f81fb7c4SAndroid Build Coastguard Worker 69*f81fb7c4SAndroid Build Coastguard Worker /* structure for parsing a stream */ 70*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_eas_stream_tag 71*f81fb7c4SAndroid Build Coastguard Worker { 72*f81fb7c4SAndroid Build Coastguard Worker void *pParserModule; 73*f81fb7c4SAndroid Build Coastguard Worker EAS_U32 time; 74*f81fb7c4SAndroid Build Coastguard Worker EAS_U32 frameLength; 75*f81fb7c4SAndroid Build Coastguard Worker EAS_I32 repeatCount; 76*f81fb7c4SAndroid Build Coastguard Worker EAS_VOID_PTR handle; 77*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 volume; 78*f81fb7c4SAndroid Build Coastguard Worker EAS_BOOL8 streamFlags; 79*f81fb7c4SAndroid Build Coastguard Worker } S_EAS_STREAM; 80*f81fb7c4SAndroid Build Coastguard Worker 81*f81fb7c4SAndroid Build Coastguard Worker /* default master volume is -10dB */ 82*f81fb7c4SAndroid Build Coastguard Worker #define DEFAULT_VOLUME 90 83*f81fb7c4SAndroid Build Coastguard Worker #define DEFAULT_STREAM_VOLUME 100 84*f81fb7c4SAndroid Build Coastguard Worker #define DEFAULT_STREAM_GAIN 14622 85*f81fb7c4SAndroid Build Coastguard Worker 86*f81fb7c4SAndroid Build Coastguard Worker /* 10 dB of boost available for individual parsers */ 87*f81fb7c4SAndroid Build Coastguard Worker #define STREAM_VOLUME_HEADROOM 10 88*f81fb7c4SAndroid Build Coastguard Worker 89*f81fb7c4SAndroid Build Coastguard Worker /* amalgamated persistent data type */ 90*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_eas_data_tag 91*f81fb7c4SAndroid Build Coastguard Worker { 92*f81fb7c4SAndroid Build Coastguard Worker #ifdef _CHECKED_BUILD 93*f81fb7c4SAndroid Build Coastguard Worker EAS_U32 handleCheck; 94*f81fb7c4SAndroid Build Coastguard Worker #endif 95*f81fb7c4SAndroid Build Coastguard Worker EAS_HW_DATA_HANDLE hwInstData; 96*f81fb7c4SAndroid Build Coastguard Worker 97*f81fb7c4SAndroid Build Coastguard Worker S_EFFECTS_MODULE effectsModules[NUM_EFFECTS_MODULES]; 98*f81fb7c4SAndroid Build Coastguard Worker 99*f81fb7c4SAndroid Build Coastguard Worker #ifdef _METRICS_ENABLED 100*f81fb7c4SAndroid Build Coastguard Worker S_METRICS_INTERFACE *pMetricsModule; 101*f81fb7c4SAndroid Build Coastguard Worker EAS_VOID_PTR pMetricsData; 102*f81fb7c4SAndroid Build Coastguard Worker #endif 103*f81fb7c4SAndroid Build Coastguard Worker 104*f81fb7c4SAndroid Build Coastguard Worker EAS_I32 *pMixBuffer; 105*f81fb7c4SAndroid Build Coastguard Worker EAS_PCM *pOutputAudioBuffer; 106*f81fb7c4SAndroid Build Coastguard Worker 107*f81fb7c4SAndroid Build Coastguard Worker #ifdef AUX_MIXER 108*f81fb7c4SAndroid Build Coastguard Worker S_EAS_AUX_MIXER auxMixer; 109*f81fb7c4SAndroid Build Coastguard Worker #endif 110*f81fb7c4SAndroid Build Coastguard Worker 111*f81fb7c4SAndroid Build Coastguard Worker #ifdef _MAXIMIZER_ENABLED 112*f81fb7c4SAndroid Build Coastguard Worker EAS_VOID_PTR pMaximizerData; 113*f81fb7c4SAndroid Build Coastguard Worker #endif 114*f81fb7c4SAndroid Build Coastguard Worker 115*f81fb7c4SAndroid Build Coastguard Worker S_EAS_STREAM streams[MAX_NUMBER_STREAMS]; 116*f81fb7c4SAndroid Build Coastguard Worker 117*f81fb7c4SAndroid Build Coastguard Worker S_VOICE_MGR *pVoiceMgr; 118*f81fb7c4SAndroid Build Coastguard Worker 119*f81fb7c4SAndroid Build Coastguard Worker #ifdef JET_INTERFACE 120*f81fb7c4SAndroid Build Coastguard Worker JET_DATA_HANDLE jetHandle; 121*f81fb7c4SAndroid Build Coastguard Worker #endif 122*f81fb7c4SAndroid Build Coastguard Worker 123*f81fb7c4SAndroid Build Coastguard Worker EAS_U32 renderTime; 124*f81fb7c4SAndroid Build Coastguard Worker EAS_I16 masterGain; 125*f81fb7c4SAndroid Build Coastguard Worker EAS_U8 masterVolume; 126*f81fb7c4SAndroid Build Coastguard Worker EAS_BOOL8 staticMemoryModel; 127*f81fb7c4SAndroid Build Coastguard Worker #ifdef FILE_HEADER_SEARCH 128*f81fb7c4SAndroid Build Coastguard Worker EAS_BOOL8 searchHeaderFlag; 129*f81fb7c4SAndroid Build Coastguard Worker #endif 130*f81fb7c4SAndroid Build Coastguard Worker } S_EAS_DATA; 131*f81fb7c4SAndroid Build Coastguard Worker 132*f81fb7c4SAndroid Build Coastguard Worker #endif 133*f81fb7c4SAndroid Build Coastguard Worker 134