From 8b5f6bf3f40aa3df05f5d5749b8945c8f2844803 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Mon, 12 Mar 2012 19:54:39 +0100 Subject: [PATCH] amstream: Initialize MultiMediastream before creating the source filter. --- dlls/amstream/amstream.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c index bebe6e80208..72ace4a80c7 100644 --- a/dlls/amstream/amstream.c +++ b/dlls/amstream/amstream.c @@ -305,6 +305,18 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_OpenFile(IAMMultiMediaStream* ifac TRACE("(%p/%p)->(%s,%x)\n", This, iface, debugstr_w(pszFileName), dwFlags); + /* If Initialize was not called before, we do it here */ + if (!This->pFilterGraph) + { + ret = IAMMultiMediaStream_Initialize(iface, STREAMTYPE_READ, 0, NULL); + if (FAILED(ret)) + return ret; + } + + ret = IFilterGraph_QueryInterface(This->pFilterGraph, &IID_IGraphBuilder, (void**)&This->GraphBuilder); + if (ret != S_OK) + goto end; + ret = CoCreateInstance(&CLSID_AsyncReader, NULL, CLSCTX_INPROC_SERVER, &IID_IFileSourceFilter, (void**)&SourceFilter); if(ret != S_OK) return ret; @@ -345,20 +357,6 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_OpenFile(IAMMultiMediaStream* ifac goto end; } - /* If Initialize was not called before, we do it here */ - if (!This->pFilterGraph) - { - ret = IAMMultiMediaStream_Initialize(iface, STREAMTYPE_READ, 0, NULL); - if (FAILED(ret)) - goto end; - } - - ret = IFilterGraph_QueryInterface(This->pFilterGraph, &IID_IGraphBuilder, (void**)&This->GraphBuilder); - if(ret != S_OK) - { - goto end; - } - ret = IGraphBuilder_AddSourceFilter(This->GraphBuilder, pszFileName, pszFileName, &BaseFilter); end: -- 2.11.4.GIT