[FFmpeg-cvslog] ffmpeg: Init dts variables in output_packet()

Michael Niedermayer git at videolan.org
Wed Feb 8 08:22:52 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Feb  8 06:19:43 2012 +0100| [f72eaf69ab0edffdcbba76ffde332803d2c70a51] | committer: Michael Niedermayer

ffmpeg: Init dts variables in output_packet()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f72eaf69ab0edffdcbba76ffde332803d2c70a51
---

 ffmpeg.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index db4edd9..c327744 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,



More information about the ffmpeg-cvslog mailing list