From c47666d42f7972e1b51f9de61ce0fa27c72f3127 Mon Sep 17 00:00:00 2001 From: austriancoder Date: Thu, 5 Aug 2004 23:05:21 +0000 Subject: initial import --- dxr3outputthread.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 dxr3outputthread.h (limited to 'dxr3outputthread.h') diff --git a/dxr3outputthread.h b/dxr3outputthread.h new file mode 100644 index 0000000..1ed7dc6 --- /dev/null +++ b/dxr3outputthread.h @@ -0,0 +1,71 @@ +/* + * dxr3outputthread.h: + * + * See the main source file 'dxr3.c' for copyright information and + * how to reach the author. + * + */ + +#ifndef _DXR3OUTPUTTHREAD_H_ +#define _DXR3OUTPUTTHREAD_H_ + +#include "dxr3vdrincludes.h" +#include "dxr3syncbuffer.h" +#include "dxr3audiodecoder.h" + +// ================================== +class cDxr3OutputThread : public cThread +{ +public: + cDxr3OutputThread(cDxr3Interface& dxr3Device, cDxr3SyncBuffer& buffer); + virtual ~cDxr3OutputThread() {Cancel();}; + + // virtual void Start(void) {cThread::Start()}; + void SetStopSignal(); + bool NeedResync() { return m_bNeedResync;}; + void ClearResyncRequest() { m_bNeedResync = false;}; + +protected: + virtual void Action() = 0; + bool GetStopSignal(); + + cDxr3Interface& m_dxr3Device; + cDxr3SyncBuffer& m_buffer; + bool m_bStopThread; + bool m_bNeedResync; + +private: + cDxr3OutputThread(cDxr3OutputThread&); // no copy contructor +}; + +// ================================== +class cDxr3AudioOutThread : public cDxr3OutputThread +{ +public: + cDxr3AudioOutThread(cDxr3Interface& dxr3Device, cDxr3SyncBuffer& buffer); + virtual ~cDxr3AudioOutThread() {} + +protected: + void Action(); + +private: +// cDxr3AudioOutThread(); // no standard constructor + cDxr3AudioOutThread(cDxr3AudioOutThread&); // no copy constructor +}; + +// ================================== +class cDxr3VideoOutThread : public cDxr3OutputThread +{ +public: + cDxr3VideoOutThread(cDxr3Interface& dxr3Device, cDxr3SyncBuffer& buffer); + virtual ~cDxr3VideoOutThread() {} + +protected: + void Action(); + +private: +// cDxr3VideoOutThread(); // no standard constructor + cDxr3VideoOutThread(cDxr3VideoOutThread&); // no copy constructor +}; + +#endif /*_DXR3OUTPUTTHREAD_H_*/ -- cgit v1.2.3