[SCM] libav/experimental: Only set duration for streams where it is likely correct. Fixes issue1120

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:59:20 UTC 2013


The following commit has been merged in the experimental branch:
commit 3c8d75e65b526459a86d818ad9f98605a3f48576
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Wed Feb 3 00:35:10 2010 +0000

    Only set duration for streams where it is likely correct.
    Fixes issue1120
    
    Originally committed as revision 21620 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 3d68e47..7a2ee05 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -415,7 +415,6 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
             st->nb_frames = get_le32(pb);
 
             st->start_time = 0;
-            st->duration = st->nb_frames;
             get_le32(pb); /* buffer size */
             get_le32(pb); /* quality */
             ast->sample_size = get_le32(pb); /* sample ssize */
@@ -442,6 +441,8 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
                 av_log(s, AV_LOG_ERROR, "unknown stream type %X\n", tag1);
                 goto fail;
             }
+            if(ast->sample_size == 0)
+                st->duration = st->nb_frames;
             ast->frame_offset= ast->cum_len;
             url_fskip(pb, size - 12 * 4);
             break;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list