[FFmpeg-devel] [PATCH v4 2/2] doc/examples/transcode_aac: Set decoder packet timebase

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Apr 28 06:22:58 EEST 2022


Andreas Unterweger:
> Previously, the default timebase caused two warnings during decoding
> about not being able to update timestamps for skipped and discarded
> samples, respectively.
> 
> Signed-off-by: Andreas Unterweger <dustsigns at gmail.com>
> ---
>  doc/examples/transcode_aac.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/examples/transcode_aac.c b/doc/examples/transcode_aac.c
> index c9b93f6439..6197369756 100644
> --- a/doc/examples/transcode_aac.c
> +++ b/doc/examples/transcode_aac.c
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 2013-2018 Andreas Unterweger
> + * Copyright (c) 2013-2022 Andreas Unterweger
>   *
>   * This file is part of FFmpeg.
>   *
> @@ -120,6 +120,10 @@ static int open_input_file(const char *filename,
>          avformat_close_input(input_format_context);
>          return error;
>      }
> +
> +    /* Set the packet timebase for the decoder. The input file's sample
> +     * rate is used as the denominator for simplicity. */
> +    avctx->pkt_timebase = (AVRational) { 1, avctx->sample_rate };
> 
>      /* Save the decoder context for easier access later. */
>      *input_codec_context = avctx;

The timebase of the packets sent to the decoder is given by
AVStream.time_base; this need not be the natural time base (i.e. the
inverse of the sample rate).

- Andreas


More information about the ffmpeg-devel mailing list