From 3c7382e36876dd82b4ca83fc6c60fd9f2ecd3e98 Mon Sep 17 00:00:00 2001 From: Andreas Unterweger Date: Thu, 28 Apr 2022 15:06:53 +0200 Subject: [PATCH] doc/examples/transcode_aac: Set decoder packet timebase 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 --- doc/examples/transcode_aac.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/examples/transcode_aac.c b/doc/examples/transcode_aac.c index d608847f18..b18ba7e75d 100644 --- a/doc/examples/transcode_aac.c +++ b/doc/examples/transcode_aac.c @@ -62,6 +62,7 @@ static int open_input_file(const char *filename, { AVCodecContext *avctx; const AVCodec *input_codec; + const AVStream *stream; int error; /* Open the input file to read from it. */ @@ -89,8 +90,10 @@ static int open_input_file(const char *filename, return AVERROR_EXIT; } + stream = (*input_format_context)->streams[0]; + /* Find a decoder for the audio stream. */ - if (!(input_codec = avcodec_find_decoder((*input_format_context)->streams[0]->codecpar->codec_id))) { + if (!(input_codec = avcodec_find_decoder(stream->codecpar->codec_id))) { fprintf(stderr, "Could not find input codec\n"); avformat_close_input(input_format_context); return AVERROR_EXIT; @@ -105,7 +108,7 @@ static int open_input_file(const char *filename, } /* Initialize the stream parameters with demuxer information. */ - error = avcodec_parameters_to_context(avctx, (*input_format_context)->streams[0]->codecpar); + error = avcodec_parameters_to_context(avctx, stream->codecpar); if (error < 0) { avformat_close_input(input_format_context); avcodec_free_context(&avctx); @@ -121,6 +124,9 @@ static int open_input_file(const char *filename, return error; } + /* Set the packet timebase for the decoder. */ + avctx->pkt_timebase = stream->time_base; + /* Save the decoder context for easier access later. */ *input_codec_context = avctx;