00001
00002
00003
00004
00005
00006
00007
00008
00013 #ifndef _BLT_DECODER_H_
00014 #define _BLT_DECODER_H_
00015
00016
00017
00018
00019 #include "BltDefs.h"
00020 #include "BltTypes.h"
00021 #include "BltStream.h"
00022 #include "BltTime.h"
00023 #include "BltEventListener.h"
00024
00029
00030
00031
00032 #define BLT_DECODER_DEFAULT_OUTPUT_NAME "!default"
00033
00034
00035
00036
00046 typedef struct BLT_Decoder BLT_Decoder;
00047
00051 typedef struct {
00052 BLT_StreamInfo stream_info;
00053 BLT_StreamPosition position;
00054 BLT_TimeStamp time_stamp;
00055 } BLT_DecoderStatus;
00056
00057
00058
00059
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063
00067 BLT_Result BLT_Decoder_Create(BLT_Decoder** decoder);
00068
00072 BLT_Result BLT_Decoder_Destroy(BLT_Decoder* decoder);
00073
00077 BLT_Result BLT_Decoder_RegisterBuiltins(BLT_Decoder* decoder);
00078
00083 BLT_Result BLT_Decoder_RegisterModule(BLT_Decoder* decoder,
00084 BLT_Module* module);
00085
00091 BLT_Result BLT_Decoder_SetInput(BLT_Decoder* decoder,
00092 BLT_CString name,
00093 BLT_CString type);
00094
00100 BLT_Result BLT_Decoder_SetOutput(BLT_Decoder* decoder,
00101 BLT_CString name,
00102 BLT_CString type);
00103
00111 BLT_Result BLT_Decoder_AddNodeByName(BLT_Decoder* decoder,
00112 BLT_MediaNode* where,
00113 BLT_CString name);
00114
00119 BLT_Result BLT_Decoder_GetProperties(BLT_Decoder* decoder,
00120 ATX_Properties** properties);
00121
00127 BLT_Result BLT_Decoder_GetStatus(BLT_Decoder* decoder,
00128 BLT_DecoderStatus* status);
00129
00137 BLT_Result BLT_Decoder_GetStreamProperties(BLT_Decoder* decoder,
00138 ATX_Properties** properties);
00139
00143 BLT_Result BLT_Decoder_PumpPacket(BLT_Decoder* decoder);
00144
00152 BLT_Result BLT_Decoder_Stop(BLT_Decoder* decoder);
00153
00165 BLT_Result BLT_Decoder_Pause(BLT_Decoder* decoder);
00166
00171 BLT_Result BLT_Decoder_SeekToTime(BLT_Decoder* decoder, BLT_UInt32 time);
00172
00181 BLT_Result BLT_Decoder_SeekToPosition(BLT_Decoder* decoder,
00182 BLT_Size offset,
00183 BLT_Size range);
00184
00191 BLT_Result BLT_Decoder_SetEventListener(BLT_Decoder* decoder,
00192 BLT_EventListener* listener);
00193
00194 #ifdef __cplusplus
00195 }
00196 #endif
00197
00200 #endif