我用vmr9渲染视频,media encoder 9录制,为什么每次都只能录几分钟 返回值为负数
BYTE* pBuffer = NULL;
HRESULT hr;
INSSBuffer * pSample = NULL;
hr = mWriter->AllocateSample(arg->widthstep * arg->height, &pSample);
hr = pSample->GetBuffer(&pBuffer);
for( int i=0 ; i < arg->height ; i++)
{
memcpy((BYTE*) pBuffer +( arg->height - i - 1) *
arg->widthstep ,
(BYTE*) arg->pixs + i* arg->widthstep ,
arg->widthstep);
}
hr = pSample->SetLength(arg->widthstep * arg->height);
DWORD flags = WM_SF_CLEANPOINT;
hr = mWriter->WriteSample(1,GetTimeStamp(), flags, pSample);在这里几分钟之后返回值为负数
时间戳是以系统时间作为参考时间