[vlmc-devel] [PATCH 7/7] WorkflowRenderer: Configure a temporary FileTarget

Hugo Beauzée-Luyssen hugo at beauzee.fr
Sun Apr 17 09:57:31 CEST 2016


On 04/17/2016 09:47 AM, yikei lu wrote:
> Because
>
> PreviewWidget::setRenderer is called once, which setRenderTarget(
> WidgetTarget ). So if we overwrite it with FileTarget, we can't show
> project preview anymore :(
>
> 2016-04-17 16:33 GMT+09:00 Hugo Beauzée-Luyssen <hugo at beauzee.fr>:
>> On 04/16/2016 08:22 AM, Yikai Lu wrote:
>>>
>>> ---
>>>    src/Renderer/WorkflowRenderer.cpp | 6 +++++-
>>>    1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/Renderer/WorkflowRenderer.cpp
>>> b/src/Renderer/WorkflowRenderer.cpp
>>> index 7056555..77d524f 100644
>>> --- a/src/Renderer/WorkflowRenderer.cpp
>>> +++ b/src/Renderer/WorkflowRenderer.cpp
>>> @@ -35,6 +35,7 @@
>>>    #include "GenericRenderer.h"
>>>    #include "Backend/IBackend.h"
>>>    #include "Backend/ISource.h"
>>> +#include "Backend/Target/FileTarget.h"
>>>    #include "Workflow/MainWorkflow.h"
>>>    #include "Gui/preview/RenderWidget.h"
>>>    #include "Settings/Settings.h"
>>> @@ -227,7 +228,10 @@ WorkflowRenderer::startRenderToFile( const QString&
>>> outputFileName, quint32 widt
>>>        m_aspectRatio = ar;
>>>
>>>        setupRenderer();
>>> -    m_sourceRenderer->setOutputFile( qPrintable( outputFileName ) );
>>> +
>>> +    Backend::FileTarget fileTarget( qPrintable( outputFileName ) );
>>> +    fileTarget.configure( m_sourceRenderer );
>>> +
>>>        m_sourceRenderer->setOutputAudioBitrate( abitrate );
>>>        m_sourceRenderer->setOutputVideoBitrate( vbitrate );
>>>        connect( m_mainWorkflow, &MainWorkflow::mainWorkflowEndReached,
>>> this, &WorkflowRenderer::renderComplete );
>>>
>>
>> Why not using setRenderTarget? I agree that this should work, but it seems
>> inconsistent with your previous commit
>>
>> Regards,
>> _______________________________________________
>> 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
>
Actually it's expected not to show the preview. Internally, if you are 
rendering to a widget, VLC will pace the output to the required 
framerate. If you're rendering to a file, there's is no need to pace, 
and the renderer should be allowed to process as fast as possible.
That's why we had the signal with a frame preview when rendering to a file.


More information about the Vlmc-devel mailing list