On Fri, Jun 30, 2017 at 5:28 PM, Peter Große <[email protected]> wrote:
> Fixes an infinite loop when a demuxer fails to seek to the start of the input.
>
> Signed-off-by: Peter Große <[email protected]>
> ---
>  avtools/avconv.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/avtools/avconv.c b/avtools/avconv.c
> index 8dd11bb5fc..4e3ffecdef 100644
> --- a/avtools/avconv.c
> +++ b/avtools/avconv.c
> @@ -2615,9 +2615,11 @@ static int process_input(void)
>          return ret;
>      }
>      if (ret < 0 && ifile->loop) {
> -        if ((ret = seek_to_start(ifile, is)) < 0)
> -            return ret;
> -        ret = get_input_packet(ifile, &pkt);
> +        ret = seek_to_start(ifile, is);
> +        if(ret < 0)
> +            av_log(NULL, AV_LOG_WARNING, "Seek to start failed.\n");
> +        else
> +            ret = get_input_packet(ifile, &pkt);
>      }
>      if (ret < 0) {
>          if (ret != AVERROR_EOF) {
> --
> 2.13.0
>

Producing unlooped output with avconv -loop -1 and running infinitely
is clearly wrong and I think this's a reasonable way to fix it.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to