[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