[FFmpeg-devel] [PATCH] avfilter/af_amix: fix possible hang

Nicolas George george at nsup.org
Sun Jun 18 20:01:15 EEST 2017


Thanks for trying to fix it.

Le decadi 30 prairial, an CCXXV, Paul B Mahol a écrit :
> Fixes #6424.
> 
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavfilter/af_amix.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c
> index 9fe505b..e06c753 100644
> --- a/libavfilter/af_amix.c
> +++ b/libavfilter/af_amix.c
> @@ -288,7 +288,7 @@ static int output_frame(AVFilterLink *outlink)
>                  if (ns < nb_samples) {
>                      if (!(s->input_state[i] & INPUT_EOF))
>                          /* unclosed input with not enough samples */
> -                        return 0;
> +                        return ff_request_frame(ctx->inputs[i]);
>                      /* closed input to drain */
>                      nb_samples = ns;
>                  }

There is a call filter_frame() -> output_frame(); filter_frame() must
never call ff_request_frame().

If you are absolutely sure that this branch can only be entered when
coming from request_frame() or request_samples(), please include a proof
of it in the commit message or as a comment.

If you are not absolutely sure, then it may be invalid.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170618/79199221/attachment.sig>


More information about the ffmpeg-devel mailing list