DirechShow编程,怎样遍历IGraphBuilder中的Filter,然后释放Filter占用的资源??

lingbin 2003-08-19 08:51:28
遍历一个IGraphBuilder中的所有Filter,然后释放掉这些Filter占用的系统资源,我知道是用Release来释放,可是我现在的程序用Release来释放的时候,竟然释放不完,每播完一首歌就要占用系统资源的2%,再播个几首歌后,边系统资源都没有了,怎么办啊,能不能帮我写一个可以遍历整个IGraphBuilder中的Filter,然后全部释放掉这些Filter占用的系统资源,叫它从开始占用的系统资源是多少到结束播放时还是占用那么多的系统资源,各位高手帮帮忙啊。
...全文
136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingbin 2003-08-20
  • 打赏
  • 举报
回复
Release掉DecoderFilter后,还有指针指向它,怎么办,怎样子删除掉指向它的指针???
lingbin 2003-08-20
  • 打赏
  • 举报
回复
to jackyuke(jack) :
用了你那个函数还是释放不了系统资源,是不是要打什么补丁才行啊。
mfcstarter 2003-08-19
  • 打赏
  • 举报
回复
jackyuke(jack) ,帮忙看看,谢谢!!!
http://expert.csdn.net/Expert/topic/2164/2164652.xml?temp=6.315249E-02
lingbin 2003-08-19
  • 打赏
  • 举报
回复
to jackyuke(jack) :
我在播放文件之前调用你给我的函数,播放第一首歌那个pGraph是NULL所以就没有调用,播放第二首歌的时候,那个pGraph不是NULL,所以就调用到它,可是调用后,却创建不了DecoderFilter了,为什么?
jackyuke 2003-08-19
  • 打赏
  • 举报
回复
HRESULT EnumFilters (IFilterGraph *pGraph)
{
IEnumFilters *pEnum = NULL;
IBaseFilter *pFilter;
ULONG cFetched;

HRESULR hr = pGraph->EnumFilters(&pEnum);
if (FAILED(hr)) return hr;

while(pEnum->Next(1, &pFilter, &cFetched) == S_OK)
{
FILTER_INFO FilterInfo;
hr = pFilter->QueryFilterInfo(&FilterInfo);
if (FAILED(hr))
{
MessageBox(NULL, TEXT("Could not get the filter info"),
TEXT("Error"), MB_OK | MB_ICONERROR);
continue; // Maybe the next one will work.
}

#ifdef UNICODE
MessageBox(NULL, FilterInfo.achName, TEXT("Filter Name"), MB_OK);
#else
char szName[MAX_FILTER_NAME];
int cch = WideCharToMultiByte(CP_ACP, 0, FilterInfo.achName,
MAX_FILTER_NAME, szName, MAX_FILTER_NAME, 0, 0);
if (chh > 0)
MessageBox(NULL, szName, TEXT("Filter Name"), MB_OK);
#endif

// The FILTER_INFO structure holds a pointer to the Filter Graph
// Manager, with a reference count that must be released.
if (FilterInfo.pGraph != NULL)
{
FilterInfo.pGraph->Release();
}
pFilter->Release();
}

pEnum->Release();
return S_OK;
}

试试看

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