[xiph-commits] r11027 - in branches/oggdsf_ce_port: build/oggcodecs_wm5 src/lib/codecs/vorbis/filters/dsfVorbisDecoder src/lib/core/directshow/dsfOggDemux2 src/tests/testLoadLib

illiminable at svn.xiph.org illiminable at svn.xiph.org
Sun Mar 19 09:28:30 PST 2006


Author: illiminable
Date: 2006-03-19 09:28:15 -0800 (Sun, 19 Mar 2006)
New Revision: 11027

Modified:
   branches/oggdsf_ce_port/build/oggcodecs_wm5/oggcodecs_wm5.vddproj
   branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp
   branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h
   branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.cpp
   branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h
   branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp
   branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h
   branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp
   branches/oggdsf_ce_port/src/tests/testLoadLib/testLoadLib.cpp
Log:
* Vorbis decoder registers on WM5
* Ogg demux still crashes the registration tool

Modified: branches/oggdsf_ce_port/build/oggcodecs_wm5/oggcodecs_wm5.vddproj
===================================================================
--- branches/oggdsf_ce_port/build/oggcodecs_wm5/oggcodecs_wm5.vddproj	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/build/oggcodecs_wm5/oggcodecs_wm5.vddproj	2006-03-19 17:28:15 UTC (rev 11027)
@@ -44,25 +44,25 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_657FA65D0EF840B58E117C34EF725AE2"
+        "MsmKey" = "8:_78B83888966E4D28897A832EC1CB59EB"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_78B83888966E4D28897A832EC1CB59EB"
+        "MsmKey" = "8:_7CC0F388C7734C2B8ECED59713F156C7"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_7CC0F388C7734C2B8ECED59713F156C7"
+        "MsmKey" = "8:_898F68EFD6EB479185D2277F89249261"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_898F68EFD6EB479185D2277F89249261"
+        "MsmKey" = "8:_A426EE6EF354441D95FE7C65861866C6"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
@@ -301,9 +301,9 @@
                 {
                 }
             }
-            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_657FA65D0EF840B58E117C34EF725AE2"
+            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_78B83888966E4D28897A832EC1CB59EB"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\speex\\filters\\dsfspeexdecoder\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\dsfSpeexDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libooogg\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\libOOOgg.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_8BE9216FDC6E4FB1B98829D8873DE833"
@@ -321,15 +321,15 @@
             "ProjectOutputGroupRegister" = "3:0"
             "OutputConfiguration" = "8:"
             "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{3FB9B20E-790A-402F-A02C-B0FBDC5938E3}"
+            "OutputProjectGuid" = "8:{223ACC19-608E-4E1B-A054-067F0CACB272}"
             "ShowKeyOutput" = "11:TRUE"
                 "ExcludeFilters"
                 {
                 }
             }
-            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_78B83888966E4D28897A832EC1CB59EB"
+            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_7CC0F388C7734C2B8ECED59713F156C7"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\core\\ogg\\libooogg\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\libOOOgg.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\libs\\libootheora\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\libOOTheora.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_8BE9216FDC6E4FB1B98829D8873DE833"
@@ -347,15 +347,15 @@
             "ProjectOutputGroupRegister" = "3:0"
             "OutputConfiguration" = "8:"
             "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{223ACC19-608E-4E1B-A054-067F0CACB272}"
+            "OutputProjectGuid" = "8:{6B20BD7A-644B-4087-9CAC-71B2D68D0231}"
             "ShowKeyOutput" = "11:TRUE"
                 "ExcludeFilters"
                 {
                 }
             }
-            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_7CC0F388C7734C2B8ECED59713F156C7"
+            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_898F68EFD6EB479185D2277F89249261"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\libs\\libootheora\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\libOOTheora.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\filters\\dsftheoradecoder\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\dsfTheoraDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_8BE9216FDC6E4FB1B98829D8873DE833"
@@ -373,15 +373,15 @@
             "ProjectOutputGroupRegister" = "3:0"
             "OutputConfiguration" = "8:"
             "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{6B20BD7A-644B-4087-9CAC-71B2D68D0231}"
+            "OutputProjectGuid" = "8:{11CBDFD6-0D73-40C0-95DF-997C5FD873F2}"
             "ShowKeyOutput" = "11:TRUE"
                 "ExcludeFilters"
                 {
                 }
             }
