wineqtdecoder: Register the QT Splitter to be a default potential handler for all unhandled streams.
This commit is contained in:
parent
69da44106e
commit
9fba260ae4
|
@ -9,4 +9,7 @@ C_SRCS = \
|
||||||
qtutils.c \
|
qtutils.c \
|
||||||
qtvdecoder.c
|
qtvdecoder.c
|
||||||
|
|
||||||
|
RC_SRCS = \
|
||||||
|
rsrc.rc
|
||||||
|
|
||||||
@MAKE_DLL_RULES@
|
@MAKE_DLL_RULES@
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
#include "uuids.h"
|
#include "uuids.h"
|
||||||
#include "strmif.h"
|
#include "strmif.h"
|
||||||
|
#include "rpcproxy.h"
|
||||||
|
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
@ -42,6 +43,7 @@
|
||||||
#include "initguid.h"
|
#include "initguid.h"
|
||||||
DEFINE_GUID(CLSID_QTVDecoder, 0x683DDACB, 0x4354, 0x490C, 0xA0,0x58, 0xE0,0x5A,0xD0,0xF2,0x05,0x37);
|
DEFINE_GUID(CLSID_QTVDecoder, 0x683DDACB, 0x4354, 0x490C, 0xA0,0x58, 0xE0,0x5A,0xD0,0xF2,0x05,0x37);
|
||||||
DEFINE_GUID(CLSID_QTSplitter, 0xD0E70E49, 0x5927, 0x4894, 0xA3,0x86, 0x35,0x94,0x60,0xEE,0x87,0xC9);
|
DEFINE_GUID(CLSID_QTSplitter, 0xD0E70E49, 0x5927, 0x4894, 0xA3,0x86, 0x35,0x94,0x60,0xEE,0x87,0xC9);
|
||||||
|
DEFINE_GUID(WINESUBTYPE_QTSplitter, 0xFFFFFFFF, 0x5927, 0x4894, 0xA3,0x86, 0x35,0x94,0x60,0xEE,0x87,0xC9);
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(qtdecoder);
|
WINE_DEFAULT_DEBUG_CHANNEL(qtdecoder);
|
||||||
|
|
||||||
|
@ -59,7 +61,8 @@ static const AMOVIESETUP_MEDIATYPE amfMTvideo[] =
|
||||||
static const AMOVIESETUP_MEDIATYPE amfMTaudio[] =
|
static const AMOVIESETUP_MEDIATYPE amfMTaudio[] =
|
||||||
{ { &MEDIATYPE_Audio, &MEDIASUBTYPE_NULL } };
|
{ { &MEDIATYPE_Audio, &MEDIASUBTYPE_NULL } };
|
||||||
static const AMOVIESETUP_MEDIATYPE amfMTstream[] =
|
static const AMOVIESETUP_MEDIATYPE amfMTstream[] =
|
||||||
{ { &MEDIATYPE_Stream, &MEDIASUBTYPE_NULL } };
|
{ { &MEDIATYPE_Stream, &WINESUBTYPE_QTSplitter},
|
||||||
|
{ &MEDIATYPE_Stream, &MEDIASUBTYPE_NULL } };
|
||||||
|
|
||||||
static const AMOVIESETUP_PIN amfQTVPin[] =
|
static const AMOVIESETUP_PIN amfQTVPin[] =
|
||||||
{ { wNull,
|
{ { wNull,
|
||||||
|
@ -84,7 +87,7 @@ static const AMOVIESETUP_PIN amfQTDPin[] =
|
||||||
FALSE, FALSE, FALSE, FALSE,
|
FALSE, FALSE, FALSE, FALSE,
|
||||||
&GUID_NULL,
|
&GUID_NULL,
|
||||||
NULL,
|
NULL,
|
||||||
1,
|
2,
|
||||||
amfMTstream
|
amfMTstream
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -139,12 +142,14 @@ FactoryTemplate const g_Templates[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
|
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
|
||||||
|
static HINSTANCE hInst = NULL;
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* Dll EntryPoint (wineqtdecoder.@)
|
* Dll EntryPoint (wineqtdecoder.@)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
|
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
|
||||||
{
|
{
|
||||||
|
hInst = hInstDLL;
|
||||||
return STRMBASE_DllMain(hInstDLL,fdwReason,lpv);
|
return STRMBASE_DllMain(hInstDLL,fdwReason,lpv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,8 +166,12 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI DllRegisterServer(void)
|
HRESULT WINAPI DllRegisterServer(void)
|
||||||
{
|
{
|
||||||
|
HRESULT hr;
|
||||||
TRACE("()\n");
|
TRACE("()\n");
|
||||||
return AMovieDllRegisterServer2(TRUE);
|
hr = AMovieDllRegisterServer2(TRUE);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = __wine_register_resources(hInst);
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -170,8 +179,12 @@ HRESULT WINAPI DllRegisterServer(void)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI DllUnregisterServer(void)
|
HRESULT WINAPI DllUnregisterServer(void)
|
||||||
{
|
{
|
||||||
|
HRESULT hr;
|
||||||
TRACE("\n");
|
TRACE("\n");
|
||||||
return AMovieDllRegisterServer2(FALSE);
|
hr = AMovieDllRegisterServer2(FALSE);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = __wine_unregister_resources(hInst);
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define WINE_FILEDESCRIPTION_STR "Wine QT Decoder"
|
||||||
|
#define WINE_FILENAME_STR "wineqtdecoder.dll"
|
||||||
|
#define WINE_FILEVERSION 0,0,1,0
|
||||||
|
#define WINE_FILEVERSION_STR "0.0.1.0"
|
||||||
|
#define WINE_PRODUCTVERSION 0,0,1,0
|
||||||
|
#define WINE_PRODUCTVERSION_STR "1.0.1.0"
|
||||||
|
#define WINE_EXTRAVALUES VALUE "OLESelfRegister",""
|
||||||
|
|
||||||
|
#include "wine/wine_common_ver.rc"
|
||||||
|
|
||||||
|
/* @makedep: wineqtdecoder.rgs */
|
||||||
|
2 WINE_REGISTRY wineqtdecoder.rgs
|
|
@ -0,0 +1,14 @@
|
||||||
|
HKCR
|
||||||
|
{
|
||||||
|
NoRemove 'Media Type'
|
||||||
|
{
|
||||||
|
NoRemove '{E436EB83-524F-11CE-9F53-0020AF0BA770}'
|
||||||
|
{
|
||||||
|
ForceRemove '{FFFFFFFF-5927-4894-A386-359460EE87C9}'
|
||||||
|
{
|
||||||
|
val '0' = s '0,1,00,0'
|
||||||
|
val 'Source Filter' = s '{E436EBB5-524F-11CE-9F53-0020AF0BA770}'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue