summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-08 06:19:43 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-08 06:19:43 +0100
commitf72eaf69ab0edffdcbba76ffde332803d2c70a51 (patch)
treeff6ddcebb8f5e00bf00bdc8283631738898373a0 /ffmpeg.c
parentfe380adbfba67c6f32f4b1927ab19a3c3fce48c7 (diff)
ffmpeg: Init dts variables in output_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index db4edd9965..c327744296 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2227,6 +2227,8 @@ static int output_packet(InputStream *ist,
AVPacket avpkt;
+ if (ist->next_dts == AV_NOPTS_VALUE)
+ ist->next_dts = ist->dts;
if (ist->next_pts == AV_NOPTS_VALUE)
ist->next_pts = ist->pts;
@@ -2241,6 +2243,7 @@ static int output_packet(InputStream *ist,
}
if (pkt->dts != AV_NOPTS_VALUE) {
+ ist->next_dts = ist->dts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
if (ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO || !ist->decoding_needed)
ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
pkt_dts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
@@ -2253,6 +2256,7 @@ static int output_packet(InputStream *ist,
handle_eof:
ist->pts = ist->next_pts;
+ ist->dts = ist->next_dts;
if (avpkt.size && avpkt.size != pkt->size) {
av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,