在AVI容器视频文件渲染h.264期间,我的应用程序的内存消耗速度很快,速度达到150 Mb /分钟。
这是我图表图片的链接:http://picturepush.com/public/8926555
如果使用LAV视频解码器,则无内存泄漏。
首先我建议,泄漏发生在我的代码中,但是我只是关闭(在回调开始时设置“返回S_OK”)我的样本采集器过滤器 - 泄漏继续。
此外,我试图在停止图之后释放每个过滤器,但这没有删除泄漏:
if(m_pMediaControl)
{
HRESULT hr = m_pMediaControl->Stop();
LONG lCount;
IUnknown* pUnk;
IAMCollection* p_Collection;
hr = m_pMediaControl->get_FilterCollection(reinterpret_cast<IDispatch**>(&p_Collection));
hr = p_Collection->get_Count(&lCount);
for (int i=0; i<lCount; i++)
{
hr = p_Collection->Item(i, &pUnk);
pUnk->Release();
}
p_Collection->Release();
}
m_pMediaControl.Release();
对于任何消息都会感到高兴,如何消除内存泄漏?
我在graphedit创建了不同的图形并观察了重复播放短(6秒)h.264视频文件: