mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.8 KiB
116 lines
2.8 KiB
/*
|
|
クラスライブラリのインタフェース
|
|
(NP2) Sachiko Yasukawa
|
|
*/
|
|
// Date | Author | Description
|
|
// -----------+--------------+--------------------------------------------
|
|
// 1998.03.27 | Hideki Yagi | Change the specification about
|
|
// | | Get***Property().
|
|
//
|
|
|
|
typedef enum {
|
|
PowerOff,
|
|
Stop,
|
|
Pause,
|
|
Play,
|
|
Slow,
|
|
Scan
|
|
} LIBSTATE;
|
|
|
|
class IMPEGBuffer : public IMBoardListItem
|
|
{
|
|
public:
|
|
virtual DWORD GetPageNum()=0;
|
|
virtual DWORD GetPageSize(DWORD PageNum)=0;
|
|
virtual BOOL GetPagePointer(DWORD PageNum, DWORD *LinearAdd, DWORD *PhyAdd)=0;
|
|
virtual DWORD GetBufferFlag()=0;
|
|
};
|
|
|
|
class IMPEGBoardState
|
|
{
|
|
public:
|
|
virtual BOOL Init()=0;
|
|
};
|
|
|
|
//class IMPEGBoardLibEvent
|
|
//{
|
|
//public:
|
|
// virtual void Advice(PVOID)=0;
|
|
// virtual HALEVENTTYPE GetEventType()=0;
|
|
//};
|
|
|
|
class ITransfer
|
|
{
|
|
public:
|
|
virtual BOOL Init()=0;
|
|
virtual BOOL SetSink(IMPEGBoardEvent *pEvent)=0;
|
|
virtual BOOL UnSetSink(IMPEGBoardEvent *pEvent)=0;
|
|
virtual BOOL SetDMABuffer(DWORD size, BYTE* LinerAdd, BYTE *PhysAdd)=0;
|
|
};
|
|
|
|
class IStateObject;
|
|
|
|
class IBaseStream
|
|
{
|
|
public:
|
|
virtual BOOL Init()=0;
|
|
virtual BOOL Play()=0;
|
|
virtual BOOL Stop()=0;
|
|
virtual BOOL Pause()=0;
|
|
virtual BOOL Slow(DWORD)=0;
|
|
virtual BOOL Scan(DWORD)=0;
|
|
virtual BOOL SingleStep()=0;
|
|
virtual LIBSTATE GetState()=0;
|
|
virtual BOOL SendData(IMPEGBuffer *)=0;
|
|
virtual BOOL SetStateObject(IMPEGBoardState *pState)=0;
|
|
virtual BOOL SetTransferObject(ITransfer *pTransfer)=0;
|
|
virtual BOOL SetTransferMode(HALSTREAMMODE)=0;
|
|
virtual BOOL SetDataDirection( DirectionType type ) = 0;
|
|
virtual BOOL GetDataDirection( DirectionType *ptype ) = 0;
|
|
};
|
|
|
|
class IVideoProperty
|
|
{
|
|
public:
|
|
virtual BOOL GetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)=0;
|
|
virtual BOOL SetVideoProperty(VIDEOPROPTYPE PropetyType, PVOID pProperty)=0;
|
|
};
|
|
|
|
class IAudioProperty
|
|
{
|
|
public:
|
|
virtual BOOL GetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)=0;
|
|
virtual BOOL SetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)=0;
|
|
};
|
|
|
|
class ISubpicProperty
|
|
{
|
|
public:
|
|
virtual BOOL GetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)=0;
|
|
virtual BOOL SetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)=0;
|
|
};
|
|
|
|
class ICopyProtectProperty
|
|
{
|
|
public:
|
|
virtual BOOL CppInit() =0;
|
|
virtual BOOL SetChlgKey(UCHAR *)=0;
|
|
virtual BOOL GetChlgKey(UCHAR *)=0;
|
|
virtual BOOL SetDVDKey1(UCHAR *)=0;
|
|
virtual BOOL GetDVDKey2(UCHAR *)=0;
|
|
virtual BOOL SetTitleKey(UCHAR *)=0;
|
|
virtual BOOL SetDiscKey(UCHAR *)=0;
|
|
};
|
|
|
|
class IMPEGBoard
|
|
{
|
|
public:
|
|
virtual BOOL Init()=NULL;
|
|
virtual BOOL AddStreamObjectInterface(IBaseStream *)=NULL;
|
|
virtual BOOL ReleaseStreamObjectInterface(IBaseStream *)=NULL;
|
|
virtual BOOL PowerOn()=NULL;
|
|
virtual BOOL PowerOff()=NULL;
|
|
virtual BOOL SetSTC(DWORD)=NULL;
|
|
virtual BOOL GetSTC(DWORD *)=NULL;
|
|
virtual BOOL SetHALObjectInterface(IClassLibHAL *)=NULL;
|
|
};
|