-            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_898F68EFD6EB479185D2277F89249261"
+            "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_A426EE6EF354441D95FE7C65861866C6"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\theora\\filters\\dsftheoradecoder\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\dsfTheoraDecoder.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\speex\\filters\\dsfspeexdecoder\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\dsfSpeexDecoder.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_8BE9216FDC6E4FB1B98829D8873DE833"
@@ -399,7 +399,7 @@
             "ProjectOutputGroupRegister" = "3:0"
             "OutputConfiguration" = "8:"
             "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{11CBDFD6-0D73-40C0-95DF-997C5FD873F2}"
+            "OutputProjectGuid" = "8:{3FB9B20E-790A-402F-A02C-B0FBDC5938E3}"
             "ShowKeyOutput" = "11:TRUE"
                 "ExcludeFilters"
                 {
@@ -407,7 +407,7 @@
             }
             "{605BE39E-5046-48BD-AEC0-63C3A46626D5}:_BC04D4D4A1EE423EBFA34E91DF63319A"
             {
-            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\libs\\libvorbis\\win32\\Vorbis_Dynamic_Debug\\vorbis_d.dll"
+            "SourcePath" = "8:..\\..\\src\\lib\\codecs\\vorbis\\libs\\libvorbis\\win32\\windows mobile 5.0 pocket pc sdk (armv4i)\\release_wm5_ppc_arm\\vorbis.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_8BE9216FDC6E4FB1B98829D8873DE833"

Modified: branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp
===================================================================
--- branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.cpp	2006-03-19 17:28:15 UTC (rev 11027)
@@ -61,6 +61,11 @@
 {	
 	return (LPAMOVIESETUP_FILTER)&VorbisDecodeFilterReg;	
 }
+
+HRESULT VorbisDecodeFilter::Register()
+{
+	return CBaseFilter::Register();
+}
 #endif
 
 //*************************************************************************************************

Modified: branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h
===================================================================
--- branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeFilter.h	2006-03-19 17:28:15 UTC (rev 11027)
@@ -63,6 +63,7 @@
 
 #ifdef WINCE
 	virtual LPAMOVIESETUP_FILTER GetSetupData(); //		{	return (LPAMOVIESETUP_FILTER)&VorbisDecodeFilterReg;	}
+	virtual HRESULT Register();
 #endif
 protected:
 	//VIRTUAL FUNCTIONS - AbstractTransformFilter

Modified: branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.cpp
===================================================================
--- branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.cpp	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.cpp	2006-03-19 17:28:15 UTC (rev 11027)
@@ -48,10 +48,13 @@
 	//return S_OK;
     HRESULT hr;
     
-
+#ifdef WINCE
+	hr = AMovieDllRegisterServer();//AMovieDLLRegisterServer(TRUE);
+#else
     hr = AMovieDllRegisterServer2(TRUE);
+#endif
+	//MessageBox(NULL, L"asdfsdfsdf", L"xzzzzz", MB_OK);
 
-
 #ifndef WINCE
 	IFilterMapper2* locFilterMapper = NULL;
     hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER, IID_IFilterMapper2, (void **)&locFilterMapper);
