[FFmpeg-devel] [PATCH] avfilter/f_loop: do not loop if loop size is 0

Bodecs Bela bodecsb at vivanet.hu
Mon May 20 11:58:35 EEST 2019


2019.05.20. 7:02 keltezéssel, Gyan írta:
>
>
> On 20-05-2019 02:18 AM, Marton Balint wrote:
>>
>>
>> On Sun, 19 May 2019, Paul B Mahol wrote:
>>
>>> On 5/19/19, Marton Balint <cus at passwd.hu> wrote:
>>>>
>>>>
>>>> On Sun, 19 May 2019, Paul B Mahol wrote:
>>>>
>>>>> On 5/19/19, Marton Balint <cus at passwd.hu> wrote:
>>>>>> Fixes infinte loop with -vf loop=loop=1.
>>>>>>
>>>>>> Possible regression since ef1aadffc785b48ed62c45d954289e754f43ef46.
>>>>>>
>>>>>> Signed-off-by: Marton Balint <cus at passwd.hu>
>>>>>> ---
>>>>>>  libavfilter/f_loop.c | 2 +-
>>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/libavfilter/f_loop.c b/libavfilter/f_loop.c
>>>>>> index d9d55f9837..3da753dd1e 100644
>>>>>> --- a/libavfilter/f_loop.c
>>>>>> +++ b/libavfilter/f_loop.c
>>>>>> @@ -343,7 +343,7 @@ static int activate(AVFilterContext *ctx)
>>>>>>
>>>>>>      FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink);
>>>>>>
>>>>>> -    if (!s->eof && (s->nb_frames < s->size || !s->loop)) {
>>>>>> +    if (!s->eof && (s->nb_frames < s->size || !s->loop || 
>>>>>> !s->size)) {
>>>>>>          ret = ff_inlink_consume_frame(inlink, &frame);
>>>>>>          if (ret < 0)
>>>>>>              return ret;
>>>>>> -- 
>>>>>> 2.16.4
>>>>>>
>>>>>> _______________________________________________
>>>>>> ffmpeg-devel mailing list
>>>>>> ffmpeg-devel at ffmpeg.org
>>>>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>>>>
>>>>>> To unsubscribe, visit link above, or email
>>>>>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>>>>
>>>>> I think better fix is to change default and minimal allowed loop 
>>>>> size to
>>>>> 1.
>>>>> Does that sounds ok to you?
>>>>
>>>> Well, looping the whole length of the input would be more intuitive 
>>>> to me
>>>> as the default.
>>>
>>> That would require infinite memory.
>>
>> So as the reverse filter. As long as it is properly documented that 
>> the looped stuff is kept in memory so the user should not use this 
>> for long clips, then I think it is fine.
>
> I disagree. Yes, for loop with only loop specified, it would be 
> intuitive to loop the whole stream, but relying on users to exercise 
> due diligence can't be counted upon. We're talking about a scenario 
> where the user hasn't bothered to specify the size variable because 
> they don't know or don't care or are sloppy. They won't take heed of 
> the documentation until the command fails. The defaults should be 
> robust against lax use.
>
just an idea. What about to have no-default value for loop length/size 
at all? I mean to let the size as mandatory parameter?

bb


> Gyan
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list