MediaPinType.h
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:1k
源码类别:

P2P编程

开发平台:

Visual C++

  1. #pragma once
  2. class SampleBuffer
  3. {
  4. public:
  5.     SampleBuffer(void);
  6.     ~SampleBuffer(void);
  7. protected:
  8.     SampleBuffer(SampleBuffer &);
  9.     SampleBuffer& operator = (SampleBuffer &);
  10. public:
  11.     bool    IsAnyDataSaved();
  12.     void    SaveData(const SampleHeader &header, const BYTE* pData, const UINT maxSize);
  13.     bool    GetData(SampleHeader &header, BYTE* pData, const UINT maxSize);
  14.     bool    PeerData(SampleHeader &header, BYTE* pData, const UINT maxSize) const;
  15.     void    Clean();
  16. protected:
  17.     bool    Alloc(SampleHeader* &pHeaderbuf, BYTE* & pDatabuf, const size);
  18. private:
  19.     BYTE*           m_buffer;
  20.     UINT    m_size;
  21. };
  22. class MediaPinType : protected SampleBuffer
  23. {
  24. public:
  25.     MediaPinType(void);
  26.     ~MediaPinType(void);
  27.     bool    IsInited(){return IsAnyDataSaved();}
  28.     void    SaveMediaTypeData(const SampleHeader &header, const BYTE* pData, const UINT maxSize);
  29.     bool    RestoreMediaTypeData(SampleHeader &header, BYTE* pData, const UINT maxSize) const;
  30. protected:
  31.     MediaPinType(MediaPinType &);
  32.     MediaPinType& operator = (MediaPinType &) const;
  33. };