123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*----------------------------------------------------------------------------
- *
- * File:
- * eas_parser.h
- *
- * Contents and purpose:
- * Interface declarations for the generic parser interface
- *
- * This header only contains declarations that are specific
- * to this implementation.
- *
- * Copyright Sonic Network Inc. 2005
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *----------------------------------------------------------------------------
- * Revision Control:
- * $Revision: 767 $
- * $Date: 2007-07-19 13:47:31 -0700 (Thu, 19 Jul 2007) $
- *----------------------------------------------------------------------------
- */
- #ifndef _EAS_PARSER_H
- #define _EAS_PARSER_H
- #include "eas_types.h"
- /* metadata callback */
- typedef struct s_metadata_cb_tag
- {
- EAS_METADATA_CBFUNC callback;
- char *buffer;
- EAS_VOID_PTR pUserData;
- EAS_I32 bufferSize;
- } S_METADATA_CB;
- /* generic parser interface */
- typedef struct
- {
- EAS_RESULT (* EAS_CONST pfCheckFileType)(struct s_eas_data_tag *pEASData, EAS_FILE_HANDLE fileHandle, EAS_VOID_PTR *ppHandle, EAS_I32 offset);
- EAS_RESULT (* EAS_CONST pfPrepare)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData);
- EAS_RESULT (* EAS_CONST pfTime)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_U32 *pTime);
- EAS_RESULT (* EAS_CONST pfEvent)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_INT parseMode);
- EAS_RESULT (* EAS_CONST pfState)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_STATE *pState);
- EAS_RESULT (* EAS_CONST pfClose)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData);
- EAS_RESULT (* EAS_CONST pfReset)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData);
- EAS_RESULT (* EAS_CONST pfPause)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData);
- EAS_RESULT (* EAS_CONST pfResume)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData);
- EAS_RESULT (* EAS_CONST pfLocate)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 time, EAS_BOOL *pParserLocate);
- EAS_RESULT (* EAS_CONST pfSetData)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 param, EAS_I32 value);
- EAS_RESULT (* EAS_CONST pfGetData)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 param, EAS_I32 *pValue);
- EAS_RESULT (* EAS_CONST pfGetMetaData)(struct s_eas_data_tag *pEASData, EAS_VOID_PTR pInstData, EAS_I32 *pMediaLength);
- } S_FILE_PARSER_INTERFACE;
- typedef enum
- {
- eParserModePlay,
- eParserModeLocate,
- eParserModeMute,
- eParserModeMetaData
- } E_PARSE_MODE;
- typedef enum
- {
- PARSER_DATA_FILE_TYPE,
- PARSER_DATA_PLAYBACK_RATE,
- PARSER_DATA_TRANSPOSITION,
- PARSER_DATA_VOLUME,
- PARSER_DATA_SYNTH_HANDLE,
- PARSER_DATA_METADATA_CB,
- PARSER_DATA_DLS_COLLECTION,
- PARSER_DATA_EAS_LIBRARY,
- PARSER_DATA_POLYPHONY,
- PARSER_DATA_PRIORITY,
- PARSER_DATA_FORMAT,
- PARSER_DATA_MEDIA_LENGTH,
- PARSER_DATA_JET_CB,
- PARSER_DATA_MUTE_FLAGS,
- PARSER_DATA_SET_MUTE,
- PARSER_DATA_CLEAR_MUTE,
- PARSER_DATA_NOTE_COUNT,
- PARSER_DATA_MAX_PCM_STREAMS,
- PARSER_DATA_GAIN_OFFSET,
- PARSER_DATA_PLAY_MODE
- } E_PARSER_DATA;
- #endif /* #ifndef _EAS_PARSER_H */
|