From 14e228c699e6a06792b97f27af2c9d4eda1057ac Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Mon, 12 Mar 2012 19:54:56 +0100 Subject: [PATCH] amstream: Add source filter to the filtergraph before loading the file. --- dlls/amstream/amstream.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c index 82dcd24daf2..a731d5e633b 100644 --- a/dlls/amstream/amstream.c +++ b/dlls/amstream/amstream.c @@ -316,6 +316,10 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_OpenFile(IAMMultiMediaStream* ifac if(ret != S_OK) return ret; + ret = IGraphBuilder_AddSourceFilter(This->pFilterGraph, pszFileName, pszFileName, &BaseFilter); + if (FAILED(ret)) + goto end; + ret = IFileSourceFilter_Load(SourceFilter, pszFileName, NULL); if(ret != S_OK) { @@ -337,23 +341,18 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_OpenFile(IAMMultiMediaStream* ifac } ret = IEnumPins_Next(EnumPins, 1, &ipin, NULL); - if(ret == S_OK) + if (ret == S_OK) { ret = IPin_QueryDirection(ipin, &pin_direction); IEnumPins_Release(EnumPins); - if(ret == S_OK && pin_direction == PINDIR_OUTPUT) + if (ret == S_OK && pin_direction == PINDIR_OUTPUT) This->ipin = ipin; - else - goto end; } else { IEnumPins_Release(EnumPins); - goto end; } - ret = IGraphBuilder_AddSourceFilter(This->pFilterGraph, pszFileName, pszFileName, &BaseFilter); - end: IBaseFilter_Release(BaseFilter); IFileSourceFilter_Release(SourceFilter);