|
3驿站币
CComPtr<IBaseFilter> spMP4FileParser;
HRESULT hr = AddFilterByName(GB,szMP4FileParser,szFilePath,&spMP4FileParser);
if(spMP4FileParser==NULL) return hr;
//CComQIPtr<IFileSourceFilter> pFileSource(spMP4FileParser);
/*IFileSourceFilter * pFileSource = NULL;
hr = CoCreateInstance(CLSID_FileSource, NULL, CLSCTX_INPROC_SERVER,
IID_IFileSourceFilter, (void**)&pFileSource);*/
IFileSourceFilter *pFileSource = NULL;
hr = spMP4FileParser->QueryInterface(IID_IFileSourceFilter, (void**)&pFileSource);
hr = pFileSource->Load(T2W(szFilePath),NULL);
if(FAILED(hr)) return hr;
CComPtr<IEnumPins> ep;
hr = spMP4FileParser->EnumPins(&ep);
if(FAILED(hr)) return hr;
CComPtr<IPin> pin;
DWORD dwCount;
int i = 0;
for(;;)
{
dwCount = 0;
hr = ep->Next(1,&pin,&dwCount);
if(hr!=NOERROR)
{
if(i) hr = NOERROR;
break;
}
hr = GB->Render(pin);
if(hr==NOERROR) ++i;
pin = NULL;
}
return hr;
hr = pFileSource->Load(T2W(szFilePath),NULL); 执行以后程序崩溃,
|
上一篇: 基本问题下一篇: 关于教材
|