summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2014-04-12 21:55:46 +0200
committerAnton Khirnov <anton@khirnov.net>2014-04-22 07:45:49 +0200
commit1ae8198bca749a0cff205196cc83d35b9962849b (patch)
tree88748d46756e51d892d757af25000eb6fb89b10a
parentb19a5e51981be5b69cf550a3bc17fe5300d0dbc9 (diff)
downloadffmpeg-streaming-1ae8198bca749a0cff205196cc83d35b9962849b.zip
ffmpeg-streaming-1ae8198bca749a0cff205196cc83d35b9962849b.tar.gz
avconv: always reset packet pts after decoding an audio frame
Currently, if a decoder sets AVFrame.pts, we'd send the same timestamp to it twice, which is wrong.
-rw-r--r--avconv.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/avconv.c b/avconv.c
index 866b90c..79d5e67 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1175,10 +1175,9 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
the decoder could be delaying output by a packet or more. */
if (decoded_frame->pts != AV_NOPTS_VALUE)
ist->next_dts = decoded_frame->pts;
- else if (pkt->pts != AV_NOPTS_VALUE) {
+ else if (pkt->pts != AV_NOPTS_VALUE)
decoded_frame->pts = pkt->pts;
- pkt->pts = AV_NOPTS_VALUE;
- }
+ pkt->pts = AV_NOPTS_VALUE;
resample_changed = ist->resample_sample_fmt != decoded_frame->format ||
ist->resample_channels != avctx->channels ||
OpenPOWER on IntegriCloud