1*f81fb7c4SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------- 2*f81fb7c4SAndroid Build Coastguard Worker * 3*f81fb7c4SAndroid Build Coastguard Worker * File: 4*f81fb7c4SAndroid Build Coastguard Worker * eas_parser.h 5*f81fb7c4SAndroid Build Coastguard Worker * 6*f81fb7c4SAndroid Build Coastguard Worker * Contents and purpose: 7*f81fb7c4SAndroid Build Coastguard Worker * Interface declarations for the generic parser interface 8*f81fb7c4SAndroid Build Coastguard Worker * 9*f81fb7c4SAndroid Build Coastguard Worker * This header only contains declarations that are specific 10*f81fb7c4SAndroid Build Coastguard Worker * to this implementation. 11*f81fb7c4SAndroid Build Coastguard Worker * 12*f81fb7c4SAndroid Build Coastguard Worker * Copyright Sonic Network Inc. 2005 13*f81fb7c4SAndroid Build Coastguard Worker 14*f81fb7c4SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 15*f81fb7c4SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 16*f81fb7c4SAndroid Build Coastguard Worker * You may obtain a copy of the License at 17*f81fb7c4SAndroid Build Coastguard Worker * 18*f81fb7c4SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 19*f81fb7c4SAndroid Build Coastguard Worker * 20*f81fb7c4SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 21*f81fb7c4SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 22*f81fb7c4SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23*f81fb7c4SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 24*f81fb7c4SAndroid Build Coastguard Worker * limitations under the License. 25*f81fb7c4SAndroid Build Coastguard Worker * 26*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 27*f81fb7c4SAndroid Build Coastguard Worker * Revision Control: 28*f81fb7c4SAndroid Build Coastguard Worker * $Revision: 767 $ 29*f81fb7c4SAndroid Build Coastguard Worker * $Date: 2007-07-19 13:47:31 -0700 (Thu, 19 Jul 2007) $ 30*f81fb7c4SAndroid Build Coastguard Worker *---------------------------------------------------------------------------- 31*f81fb7c4SAndroid Build Coastguard Worker */ 32*f81fb7c4SAndroid Build Coastguard Worker 33*f81fb7c4SAndroid Build Coastguard Worker #ifndef _EAS_PARSER_H 34*f81fb7c4SAndroid Build Coastguard Worker #define _EAS_PARSER_H 35*f81fb7c4SAndroid Build Coastguard Worker 36*f81fb7c4SAndroid Build Coastguard Worker #include "eas_types.h" 37*f81fb7c4SAndroid Build Coastguard Worker 38*f81fb7c4SAndroid Build Coastguard Worker 39*f81fb7c4SAndroid Build Coastguard Worker /* metadata callback */ 40*f81fb7c4SAndroid Build Coastguard Worker typedef struct s_metadata_cb_tag 41*f81fb7c4SAndroid Build Coastguard Worker { 42*f81fb7c4SAndroid Build Coastguard Worker EAS_METADATA_CBFUNC callback; 43*f81fb7c4SAndroid Build Coastguard Worker char *buffer; 44*f81fb7c4SAndroid Build Coastguard Worker EAS_VOID_PTR pUserData; 45*f81fb7c4SAndroid Build Coastguard Worker EAS_I32 bufferSize; 46*f81fb7c4SAndroid Build Coastguard Worker } S_METADATA_CB; 47*f81fb7c4SAndroid Build Coastguard Worker 48*f81fb7c4SAndroid Build Coastguard Worker /* generic parser interface */ 49*f81fb7c4SAndroid Build Coastguard Worker typedef struct 50*f81fb7c4SAndroid Build Coastguard Worker { 51*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfCheckFileType)(struct s_eas_data_tag *pEASData, EAS_FILE_HANDLE fileHandle, EAS_VOID_PTR *ppHandle, EAS_I32 offset); 52*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfPrepare)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData); 53*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfTime)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_U32 *pTime); 54*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfEvent)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_INT parseMode); 55*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfState)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_STATE *pState); 56*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfClose)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData); 57*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfReset)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData); 58*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfPause)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData); 59*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfResume)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData); 60*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfLocate)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 time, EAS_BOOL *pParserLocate); 61*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfSetData)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 param, EAS_I32 value); 62*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfGetData)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 param, EAS_I32 *pValue); 63*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT (* EAS_CONST pfGetMetaData)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 *pMediaLength); 64*f81fb7c4SAndroid Build Coastguard Worker } S_FILE_PARSER_INTERFACE; 65*f81fb7c4SAndroid Build Coastguard Worker 66*f81fb7c4SAndroid Build Coastguard Worker typedef enum 67*f81fb7c4SAndroid Build Coastguard Worker { 68*f81fb7c4SAndroid Build Coastguard Worker eParserModePlay, 69*f81fb7c4SAndroid Build Coastguard Worker eParserModeLocate, 70*f81fb7c4SAndroid Build Coastguard Worker eParserModeMute, 71*f81fb7c4SAndroid Build Coastguard Worker eParserModeMetaData 72*f81fb7c4SAndroid Build Coastguard Worker } E_PARSE_MODE; 73*f81fb7c4SAndroid Build Coastguard Worker 74*f81fb7c4SAndroid Build Coastguard Worker typedef enum 75*f81fb7c4SAndroid Build Coastguard Worker { 76*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_FILE_TYPE, 77*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_PLAYBACK_RATE, 78*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_TRANSPOSITION, 79*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_VOLUME, 80*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_SYNTH_HANDLE, 81*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_METADATA_CB, 82*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_DLS_COLLECTION, 83*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_EAS_LIBRARY, 84*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_POLYPHONY, 85*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_PRIORITY, 86*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_FORMAT, 87*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_MEDIA_LENGTH, 88*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_JET_CB, 89*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_MUTE_FLAGS, 90*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_SET_MUTE, 91*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_CLEAR_MUTE, 92*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_NOTE_COUNT, 93*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_MAX_PCM_STREAMS, 94*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_GAIN_OFFSET, 95*f81fb7c4SAndroid Build Coastguard Worker PARSER_DATA_PLAY_MODE 96*f81fb7c4SAndroid Build Coastguard Worker } E_PARSER_DATA; 97*f81fb7c4SAndroid Build Coastguard Worker 98*f81fb7c4SAndroid Build Coastguard Worker #endif /* #ifndef _EAS_PARSER_H */ 99