[FFmpeg-devel] [PATCH] ffmpeg: always init output stream before reaping filters

Marton Balint cus at passwd.hu
Wed Oct 18 23:06:43 EEST 2017



On Thu, 12 Oct 2017, Marton Balint wrote:

>
>
> On Sun, 8 Oct 2017, Marton Balint wrote:
>
>>
>>
>> On Sat, 7 Oct 2017, Hendrik Leppkes wrote:
>>
>>> On Wed, Oct 4, 2017 at 12:48 AM, Marton Balint <cus at passwd.hu> wrote:
>>>> Otherwise the frame size of the codec is not set in the buffersink.
>>>>
>>>> Fixes ticket #6603 and the following simpler case:
>>>>
>>>> ffmpeg -c aac -filter_complex "sine=d=0.1,asetnsamples=1025" out.aac
>>>>
>>>> Signed-off-by: Marton Balint <cus at passwd.hu>
>>>> ---
>>>>  fftools/ffmpeg.c | 9 +++++++++
>>>>  1 file changed, 9 insertions(+)
>>>>
>>>> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
>>>> index 1d248bc269..5be8788ea8 100644
>>>> --- a/fftools/ffmpeg.c
>>>> +++ b/fftools/ffmpeg.c
>>>> @@ -4528,6 +4528,15 @@ static int transcode_step(void)
>>>>      }
>>>>
>>>>      if (ost->filter && ost->filter->graph->graph) {
>>>> +        if (!ost->initialized) {
>>>> +            char error[1024] = {0};
>>>> +            ret = init_output_stream(ost, error, sizeof(error));
>>>> +            if (ret < 0) {
>>>> +                av_log(NULL, AV_LOG_ERROR, "Error initializing output 
>> stream %d:%d -- %s\n",
>>>> +                       ost->file_index, ost->index, error);
>>>> +                exit_program(1);
>>>> +            }
>>>> +        }
>>>>          if ((ret = transcode_from_filter(ost->filter->graph, &ist)) < 0)
>>>>              return ret;
>>>>          if (!ist)
>>>
>>> Doesn't this basically void all the work that was done to get proper
>>> output frame information before initializing the output, so its
>>> created with the proper info at all times?
>>
>> To be frank, I am not entirely sure. Fate passes, so this can't be that 
>> bad. The original patch that caused the regression is 
>> af1761f7b5b1b72197dc40934953b775c2d951cc which in the commit message only 
>> mentions the delayed initialization of filters, this patch keeps that.
>>
>
> Will push this soon.
>

Pushed. Might make sense to backport this before making 3.4.1 if it does 
not cause any issues in git master until then.

Regards,
Marton


More information about the ffmpeg-devel mailing list