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

Hugo Beauzée-Luyssen hugo at beauzee.fr
Sun Apr 17 10:00:24 CEST 2016


On 04/17/2016 09:45 AM, yikei lu wrote:
> 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
> _______________________________________________
> Vlmc-devel mailing list
> Vlmc-devel at videolan.org
> https://mailman.videolan.org/listinfo/vlmc-devel
>
Ok, I'll wait for your updated patch then :)
Thanks!


More information about the Vlmc-devel mailing list