[SCM] libav/experimental: a few checks, seems i forgot to commit this

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:44:54 UTC 2013


The following commit has been merged in the experimental branch:
commit 9450118bc799796ebb23338fe50fc60c3fabe566
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Sun Aug 14 16:19:20 2005 +0000

    a few checks, seems i forgot to commit this
    
    Originally committed as revision 4523 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/utils.c b/libavformat/utils.c
index f2091f7..0940f65 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2158,6 +2158,30 @@ int av_write_header(AVFormatContext *s)
     int ret, i;
     AVStream *st;
 
+    // some sanity checks
+    for(i=0;i<s->nb_streams;i++) {
+        st = s->streams[i];
+
+        switch (st->codec->codec_type) {
+        case CODEC_TYPE_AUDIO:
+            if(st->codec->sample_rate<=0){
+                av_log(s, AV_LOG_ERROR, "sample rate not set\n");
+                return -1;
+            }
+            break;
+        case CODEC_TYPE_VIDEO:
+            if(st->codec->time_base.num<=0 || st->codec->time_base.den<=0){ //FIXME audio too?
+                av_log(s, AV_LOG_ERROR, "time base not set\n");
+                return -1;
+            }
+            if(st->codec->width<=0 || st->codec->height<=0){
+                av_log(s, AV_LOG_ERROR, "dimensions not set\n");
+                return -1;
+            }
+            break;
+        }
+    }
+
     ret = s->oformat->write_header(s);
     if (ret < 0)
         return ret;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list