00001
00002
00003
00004
00005
00006
00007
00008
00013 #ifndef _BLT_PLAYER_H_
00014 #define _BLT_PLAYER_H_
00015
00020
00021
00022
00023 #include "Neptune.h"
00024 #include "BltDecoder.h"
00025 #include "BltDecoderClient.h"
00026 #include "BltDecoderServer.h"
00027
00028
00029
00030
00039 class BLT_Player : public BLT_DecoderClient
00040 {
00041 public:
00054 BLT_Player(NPT_MessageQueue* queue = NULL);
00055
00059 virtual ~BLT_Player();
00060
00067 virtual BLT_Result PumpMessage(bool blocking = true);
00068
00074 virtual BLT_Result SetInput(BLT_CString name, BLT_CString type = NULL);
00075
00081 virtual BLT_Result SetOutput(BLT_CString name, BLT_CString type = NULL);
00082
00087 virtual BLT_Result Play();
00088
00092 virtual BLT_Result Stop();
00093
00101 virtual BLT_Result Pause();
00102
00107 virtual BLT_Result SeekToTime(BLT_UInt32 time);
00108
00116 virtual BLT_Result SeekToTimeStamp(BLT_UInt8 h,
00117 BLT_UInt8 m,
00118 BLT_UInt8 s,
00119 BLT_UInt8 f);
00120
00130 virtual BLT_Result SeekToPosition(BLT_Size offset, BLT_Size range);
00131
00142 virtual BLT_Result Ping(const void* cookie);
00143
00152 virtual BLT_Result RegisterModule(BLT_Module* module);
00153
00159 virtual BLT_Result AddNode(BLT_CString name);
00160
00170 virtual BLT_Result SetProperty(BLT_PropertyScope scope,
00171 const char* target,
00172 const ATX_Property& property);
00173
00181 virtual BLT_Result Shutdown();
00182
00190 virtual BLT_Result Interrupt();
00191
00192 private:
00197 BLT_DecoderServer* m_Server;
00198 };
00199
00202 #endif