summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-03-29 12:38:51 +0000
committerarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-03-29 12:38:51 +0000
commitd16931e04495929648c1ff76bb103fdd747ced43 (patch)
tree9f9536089478335d65449bfc239ef3154d74aa47 /loader
parent602a84339c265d9623411bc70890561e917e3a95 (diff)
downloadmpv-d16931e04495929648c1ff76bb103fdd747ced43.tar.bz2
mpv-d16931e04495929648c1ff76bb103fdd747ced43.tar.xz
Setup_FS fix for directshow
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@245 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader')
-rw-r--r--loader/dshow/DS_Filter.c14
1 files changed, 11 insertions, 3 deletions
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);