Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCasimir666 <casimir666@users.sourceforge.net>2010-06-21 12:30:19 +0400
committerCasimir666 <casimir666@users.sourceforge.net>2010-06-21 12:30:19 +0400
commit31c3c14a1dfb98997de7a17c4a4c2a12e7d1fb9a (patch)
tree22aad5436d56d66cc3c01256231804034901ab1f /src/filters/renderer/VideoRenderers
parentcf07320495669b33ab301227664be41b57131514 (diff)
Changed : update for madVR
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@2068 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/renderer/VideoRenderers')
-rw-r--r--src/filters/renderer/VideoRenderers/AllocatorCommon.cpp2
-rw-r--r--src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp17
-rw-r--r--src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h3
3 files changed, 19 insertions, 3 deletions
diff --git a/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp b/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp
index 311f6bc97..f2d7137e4 100644
--- a/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp
+++ b/src/filters/renderer/VideoRenderers/AllocatorCommon.cpp
@@ -56,7 +56,7 @@ HRESULT CreateAP9(const CLSID& clsid, HWND hWnd, bool bFullscreen, ISubPicAlloca
|| clsid == CLSID_RM9AllocatorPresenter && !(*ppAP = DNew CRM9AllocatorPresenter(hWnd, bFullscreen, hr, Error))
|| clsid == CLSID_QT9AllocatorPresenter && !(*ppAP = DNew CQT9AllocatorPresenter(hWnd, bFullscreen, hr, Error))
|| clsid == CLSID_DXRAllocatorPresenter && !(*ppAP = DNew CDXRAllocatorPresenter(hWnd, hr, Error))
- || clsid == CLSID_madVRAllocatorPresenter && !(*ppAP = DNew CmadVRAllocatorPresenter(hWnd, hr, Error)))
+ || clsid == CLSID_madVRAllocatorPresenter && !(*ppAP = DNew CmadVRAllocatorPresenter(hWnd, bFullscreen, hr, Error)))
return E_OUTOFMEMORY;
if(*ppAP == NULL)
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
index 5a590f604..bcf7cecbd 100644
--- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
+++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.cpp
@@ -29,13 +29,21 @@
using namespace DSObjects;
+
+[uuid("51FA8F61-1444-4597-996E-7495405753E6")]
+interface IMadVRFullscreen : public IUnknown
+{
+ STDMETHOD(ActivateFullscreenMode)(void) = 0;
+};
+
//
// CmadVRAllocatorPresenter
//
-CmadVRAllocatorPresenter::CmadVRAllocatorPresenter(HWND hWnd, HRESULT& hr, CString &_Error)
+CmadVRAllocatorPresenter::CmadVRAllocatorPresenter(HWND hWnd, bool bFullscreen, HRESULT& hr, CString &_Error)
: CSubPicAllocatorPresenterImpl(hWnd, hr, &_Error)
, m_ScreenSize(0, 0)
+ , m_bIsFullscreen(bFullscreen)
{
if(FAILED(hr))
{
@@ -169,6 +177,13 @@ STDMETHODIMP CmadVRAllocatorPresenter::CreateRenderer(IUnknown** ppRenderer)
m_pDXR.CoCreateInstance(CLSID_madVR, GetOwner());
if(!m_pDXR) return E_FAIL;
+ if (m_bIsFullscreen)
+ {
+ CComQIPtr<IMadVRFullscreen> pVRF = m_pDXR;
+ if (pVRF != NULL)
+ pVRF->ActivateFullscreenMode();
+ }
+
CComQIPtr<ISubRender> pSR = m_pDXR;
if(!pSR)
{
diff --git a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h
index a245a1581..e2fdc770e 100644
--- a/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h
+++ b/src/filters/renderer/VideoRenderers/madVRAllocatorPresenter.h
@@ -82,9 +82,10 @@ class CmadVRAllocatorPresenter
CComPtr<IUnknown> m_pDXR;
CComPtr<ISubRenderCallback> m_pSRCB;
CSize m_ScreenSize;
+ bool m_bIsFullscreen;
public:
- CmadVRAllocatorPresenter(HWND hWnd, HRESULT& hr, CString &_Error);
+ CmadVRAllocatorPresenter(HWND hWnd, bool bFullscreen, HRESULT& hr, CString &_Error);
virtual ~CmadVRAllocatorPresenter();
DECLARE_IUNKNOWN