cdataadmin.h

来自「WINCE下的播放器」· C头文件 代码 · 共 53 行

H
53
字号
// 
// 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 GetPoolBuffer(void);
	int ReleasePoolBuffer(PMPEG1_PACK pData);

	PMPEG1_PACK PointToDataHead(void);
	int RollBackDataHead(PMPEG1_PACK pData);

	DWORD WaitForNext(DWORD  inTimeOut);
};

#endif // !defined(__CDataAdmin_h__)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?