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