xref: /aosp_15_r20/external/sonivox/arm-wt-22k/lib_src/eas_parser.h (revision f81fb7c475c4b71ff83bdcc517de2a8c174e4e5c)
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