From d16931e04495929648c1ff76bb103fdd747ced43 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Thu, 29 Mar 2001 12:38:51 +0000 Subject: Setup_FS fix for directshow git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@245 b3059339-0415-0410-9bf9-f77b7e298cf2 --- loader/dshow/DS_Filter.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'loader') diff --git a/loader/dshow/DS_Filter.c b/loader/dshow/DS_Filter.c index 51d1c126dc..02a5832e33 100644 --- a/loader/dshow/DS_Filter.c +++ b/loader/dshow/DS_Filter.c @@ -15,6 +15,9 @@ extern "C" int STDCALL LoadLibraryA(const char*); extern "C" STDCALL void* GetProcAddress(int, const char*); extern "C" int STDCALL FreeLibrary(int); +extern "C" void Setup_LDT_Keeper(); +extern "C" void setup_FS_Segment(); + DS_Filter::DS_Filter() :m_iHandle(0), m_pFilter(0), m_pInputPin(0), m_pOutputPin(0), m_pSrcFilter(0), @@ -25,6 +28,9 @@ DS_Filter::DS_Filter() void DS_Filter::Create(string dllname, const GUID* id, AM_MEDIA_TYPE* in_fmt, AM_MEDIA_TYPE* out_fmt) { + + Setup_LDT_Keeper(); + try { string _fullname=def_path; @@ -42,9 +48,11 @@ void DS_Filter::Create(string dllname, const GUID* id, AM_MEDIA_TYPE* in_fmt, AM result=func(id, &IID_IClassFactory, (void**)&factory); if(result || (!factory)) throw FATAL("No such class object");; - printf("# factory = %X\n",(unsigned int)factory); - printf("# factory->vt = %X\n",(unsigned int)factory->vt); - printf("# factory->vt->CreateInstance = %X\n",(unsigned int)factory->vt->CreateInstance); +// printf("# factory = %X\n",(unsigned int)factory); +// printf("# factory->vt = %X\n",(unsigned int)factory->vt); +// printf("# factory->vt->CreateInstance = %X\n",(unsigned int)factory->vt->CreateInstance); + + setup_FS_Segment(); printf("Calling factory->vt->CreateInstance()\n"); result=factory->vt->CreateInstance(factory, 0, &IID_IUnknown, (void**)&object); -- cgit v1.2.3