memstream.h

来自「利用rtp库实现实时语音传送」· C头文件 代码 · 共 44 行

H
44
字号
// MemStream.h: interface for the CMemStream class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MEMSTREAM_H__0A70E31F_E979_415A_B986_71C27FCF1BAD__INCLUDED_)
#define AFX_MEMSTREAM_H__0A70E31F_E979_415A_B986_71C27FCF1BAD__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CMemStream : public CAsyncStream  
{
public:
	void SetMediaLength(LONGLONG lMediaLength);
	void Unlock();
	void Lock();
	DWORD Alignment();
	LONGLONG Size(LONGLONG *pSizeAvailable);
	HRESULT Read(PBYTE pbBuffer,DWORD dwBytesToRead,BOOL bAlign,LPDWORD pdwBytesRead);
	HRESULT SetPointer(LONGLONG llPos);
	CMemStream();
	virtual ~CMemStream();
	void SetRTPSession(RTPSession *rtpSession);
	HRESULT Block();
	HRESULT ReleaseBlock();
	void FillBuffer(char* pbData,int nLength);
public:

protected:
    CCritSec		m_csLock;
    LONGLONG		m_llLength;
    LONGLONG		m_llPosition;
	RTPSession*		m_rtpSession;
	HANDLE			m_pMutex;
	char*			m_pbBuffer;
	BOOL			m_bWaiting;
	CTRLMSG			m_msg;
	DWORD			m_dwBytesToRead;
	DWORD			m_dwBytesHaveRead;
};

#endif // !defined(AFX_MEMSTREAM_H__0A70E31F_E979_415A_B986_71C27FCF1BAD__INCLUDED_)

⌨️ 快捷键说明

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