Lei Zhang : quartz: Add VideoRendererDefault.
Alexandre Julliard
julliard at winehq.org
Fri Feb 8 06:20:04 CST 2008
Module: wine
Branch: master
Commit: 9742724afeed8a03c19b9dac3eaa995ad557ac8e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9742724afeed8a03c19b9dac3eaa995ad557ac8e
Author: Lei Zhang <thestig at google.com>
Date: Sat Feb 2 01:47:34 2008 -0800
quartz: Add VideoRendererDefault.
---
dlls/quartz/main.c | 1 +
dlls/quartz/quartz_private.h | 1 +
dlls/quartz/regsvr.c | 18 ++++++++++++++++++
dlls/quartz/videorenderer.c | 6 ++++++
include/uuids.h | 1 +
5 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/dlls/quartz/main.c b/dlls/quartz/main.c
index 66b6f6a..73c5062 100644
--- a/dlls/quartz/main.c
+++ b/dlls/quartz/main.c
@@ -69,6 +69,7 @@ static const struct object_creation_info object_creation[] =
{ &CLSID_AviSplitter, AVISplitter_create },
{ &CLSID_MPEG1Splitter, MPEGSplitter_create },
{ &CLSID_VideoRenderer, VideoRenderer_create },
+ { &CLSID_VideoRendererDefault, VideoRendererDefault_create },
{ &CLSID_DSoundRender, DSoundRender_create },
{ &CLSID_AVIDec, AVIDec_create },
{ &CLSID_SystemClock, &QUARTZ_CreateSystemClock },
diff --git a/dlls/quartz/quartz_private.h b/dlls/quartz/quartz_private.h
index a483f2a..ebb6a02 100644
--- a/dlls/quartz/quartz_private.h
+++ b/dlls/quartz/quartz_private.h
@@ -52,6 +52,7 @@ HRESULT MPEGSplitter_create(IUnknown * pUnkOuter, LPVOID * ppv);
HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv);
HRESULT DSoundRender_create(IUnknown * pUnkOuter, LPVOID * ppv);
HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv);
+HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv);
HRESULT QUARTZ_CreateSystemClock(IUnknown * pUnkOuter, LPVOID * ppv);
HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv);
HRESULT WAVEParser_create(IUnknown * pUnkOuter, LPVOID * ppv);
diff --git a/dlls/quartz/regsvr.c b/dlls/quartz/regsvr.c
index 8b93601..98fd0bc 100644
--- a/dlls/quartz/regsvr.c
+++ b/dlls/quartz/regsvr.c
@@ -861,6 +861,12 @@ static struct regsvr_coclass const coclass_list[] = {
"quartz.dll",
"Both"
},
+ { &CLSID_VideoRendererDefault,
+ "Default Video Renderer",
+ NULL,
+ "quartz.dll",
+ "Both"
+ },
{ &CLSID_ACMWrapper,
"ACM wrapper",
NULL,
@@ -1075,6 +1081,18 @@ static struct regsvr_filter const filter_list[] = {
{ 0xFFFFFFFF },
}
},
+ { &CLSID_VideoRendererDefault,
+ &CLSID_LegacyAmFilterCategory,
+ {'V','i','d','e','o',' ','R','e','n','d','e','r','e','r',0},
+ 0x800000,
+ { { REG_PINFLAG_B_RENDERER,
+ { { &MEDIATYPE_Video, &GUID_NULL },
+ { NULL }
+ },
+ },
+ { 0xFFFFFFFF },
+ }
+ },
{ &CLSID_AVIDec,
&CLSID_LegacyAmFilterCategory,
{'A','V','I',' ','D','e','c','o','m','p','r','e','s','s','o','r',0},
diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index 28f527c..ec16a4c 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -488,6 +488,12 @@ HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv)
return hr;
}
+HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv)
+{
+ /* TODO: Attenmpt to use the VMR-7 renderer instead when possible */
+ return VideoRenderer_create(pUnkOuter, ppv);
+}
+
static HRESULT WINAPI VideoRendererInner_QueryInterface(IUnknown * iface, REFIID riid, LPVOID * ppv)
{
ICOM_THIS_MULTI(VideoRendererImpl, IInner_vtbl, iface);
diff --git a/include/uuids.h b/include/uuids.h
index e3fb41b..b767fcc 100644
--- a/include/uuids.h
+++ b/include/uuids.h
@@ -135,6 +135,7 @@ OUR_GUID_ENTRY(CLSID_QTDec, 0xfdfe9681, 0x74a3, 0x11d0,
OUR_GUID_ENTRY(CLSID_AVIDoc, 0xd3588ab0, 0x0781, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70)
OUR_GUID_ENTRY(CLSID_AVIDocWriter, 0xd3588ab1, 0x0781, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70)
OUR_GUID_ENTRY(CLSID_VideoRenderer, 0x70e102b0, 0x5556, 0x11ce, 0x97, 0xc0, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a)
+OUR_GUID_ENTRY(CLSID_VideoRendererDefault, 0x6bc1cffa, 0x8fc1, 0x4261, 0xac, 0x22, 0xcf, 0xb4, 0xcc, 0x38, 0xdb, 0x50)
OUR_GUID_ENTRY(CLSID_Colour, 0x1643e180, 0x90f5, 0x11ce, 0x97, 0xd5, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a)
OUR_GUID_ENTRY(CLSID_Dither, 0x1da08500, 0x9edc, 0x11cf, 0xbc, 0x10, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6)
OUR_GUID_ENTRY(CLSID_ModexRenderer, 0x07167665, 0x5011, 0x11cf, 0xbf, 0x33, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a)
More information about the wine-cvs
mailing list