diff utils.c @ 839:8f12a754d330 libavformat

a few checks, seems i forgot to commit this
author michael
date Sun, 14 Aug 2005 16:19:20 +0000
parents 128838bc4bb6
children 8834d33b7ca1
line wrap: on
line diff
--- a/utils.c	Sun Aug 14 15:42:40 2005 +0000
+++ b/utils.c	Sun Aug 14 16:19:20 2005 +0000
@@ -2158,6 +2158,30 @@
     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;