[FFmpeg-devel] [PATCH] ffmpeg: return no chosen output if an uninitialized stream is unavailable

Jan Ekström jeebjp at gmail.com
Thu May 13 18:11:25 EEST 2021


On Fri, May 7, 2021 at 12:22 AM Jan Ekström <jeebjp at gmail.com> wrote:
>
> Otherwise the rate emulation logic in `transcode_step` never gets
> hit, and the unavailability flag never gets reset, leading to an
> eternal loop.
>
> Fixes #9160
> ---
>  fftools/ffmpeg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> index 3ad11452da..b3658d8f65 100644
> --- a/fftools/ffmpeg.c
> +++ b/fftools/ffmpeg.c
> @@ -3958,7 +3958,7 @@ static OutputStream *choose_output(void)
>                  ost->st->index, ost->st->id, ost->initialized, ost->inputs_done, ost->finished);
>
>          if (!ost->initialized && !ost->inputs_done)
> -            return ost;
> +            return ost->unavailable ? NULL : ost;
>
>          if (!ost->finished && opts < opts_min) {
>              opts_min = opts;
> --
> 2.31.1
>

Added some extra explanation on the commit message and applied as
ec20b8130269260f3ae1e4642da26ba556814f84 to master.

Will also cherry-pick this to release/4.4 as it is also affected.

Jan


More information about the ffmpeg-devel mailing list