[vlmc-devel] [PATCH 5/7] GenericRenderer Implement setRenderTarget

yikei lu luyikei.qmltu at gmail.com
Sun Apr 17 09:45:30 CEST 2016


Yeah, I also once thought that it would be great to use unique_ptr,
but still I don't really know when we should use it since I don't use
it so much. :)

I think this is simple enough to manage it, but it might be better to
use unique_pt because when we setRenderTarget, the pointer should be
used only in GenericRenderer. But the parent renderer has the
ownership of the pointer.

Yes I think it's safe to use unique_pt :)
Regards

2016-04-17 16:34 GMT+09:00 Hugo Beauzée-Luyssen <hugo at beauzee.fr>:
> On 04/16/2016 08:22 AM, Yikai Lu wrote:
>>
>> ---
>>   src/Renderer/GenericRenderer.cpp | 8 ++++++++
>>   src/Renderer/GenericRenderer.h   | 5 +++++
>>   2 files changed, 13 insertions(+)
>>
>> diff --git a/src/Renderer/GenericRenderer.cpp
>> b/src/Renderer/GenericRenderer.cpp
>> index 598b59e..49ea01b 100644
>> --- a/src/Renderer/GenericRenderer.cpp
>> +++ b/src/Renderer/GenericRenderer.cpp
>> @@ -27,6 +27,7 @@
>>   GenericRenderer::GenericRenderer()
>>       : m_sourceRenderer( nullptr )
>>       , m_paused( false )
>> +    , m_renderTarget( nullptr )
>>   {
>>       m_eventWatcher = new RendererEventWatcher;
>>   }
>> @@ -35,6 +36,7 @@ GenericRenderer::~GenericRenderer()
>>   {
>>       delete m_sourceRenderer;
>>       delete m_eventWatcher;
>> +    delete m_renderTarget;
>>   }
>>
>>   bool
>> @@ -49,6 +51,12 @@ GenericRenderer::isRendering() const
>>       return m_isRendering;
>>   }
>>
>> +void
>> +GenericRenderer::setRenderTarget( Backend::IRenderTarget *target )
>
>
> I'm enclined to think this should take a std::unique_ptr instead of a raw
> one, opinion?
>
>
>> +{
>> +    m_renderTarget = target;
>> +}
>> +
>>   #ifdef WITH_GUI
>>   RendererEventWatcher*
>>   GenericRenderer::eventWatcher()
>> diff --git a/src/Renderer/GenericRenderer.h
>> b/src/Renderer/GenericRenderer.h
>> index 6fb326a..fbc9a5e 100644
>> --- a/src/Renderer/GenericRenderer.h
>> +++ b/src/Renderer/GenericRenderer.h
>> @@ -29,6 +29,7 @@
>>
>>   #include "Workflow/Types.h"
>>   #include "Tools/RendererEventWatcher.h"
>> +#include "Backend/IRenderTarget.h"
>>
>>   class   Clip;
>>   class   Media;
>> @@ -135,6 +136,8 @@ public:
>>        */
>>       bool                            isRendering() const;
>>
>> +    void                            setRenderTarget(
>> Backend::IRenderTarget* target );
>> +
>>       RendererEventWatcher*           eventWatcher();
>>   protected:
>>       Backend::ISourceRenderer*       m_sourceRenderer;
>> @@ -150,6 +153,8 @@ protected:
>>       bool                            m_paused;
>>       bool                            m_isRendering;
>>
>> +    Backend::IRenderTarget*         m_renderTarget;
>> +
>>   public slots:
>>       /**
>>        *  \brief      This SLOT will be called when the time cursor has
>> changed.
>>
>
> _______________________________________________
> Vlmc-devel mailing list
> Vlmc-devel at videolan.org
> https://mailman.videolan.org/listinfo/vlmc-devel


More information about the Vlmc-devel mailing list