AV8Buffer.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:1k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. // AV8Buffer.h
  3. #ifndef __AV8BUFFER_H__
  4. #define __AV8BUFFER_H__
  5. #if _MSC_VER >= 1000
  6. #pragma once
  7. #endif // _MSC_VER >= 1000
  8. //#include "mpegdef.h"
  9. //#include "mpgutil.h"
  10. #define WM_READYSEND  WM_USER+15
  11. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  12. // CAV8Buffer
  13. class CAV8Buffer : public CObject
  14. {
  15. public:
  16. CAV8Buffer(DWORD dwBlock, DWORD dwByte);
  17. virtual ~CAV8Buffer();
  18. private:
  19. DWORD m_dwBlock;
  20. DWORD m_dwByte;
  21. DWORD *m_pdwIndex;  // 数据流缓冲区索引
  22. DWORD *m_pdwLength; // 数据流缓冲区长度
  23. BOOL  *m_pbFull;    // 数据流缓冲区满标志
  24. LPSTR *m_plpArray;  // 数据流缓冲区指针
  25. LONG m_lEmptyBlock;
  26. BOOL Flag;
  27. public:
  28. DWORD PushIn(LPSTR lpData, DWORD dwLength);
  29. DWORD PopOut(LPSTR lpData, DWORD dwLength);
  30. void Stop () { Flag = false; };
  31. void ClearAll();
  32. private:
  33. LONG QueryEmpty();
  34. void OrderAll(DWORD dwTheLast);
  35. };
  36. #endif // __AV8BUFFER_H__
  37. // The End ///////////////////////////////////////////////////////////////////////////////////////////////////////////////