CDataAdmin.h
上传用户:hhs829
上传日期:2022-06-17
资源大小:586k
文件大小:1k
- //
- // CDataAdmin.h
- //
- #if !defined(__CDataAdmin_h__)
- #define __CDataAdmin_h__
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include <afxtempl.h>
- #include <afxmt.h>
- #include "MyDef.h"
- class CDataAdmin
- {
- // Attributes
- public:
- HANDLE m_hBufEnough; // Buffer enough before run the filter graph
- protected:
- CMutex * m_pMutex;
- bool m_bFlushing;
- CTypedPtrList <CPtrList, PMPEG1_PACK> DataList;
- CTypedPtrList <CPtrList, PMPEG1_PACK> PoolList;
- // Operations
- public:
- CDataAdmin();
- virtual ~CDataAdmin();
- void SetFlushing(bool inFlush = true);
- bool IsFlushing(void);
- // List administrate
- int ResetList(void);
- int GetListSize(void);
- PMPEG1_PACK GetDataBuffer(void);
- int ReleaseDataBuffer(PMPEG1_PACK pData);
- PMPEG1_PACK GetWriteBuffer(void);
- int ReleaseWriteBuffer(PMPEG1_PACK pData);
- PMPEG1_PACK PointToDataHead(void);
- int RollBackDataHead(PMPEG1_PACK pData);
- DWORD WaitForNext(DWORD inTimeOut);
- };
- #endif // !defined(__CDataAdmin_h__)