@@ -75,9 +78,12 @@
 STDAPI DllUnregisterServer()
 {
    HRESULT hr;
-    
-
+   //return S_OK;
+#ifdef WINCE
+   hr = AMovieDllUnregisterServer();
+#else
     hr = AMovieDllRegisterServer2(FALSE);
+#endif
 	if (FAILED(hr)) {
 		
         return hr;

Modified: branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h
===================================================================
--- branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/vorbisdecoderdllstuff.h	2006-03-19 17:28:15 UTC (rev 11027)
@@ -107,25 +107,64 @@
 
 
 
-const REGPINTYPES VorbisDecodeOutputTypes = {
+//const REGPINTYPES VorbisDecodeOutputTypes = {
+//    &MEDIATYPE_Audio,
+//	&MEDIASUBTYPE_PCM
+//};
+//
+//const REGPINTYPES VorbisDecodeInputTypes = {
+//	&MEDIATYPE_OggPacketStream,
+//	&MEDIASUBTYPE_None
+//};
+//
+//
+//const REGFILTERPINS VorbisDecodePinReg[] = {
+//	{
+//    L"Vorbis Input",						//Name (obsoleted)
+//	FALSE,								//Renders from this pin ?? Not sure about this.
+//	FALSE,								//Not an output pin
+//	FALSE,								//Cannot have zero instances of this pin
+//	FALSE,								//Cannot have more than one instance of this pin
+//	NULL,								//Connects to filter (obsoleted)
+//	NULL,								//Connects to pin (obsoleted)
+//	1,									//upport two media type
+//	&VorbisDecodeInputTypes				//Pointer to media type (Audio/Vorbis or Audio/Speex)
+//	} ,
+//
+//	{
+//	L"PCM Output",						//Name (obsoleted)
+//	FALSE,								//Renders from this pin ?? Not sure about this.
+//	TRUE,								//Is an output pin
+//	FALSE,								//Cannot have zero instances of this pin
+//	FALSE,								//Cannot have more than one instance of this pin
+//	NULL,								//Connects to filter (obsoleted)
+//	NULL,								//Connects to pin (obsoleted)
+//	1,									//Only support one media type
+//	&VorbisDecodeOutputTypes					//Pointer to media type (Audio/PCM)
+//
+//	}
+//};
+
+#ifdef WINCE
+const AMOVIESETUP_MEDIATYPE VorbisDecodeOutputTypes = {
     &MEDIATYPE_Audio,
 	&MEDIASUBTYPE_PCM
 };
 
-const REGPINTYPES VorbisDecodeInputTypes = {
+const AMOVIESETUP_MEDIATYPE VorbisDecodeInputTypes = {
 	&MEDIATYPE_OggPacketStream,
 	&MEDIASUBTYPE_None
 };
 
 
-const REGFILTERPINS VorbisDecodePinReg[] = {
+const AMOVIESETUP_PIN VorbisDecodePinReg[] = {
 	{
     L"Vorbis Input",						//Name (obsoleted)
 	FALSE,								//Renders from this pin ?? Not sure about this.
 	FALSE,								//Not an output pin
 	FALSE,								//Cannot have zero instances of this pin
 	FALSE,								//Cannot have more than one instance of this pin
-	NULL,								//Connects to filter (obsoleted)
+	&GUID_NULL,							//Connects to filter (obsoleted)
 	NULL,								//Connects to pin (obsoleted)
 	1,									//upport two media type
 	&VorbisDecodeInputTypes				//Pointer to media type (Audio/Vorbis or Audio/Speex)
@@ -137,16 +176,13 @@
 	TRUE,								//Is an output pin
 	FALSE,								//Cannot have zero instances of this pin
 	FALSE,								//Cannot have more than one instance of this pin
-	NULL,								//Connects to filter (obsoleted)
+	&GUID_NULL,							//Connects to filter (obsoleted)
 	NULL,								//Connects to pin (obsoleted)
 	1,									//Only support one media type
 	&VorbisDecodeOutputTypes					//Pointer to media type (Audio/PCM)
 
 	}
 };
-
-#ifdef WINCE
-
 const AMOVIESETUP_FILTER VorbisDecodeFilterReg = {
 		&CLSID_VorbisDecodeFilter,
 		L"Vorbis Decode Filter",
@@ -158,7 +194,43 @@
 
 
 #else
+const REGPINTYPES VorbisDecodeOutputTypes = {
+    &MEDIATYPE_Audio,
+	&MEDIASUBTYPE_PCM
+};
 
+const REGPINTYPES VorbisDecodeInputTypes = {
+	&MEDIATYPE_OggPacketStream,
+	&MEDIASUBTYPE_None
+};
+
+
+const REGFILTERPINS VorbisDecodePinReg[] = {
+	{
+    L"Vorbis Input",						//Name (obsoleted)
+	FALSE,								//Renders from this pin ?? Not sure about this.
+	FALSE,								//Not an output pin
+	FALSE,								//Cannot have zero instances of this pin
+	FALSE,								//Cannot have more than one instance of this pin
+	NULL,								//Connects to filter (obsoleted)
+	NULL,								//Connects to pin (obsoleted)
+	1,									//upport two media type
+	&VorbisDecodeInputTypes				//Pointer to media type (Audio/Vorbis or Audio/Speex)
+	} ,
+
+	{
+	L"PCM Output",						//Name (obsoleted)
+	FALSE,								//Renders from this pin ?? Not sure about this.
+	TRUE,								//Is an output pin
+	FALSE,								//Cannot have zero instances of this pin
+	FALSE,								//Cannot have more than one instance of this pin
+	NULL,								//Connects to filter (obsoleted)
+	NULL,								//Connects to pin (obsoleted)
+	1,									//Only support one media type
+	&VorbisDecodeOutputTypes					//Pointer to media type (Audio/PCM)
+
+	}
+};
 const REGFILTER2 VorbisDecodeFilterReg = {
 		1,
 		MERIT_NORMAL,

Modified: branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp
===================================================================
--- branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.cpp	2006-03-19 17:28:15 UTC (rev 11027)
@@ -40,7 +40,11 @@
 	    &CLSID_OggDemuxPacketSourceFilter,            // CLSID
 	    OggDemuxPacketSourceFilter::CreateInstance,	// Method to create an instance of MyComponent
         NULL,									// Initialization function
+#ifdef WINCE
+		&OggDemuxPacketSourceFilterReg
+#else
         NULL									// Set-up information (for filters)
+#endif
     }
 	
 	//,
@@ -58,6 +62,13 @@
 // Generic way of determining the number of items in the template
 int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]); 
 
+
+#ifdef WINCE
+LPAMOVIESETUP_FILTER OggDemuxPacketSourceFilter::GetSetupData()
+{	
+	return (LPAMOVIESETUP_FILTER)&OggDemuxPacketSourceFilterReg;	
+}
+#endif
 //COM Creator Function
 CUnknown* WINAPI OggDemuxPacketSourceFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) 
 {

Modified: branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h
===================================================================
--- branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/OggDemuxPacketSourceFilter.h	2006-03-19 17:28:15 UTC (rev 11027)
@@ -73,6 +73,10 @@
 	STDMETHODIMP Pause(void);
 	STDMETHODIMP Stop(void);
 
+#ifdef WINCE
+	virtual LPAMOVIESETUP_FILTER GetSetupData();
+#endif
+
 	//IOggCallback Interface
 	virtual bool acceptOggPage(OggPage* inOggPage);
 

Modified: branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp
===================================================================
--- branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/lib/core/directshow/dsfOggDemux2/oggdllstuff.cpp	2006-03-19 17:28:15 UTC (rev 11027)
@@ -51,7 +51,11 @@
     HRESULT hr;
     
 	
+#ifdef WINCE
+	hr = AMovieDllRegisterServer();//AMovieDLLRegisterServer(TRUE);
+#else
     hr = AMovieDllRegisterServer2(TRUE);
+#endif
 	if (FAILED(hr)) {
 		
         return hr;
@@ -101,7 +105,11 @@
    HRESULT hr;
     
 
-    hr = AMovieDllRegisterServer2(FALSE);
+#ifdef WINCE
+	hr = AMovieDllUnregisterServer();//AMovieDLLRegisterServer(TRUE);
+#else
+    hr = AMovieDllRegisterServer2(TRUE);
+#endif
 	if (FAILED(hr)) {
 		
         return hr;

Modified: branches/oggdsf_ce_port/src/tests/testLoadLib/testLoadLib.cpp
===================================================================
--- branches/oggdsf_ce_port/src/tests/testLoadLib/testLoadLib.cpp	2006-03-19 13:17:02 UTC (rev 11026)
+++ branches/oggdsf_ce_port/src/tests/testLoadLib/testLoadLib.cpp	2006-03-19 17:28:15 UTC (rev 11027)
@@ -246,27 +246,33 @@
         case WM_COMMAND:
             if (LOWORD(wParam) == IDOK)
             {
-				HINSTANCE locLib = LoadLibrary(L"dsfVorbisDecoder.dll");
-				DWORD locErr = GetLastError();
-				FARPROC locProc = GetProcAddress(locLib, L"DllRegisterServer");
-				int locRes = locProc();
+				HINSTANCE locLib;
+				DWORD locErr;
+				//FARPROC locProc;
+				HRESULT (__stdcall*locProc)(); 
+				HRESULT locRes;
+
+				locLib = LoadLibrary(L"dsfVorbisDecoder.dll");
+				locErr = GetLastError();
+				locProc = (HRESULT (__stdcall*)())GetProcAddress(locLib, L"DllRegisterServer");
+				locRes = locProc();
 				FreeLibrary(locLib);
 
 				locLib = LoadLibrary(L"dsfSpeexDecoder.dll");
 				locErr = GetLastError();
-				locProc = GetProcAddress(locLib, L"DllRegisterServer");
+				locProc = (HRESULT (__stdcall*)())GetProcAddress(locLib, L"DllRegisterServer");
 				locRes = locProc();
 				FreeLibrary(locLib);
 
 				locLib = LoadLibrary(L"dsfTheoraDecoder.dll");
 				locErr = GetLastError();
-				locProc = GetProcAddress(locLib, L"DllRegisterServer");
+				locProc = (HRESULT (__stdcall*)())GetProcAddress(locLib, L"DllRegisterServer");
 				locRes = locProc();
 				FreeLibrary(locLib);
 
 				locLib = LoadLibrary(L"dsfOggDemux2.dll");
 				locErr = GetLastError();
-				locProc = GetProcAddress(locLib, L"DllRegisterServer");
+				locProc = (HRESULT (__stdcall*)())GetProcAddress(locLib, L"DllRegisterServer");
 				locRes = locProc();
 				FreeLibrary(locLib);
 



More information about the commits mailing list