From d68f35509fe29e975d204219c37dc259a67654e3 Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Thu, 6 Jul 2017 08:51:48 +0200 Subject: [PATCH] VideoPlayer: vtbgl - register renderer --- .../HwDecRender/RendererVTBGL.cpp | 26 ++++++++++++------- .../HwDecRender/RendererVTBGL.h | 4 ++- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.cpp index cacae93ea5a89..2752f5513e9b4 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.cpp @@ -19,7 +19,7 @@ */ #include "RendererVTBGL.h" - +#include "../RenderFactory.h" #include "settings/Settings.h" #include "settings/AdvancedSettings.h" #include "cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h" @@ -30,6 +30,21 @@ #include #include "windowing/WindowingFactory.h" +CBaseRenderer* CRendererVTB::Create(CVideoBuffer *buffer) +{ + VTB::CVideoBufferVTB *vb = dynamic_cast(buffer); + if (vb) + return new CRendererVTB(); + + return nullptr; +} + +bool CRendererVTB::Register() +{ + VIDEOPLAYER::CRendererFactory::RegisterRenderer("vtbgl", CRendererVTB::Create); + return true; +} + CRendererVTB::CRendererVTB() { } @@ -42,15 +57,6 @@ CRendererVTB::~CRendererVTB() } } -bool CRendererVTB::HandlesVideoBuffer(CVideoBuffer *buffer) -{ - VTB::CVideoBufferVTB *vb = dynamic_cast(buffer); - if (vb) - return true; - - return false; -} - void CRendererVTB::ReleaseBuffer(int idx) { YUVBUFFER &buf = m_buffers[idx]; diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.h b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.h index d3a5fe3083f0e..184f46fbc2872 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.h +++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVTBGL.h @@ -31,10 +31,12 @@ class CRendererVTB : public CLinuxRendererGL CRendererVTB(); virtual ~CRendererVTB(); + static CBaseRenderer* Create(CVideoBuffer *buffer); + static bool Register(); + // Player functions virtual void ReleaseBuffer(int idx) override; virtual bool NeedBuffer(int idx) override; - static bool HandlesVideoBuffer(CVideoBuffer *buffer); protected: virtual bool LoadShadersHook() override;