nssbuffer.cpp
来自「从FFMPEG转换而来的H264解码程序,VC下编译..」· C++ 代码 · 共 50 行
CPP
50 行
#include "stdafx.h"
#include "nssBuffer.h"
TmyNssBuffer::TmyNssBuffer(LPUNKNOWN punk,HRESULT *phr):CUnknown(_l("TmyNssBuffer"),punk)
{
buf=NULL;
buflen=NULL;
AddRef();
*phr=S_OK;
}
TmyNssBuffer::~TmyNssBuffer()
{
if (buf) free(buf);
}
void TmyNssBuffer::alloc(DWORD Ilen)
{
if (buf) free(buf);
buf=(BYTE*)malloc(len=buflen=Ilen);
}
STDMETHODIMP TmyNssBuffer::GetLength(DWORD *pdwLength)
{
if (!pdwLength) return E_POINTER;
*pdwLength=len;
return S_OK;
}
STDMETHODIMP TmyNssBuffer::SetLength(DWORD dwLength)
{
len=dwLength;
return S_OK;
}
STDMETHODIMP TmyNssBuffer::GetMaxLength(DWORD *pdwLength)
{
if (!pdwLength) return E_POINTER;
*pdwLength=buflen;
return S_OK;
}
STDMETHODIMP TmyNssBuffer::GetBuffer(BYTE **ppdwBuffer)
{
if (!ppdwBuffer) return E_POINTER;
*ppdwBuffer=buf;
return S_OK;
}
STDMETHODIMP TmyNssBuffer::GetBufferAndLength(BYTE **ppdwBuffer,DWORD *pdwLength)
{
if (!ppdwBuffer || !pdwLength) return E_POINTER;
*ppdwBuffer=buf;
*pdwLength=len;
return S_OK;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?