Filter无法连接
我写的源Filter在GraphEdit中能正常连接播放文件,但在程序中去不能连接了,不知为什么,请高手帮忙,谢谢!部分代码如下:
IGraphBuilder *mGraphBuilder;
.....
if(mGraphBuilder)
{
WCHAR szFilePath[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, inFile, -1, szFilePath, MAX_PATH);
HRESULT hr = mGraphBuilder->AddSourceFilter(szFilePath, L"AsyncEx", &mSrcFilter);
if(FAILED(hr)) return false;
AM_MEDIA_TYPE mt;
IPin *pIn = NULL, *pOut = NULL;
PIN_INFO pinfo;
//连接各个过滤器
hr = GetUnconnectedPin(mSrcFilter, PINDIR_OUTPUT, &pOut); //源Filter输出(只一个输出Pin)
if(FAILED(hr)) return false;
hr = GetUnconnectedPin(mSteamSplliter, PINDIR_INPUT, &pIn); //流分离器输入(只有一个输入Pin)
if(FAILED(hr)) return false;
//以上都成功
ZeroMemory(&mt, sizeof(AM_MEDIA_TYPE));
mt.majortype = MEDIATYPE_Stream;
mt.subtype = MEDIASUBTYPE_MPEG2_PROGRAM;
mt.formattype = GUID_NULL;
hr = pOut->QueryAccept(&mt);
hr = pIn->QueryAccept(&mt); //调试发现支持批指定的媒体类型,返回hr=0;
hr = mGraphBuilder->ConnectDirect(pOut, pIn, &mt); //到此返回-2147220985;
// hr = mGraphBuilder->Connect(pOut, pIn); //如果用此调用会弹出导异常窗口
pIn->Release();
pOut->Release();
if(FAILED(hr)) return false;
......
}
-
1079889
肯定是能用的,只是你还不熟悉如何用
<img border="0" src="qq.jpg" width="40" height="40" style="filter:blur(strength=50)">
说明一下,不用中文的双引号,
| 添加评论
| 打赏
关于回答者

-
0个问题 478个回答
该用户没有自我介绍