[xiph-commits] r17499 - in trunk/oggdsf: . src/lib/codecs/vorbis/filters/dsfVorbisDecoder src/lib/core/directshow/dsfOggDemux2 src/lib/plugin/AxPlayer
cristianadam at svn.xiph.org
cristianadam at svn.xiph.org
Sat Oct 9 16:34:34 PDT 2010
Author: cristianadam
Date: 2010-10-09 16:34:34 -0700 (Sat, 09 Oct 2010)
New Revision: 17499
Removed:
trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.c
trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.h
Modified:
trunk/oggdsf/ChangeLog.txt
trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxInputPin.cpp
trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj
trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer.cpp
trunk/oggdsf/src/lib/plugin/AxPlayer/DShowVideoPlayer.h
trunk/oggdsf/src/lib/plugin/AxPlayer/dllmain.cpp
Log:
Fixed Speex playback, and possibly a Vorbis URL playback issue.
Modified: trunk/oggdsf/ChangeLog.txt
===================================================================
--- trunk/oggdsf/ChangeLog.txt 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/ChangeLog.txt 2010-10-09 23:34:34 UTC (rev 17499)
@@ -4,6 +4,8 @@
* Updated webmdshow to 0.9.10
* Updated libtheora to 1.2.0 alpha (SVN)
* Updated libtremor
+ * Fixed Speex playback. The previous versions had a Vorbis bug which caused Speex playback to
+ be broken.
* Added "controls" attribute to HTML5 <video> ActiveX plugin
Version 0.84.17359 - 04.08.2010
Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp 2010-10-09 23:34:34 UTC (rev 17499)
@@ -430,24 +430,42 @@
return CBaseInputPin::SetMediaType(inMediaType);
}
+
HRESULT VorbisDecodeInputPin::CheckMediaType(const CMediaType *inMediaType)
{
- if (AbstractTransformInputPin::CheckMediaType(inMediaType) == S_OK)
+ if (inMediaType->majortype == MEDIATYPE_OggPacketStream &&
+ inMediaType->formattype == FORMAT_OggIdentHeader &&
+ inMediaType->cbFormat == VORBIS_IDENT_HEADER_SIZE)
{
- if (inMediaType->majortype == MEDIATYPE_OggPacketStream &&
- inMediaType->formattype == FORMAT_OggIdentHeader &&
- inMediaType->cbFormat == VORBIS_IDENT_HEADER_SIZE)
+ if (strncmp((char*)inMediaType->pbFormat, "\001vorbis", 7) == 0)
{
- if (strncmp((char*)inMediaType->pbFormat, "\001vorbis", 7) != 0)
- {
- LOG(logDEBUG) << "Check media type failed";
- return S_FALSE;
- }
+ LOG(logDEBUG) << "Check media type OK (MEDIATYPE_OggPacketStream)";
+ return S_OK;
}
- LOG(logDEBUG) << "Check media type ok";
+ }
+ else if (inMediaType->majortype == MEDIATYPE_Audio &&
+ inMediaType->subtype == MEDIASUBTYPE_Vorbis &&
+ inMediaType->formattype == FORMAT_Vorbis)
+ {
+ LOG(logDEBUG) << "Check media type OK (MEDIASUBTYPE_Vorbis)";
return S_OK;
- }
- LOG(logDEBUG) << "Check media type failed";
+ }
+ else if (inMediaType->majortype == MEDIATYPE_Audio &&
+ inMediaType->subtype == MEDIASUBTYPE_Vorbis2 &&
+ inMediaType->formattype == FORMAT_Vorbis2)
+ {
+ LOG(logDEBUG) << "Check media type OK (MEDIASUBTYPE_Vorbis2)";
+ return S_OK;
+ }
+
+ LOG(logDEBUG) << __FUNCTIONW__ << " Input type not OK.";
+ if (inMediaType->cbFormat > 7)
+ {
+ char format[8] = {};
+ strncpy(format, reinterpret_cast<const char*>(inMediaType->pbFormat), 7);
+ LOG(logDEBUG) << __FUNCTIONW__ << " cbFormat start: " << format;
+ }
+
return S_FALSE;
}
Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxInputPin.cpp 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux2/OggDemuxInputPin.cpp 2010-10-09 23:34:34 UTC (rev 17499)
@@ -38,7 +38,7 @@
CBasePin(NAME("OggDemuxInputPin"), pFilter, pLock, phr, L"Input", PINDIR_INPUT)
{
m_mediaType.SetType(&MEDIATYPE_Stream);
- m_mediaType.SetSubtype(&MEDIASUBTYPE_Ogg);
+ m_mediaType.SetSubtype(&MEDIASUBTYPE_NULL);
}
// base pin overrides
Modified: trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer-2005.vcproj 2010-10-09 23:34:34 UTC (rev 17499)
@@ -29,6 +29,7 @@
>
<Tool
Name="VCPreBuildEventTool"
+ CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
@@ -49,7 +50,7 @@
HeaderFileName=""Generated Files\AxPlayer_i.h""
DLLDataFileName=""
InterfaceIdentifierFileName=""Generated Files\AxPlayer_i.c""
- ProxyFileName=""Generated Files\AxPlayer_p.c""
+ ProxyFileName=""
ValidateParameters="true"
/>
<Tool
@@ -124,6 +125,7 @@
>
<Tool
Name="VCPreBuildEventTool"
+ CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
@@ -144,7 +146,7 @@
HeaderFileName=""Generated Files\AxPlayer_i.h""
DLLDataFileName=""
InterfaceIdentifierFileName=""Generated Files\AxPlayer_i.c""
- ProxyFileName=""Generated Files\AxPlayer_p.c""
+ ProxyFileName=""
/>
<Tool
Name="VCCLCompilerTool"
@@ -218,6 +220,7 @@
>
<Tool
Name="VCPreBuildEventTool"
+ CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
@@ -238,7 +241,7 @@
HeaderFileName=""Generated Files\AxPlayer_i.h""
DLLDataFileName=""
InterfaceIdentifierFileName=""Generated Files\AxPlayer_i.c""
- ProxyFileName=""Generated Files\AxPlayer_p.c""
+ ProxyFileName=""
ValidateParameters="true"
/>
<Tool
@@ -316,6 +319,7 @@
>
<Tool
Name="VCPreBuildEventTool"
+ CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
@@ -336,7 +340,7 @@
HeaderFileName=""Generated Files\AxPlayer_i.h""
DLLDataFileName=""
InterfaceIdentifierFileName=""Generated Files\AxPlayer_i.c""
- ProxyFileName=""Generated Files\AxPlayer_p.c""
+ ProxyFileName=""
/>
<Tool
Name="VCCLCompilerTool"
@@ -430,46 +434,6 @@
>
</File>
<File
- RelativePath=".\dlldatax.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- CompileAsManaged="0"
- />
- </FileConfiguration>
- </File>
- <File
RelativePath=".\dllmain.cpp"
>
<FileConfiguration
@@ -580,10 +544,6 @@
>
</File>
<File
- RelativePath=".\dlldatax.h"
- >
- </File>
- <File
RelativePath=".\dllmain.h"
>
</File>
@@ -626,11 +586,11 @@
>
</File>
<File
- RelativePath=".\Res\VideoTagBehavior.rgs"
+ RelativePath=".\VideoTagBehavior.rgs"
>
</File>
<File
- RelativePath=".\VideoTagBehavior.rgs"
+ RelativePath=".\Res\VideoTagBehavior.rgs"
>
</File>
</Filter>
Modified: trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer.cpp
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer.cpp 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/AxPlayer.cpp 2010-10-09 23:34:34 UTC (rev 17499)
@@ -33,7 +33,6 @@
#include "resource.h"
#include "AxPlayer_i.h"
#include "dllmain.h"
-#include "dlldatax.h"
#include <MsHtmHst.h>
namespace
@@ -45,11 +44,6 @@
// Used to determine whether the DLL can be unloaded by OLE
STDAPI DllCanUnloadNow(void)
{
-#ifdef _MERGE_PROXYSTUB
- HRESULT hr = PrxDllCanUnloadNow();
- if (hr != S_OK)
- return hr;
-#endif
return _AtlModule.DllCanUnloadNow();
}
@@ -57,10 +51,6 @@
// Returns a class factory to create an object of the requested type
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
-#ifdef _MERGE_PROXYSTUB
- if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK)
- return S_OK;
-#endif
return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}
@@ -70,11 +60,6 @@
{
// registers object, typelib and all interfaces in typelib
HRESULT hr = _AtlModule.DllRegisterServer();
-#ifdef _MERGE_PROXYSTUB
- if (FAILED(hr))
- return hr;
- hr = PrxDllRegisterServer();
-#endif
// IEREGISTERXMLNSFN is available in Microsoft SDK for Windows 7,
// which doesn't work with Visual Studio 2005
@@ -99,14 +84,6 @@
STDAPI DllUnregisterServer(void)
{
HRESULT hr = _AtlModule.DllUnregisterServer();
-#ifdef _MERGE_PROXYSTUB
- if (FAILED(hr))
- return hr;
- hr = PrxDllRegisterServer();
- if (FAILED(hr))
- return hr;
- hr = PrxDllUnregisterServer();
-#endif
return hr;
}
Modified: trunk/oggdsf/src/lib/plugin/AxPlayer/DShowVideoPlayer.h
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/DShowVideoPlayer.h 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/DShowVideoPlayer.h 2010-10-09 23:34:34 UTC (rev 17499)
@@ -110,6 +110,9 @@
void OnMouseButtonUp(long x, long y);
void OnMouseMove(long x, long y);
+ bool EnableControls() const { return m_enableControls; }
+ void EnableControls(bool val) { m_enableControls = val; }
+
private:
void Thread_PrepareGraph();
@@ -133,9 +136,6 @@
void CreateDevice();
CComPtr<IDirect3DDevice9>& GetDevice();
- bool EnableControls() const { return m_enableControls; }
- void EnableControls(bool val) { m_enableControls = val; }
-
private:
FilterGraph m_filterGraph;
Deleted: trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.c
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.c 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.c 2010-10-09 23:34:34 UTC (rev 17499)
@@ -1,18 +0,0 @@
-// wrapper for dlldata.c
-
-#ifdef _MERGE_PROXYSTUB // merge proxy stub DLL
-
-#define REGISTER_PROXY_DLL //DllRegisterServer, etc.
-
-#define _WIN32_WINNT 0x0500 //for WinNT 4.0 or Win95 with DCOM
-#define USE_STUBLESS_PROXY //defined only with MIDL switch /Oicf
-
-#pragma comment(lib, "rpcns4.lib")
-#pragma comment(lib, "rpcrt4.lib")
-
-#define ENTRY_PREFIX Prx
-
-#include "dlldata.c"
-#include "AxPlayer_p.c"
-
-#endif //_MERGE_PROXYSTUB
Deleted: trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.h
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.h 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/dlldatax.h 2010-10-09 23:34:34 UTC (rev 17499)
@@ -1,15 +0,0 @@
-#pragma once
-
-#ifdef _MERGE_PROXYSTUB
-
-extern "C"
-{
-BOOL WINAPI PrxDllMain(HINSTANCE hInstance, DWORD dwReason,
- LPVOID lpReserved);
-STDAPI PrxDllCanUnloadNow(void);
-STDAPI PrxDllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv);
-STDAPI PrxDllRegisterServer(void);
-STDAPI PrxDllUnregisterServer(void);
-}
-
-#endif
Modified: trunk/oggdsf/src/lib/plugin/AxPlayer/dllmain.cpp
===================================================================
--- trunk/oggdsf/src/lib/plugin/AxPlayer/dllmain.cpp 2010-10-09 16:29:16 UTC (rev 17498)
+++ trunk/oggdsf/src/lib/plugin/AxPlayer/dllmain.cpp 2010-10-09 23:34:34 UTC (rev 17499)
@@ -14,10 +14,6 @@
// DLL Entry Point
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
-#ifdef _MERGE_PROXYSTUB
- if (!PrxDllMain(hInstance, dwReason, lpReserved))
- return FALSE;
-#endif
util::GetHModule() = (HMODULE)hInstance;
return _AtlModule.DllMain(dwReason, lpReserved);
More information about the commits
mailing list