1 /*---------------------------------------------------------------------------- 2 * 3 * File: 4 * eas_wavefile.h 5 * 6 * Contents and purpose: 7 * Static data block for wave file parser. 8 * 9 * Copyright Sonic Network Inc. 2005 10 11 * Licensed under the Apache License, Version 2.0 (the "License"); 12 * you may not use this file except in compliance with the License. 13 * You may obtain a copy of the License at 14 * 15 * http://www.apache.org/licenses/LICENSE-2.0 16 * 17 * Unless required by applicable law or agreed to in writing, software 18 * distributed under the License is distributed on an "AS IS" BASIS, 19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 * See the License for the specific language governing permissions and 21 * limitations under the License. 22 * 23 *---------------------------------------------------------------------------- 24 * Revision Control: 25 * $Revision: 439 $ 26 * $Date: 2006-10-26 11:53:18 -0700 (Thu, 26 Oct 2006) $ 27 *---------------------------------------------------------------------------- 28 */ 29 30 #ifndef _EAS_WAVEFILE_H 31 #define _EAS_WAVEFILE_H 32 33 #include "eas_data.h" 34 #include "eas_pcm.h" 35 36 /*---------------------------------------------------------------------------- 37 * 38 * S_WAVE_STATE 39 * 40 * This structure contains the WAVE file parser state information 41 *---------------------------------------------------------------------------- 42 */ 43 typedef struct s_wave_state_tag 44 { 45 EAS_FILE_HANDLE fileHandle; 46 EAS_PCM_HANDLE streamHandle; 47 S_METADATA_CB metadata; 48 EAS_U32 time; 49 EAS_I32 fileOffset; 50 EAS_I32 audioOffset; 51 EAS_I32 mediaLength; 52 EAS_U32 audioSize; 53 EAS_U32 flags; 54 EAS_I16 fileType; 55 #ifdef MMAPI_SUPPORT 56 EAS_VOID_PTR fmtChunk; 57 #endif 58 EAS_I32 infoChunkPos; 59 EAS_I32 infoChunkSize; 60 } S_WAVE_STATE; 61 62 #endif 63 64