[SCM] libav/experimental: bug in libavformat av_update_cur_dts(), patch by (Nathan Kurz <nate at verse dot com>)

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:41:59 UTC 2013


The following commit has been merged in the experimental branch:
commit 1a1dc611ce973c372a0f49cdf92be50aed6970ac
Author: Nathan Kurz <nate at verse.com>
Date:   Fri Oct 22 13:15:18 2004 +0000

    bug in libavformat av_update_cur_dts(), patch by (Nathan Kurz <nate at verse dot com>)
    
    Originally committed as revision 3622 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 1c0dd29..76a80eb 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -916,18 +916,21 @@ static void av_read_frame_flush(AVFormatContext *s)
 }
 
 /**
- * updates the cur_dts field based on the given timestamp and AVStream.
- * only needed if (dts are not set and pts!=dts) or for timestamp wrapping
+ * updates cur_dts of all streams based on given timestamp and AVStream.
+ * stream ref_st unchanged, others set cur_dts in their native timebase
+ * only needed for timestamp wrapping or if (dts not set and pts!=dts)
+ * @param timestamp new dts expressed in time_base of param ref_st
+ * @param ref_st reference stream giving time_base of param timestamp
  */
-static void av_update_cur_dts(AVFormatContext *s, AVStream *st, int64_t timestamp){
+static void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp){
     int i;
 
     for(i = 0; i < s->nb_streams; i++) {
-        AVStream *st2 = s->streams[i];
+        AVStream *st = s->streams[i];
 
         st->cur_dts = av_rescale(timestamp, 
-                                 st2->time_base.den * (int64_t)st ->time_base.num,
-                                 st ->time_base.den * (int64_t)st2->time_base.num);
+                                 st->time_base.den * (int64_t)ref_st->time_base.num,
+                                 st->time_base.num * (int64_t)ref_st->time_base.den);
     }
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list