History

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.

Andreas Unterweger committed 4 years ago

Commit 3c7382e1 parent e13429c1 file · +8 −2Browse files

Unified · Split

doc/examples/transcode_aac.c+8−2
@@ -62,6 +62,7 @@ static int open_input_file(const char *filename, · 61 unmodified lines
62{62{
63 AVCodecContext *avctx;63 AVCodecContext *avctx;
64 const AVCodec *input_codec;64 const AVCodec *input_codec;
65 const AVStream *stream;
65 int error;66 int error;
66 67
67 /* Open the input file to read from it. */68 /* Open the input file to read from it. */
@@ -89,8 +90,10 @@ static int open_input_file(const char *filename, · 21 unmodified lines
89 return AVERROR_EXIT;90 return AVERROR_EXIT;
90 }91 }
91 92
93 stream = (*input_format_context)->streams[0];
94
92 /* Find a decoder for the audio stream. */95 /* Find a decoder for the audio stream. */
93 if (!(input_codec = avcodec_find_decoder((*input_format_context)->streams[0]->codecpar->codec_id))) {96 if (!(input_codec = avcodec_find_decoder(stream->codecpar->codec_id))) {
94 fprintf(stderr, "Could not find input codec\n");97 fprintf(stderr, "Could not find input codec\n");
95 avformat_close_input(input_format_context);98 avformat_close_input(input_format_context);
96 return AVERROR_EXIT;99 return AVERROR_EXIT;
@@ -105,7 +108,7 @@ static int open_input_file(const char *filename, · 8 unmodified lines
105 }108 }
106 109
107 /* Initialize the stream parameters with demuxer information. */110 /* Initialize the stream parameters with demuxer information. */
108 error = avcodec_parameters_to_context(avctx, (*input_format_context)->streams[0]->codecpar);111 error = avcodec_parameters_to_context(avctx, stream->codecpar);
109 if (error < 0) {112 if (error < 0) {
110 avformat_close_input(input_format_context);113 avformat_close_input(input_format_context);
111 avcodec_free_context(&avctx);114 avcodec_free_context(&avctx);
@@ -121,6 +124,9 @@ static int open_input_file(const char *filename, · 9 unmodified lines
121 return error;124 return error;
122 }125 }
123 126
127 /* Set the packet timebase for the decoder. */
128 avctx->pkt_timebase = stream->time_base;
129
124 /* Save the decoder context for easier access later. */130 /* Save the decoder context for easier access later. */
125 *input_codec_context = avctx;131 *input_codec_context = avctx;
126 132

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t