--- PtDevice.h.orig 2008-10-25 13:06:02.000000000 +0900 +++ PtDevice.h 2008-10-27 20:41:02.697250000 +0900 @@ -9,6 +9,7 @@ #include "OS_Library.h" #include #include +#include using namespace EARTH; @@ -18,6 +19,55 @@ ///////////////////////////////////////////////////////////////////////////// +// データバッファ +///////////////////////////////////////////////////////////////////////////// + +class CDataBuffer +{ +public: + explicit CDataBuffer(const DWORD dwBuffSize) + : m_dwDataSize(0) + , m_dwBuffSize(dwBuffSize) + , m_pData(new BYTE[dwBuffSize]) + { + assert(m_pData); + } + + ~CDataBuffer() + { + delete [] m_pData; + } + + BYTE * GetData(void) const + { + return m_pData; + } + + const DWORD GetSize(void) const + { + return m_dwDataSize; + } + + __forceinline void AddByte(const BYTE byData) + { + assert(m_dwDataSize < m_dwBuffSize); + m_pData[m_dwDataSize] = byData; + m_dwDataSize++; + } + + void ClearSize(void) + { + m_dwDataSize = 0; + } + +private: + DWORD m_dwDataSize; + DWORD m_dwBuffSize; + BYTE *m_pData; +}; + + +///////////////////////////////////////////////////////////////////////////// // PTマネージャクラス ///////////////////////////////////////////////////////////////////////////// @@ -141,7 +191,7 @@ bool m_bIsStream; bool m_bIsLnbOn; - CMediaData m_StreamBuffer; + CDataBuffer m_StreamBuffer; DWORD m_dwStreamCounter; ITsReceiver *m_pTsReceiver;