BltPlayer.h

Go to the documentation of this file.
00001 /*****************************************************************
00002 |
00003 |   BlueTune - Async Layer
00004 |
00005 |   (c) 2002-2006 Gilles Boccon-Gibod
00006 |   Author: Gilles Boccon-Gibod (bok@bok.net)
00007 |
00008  ****************************************************************/
00013 #ifndef _BLT_PLAYER_H_
00014 #define _BLT_PLAYER_H_
00015 
00020 /*----------------------------------------------------------------------
00021 |   includes
00022 +---------------------------------------------------------------------*/
00023 #include "Neptune.h"
00024 #include "BltDecoder.h"
00025 #include "BltDecoderClient.h"
00026 #include "BltDecoderServer.h"
00027 
00028 /*----------------------------------------------------------------------
00029 |   BLT_Player
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 
00136     virtual BLT_Result RegisterModule(BLT_Module* module);
00137 
00143     virtual BLT_Result AddNode(BLT_CString name);
00144 
00152     virtual BLT_Result Shutdown();
00153 
00161     virtual BLT_Result Interrupt();
00162 
00163 private:
00168     BLT_DecoderServer* m_Server;
00169 };
00170 
00173 #endif /* _BLT_PLAYER_H_ */