[SCM] libav/experimental: Make av_write_header() return AVERROR(EINVAL) rather than -1 if the input parameters are not valid.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:07:27 UTC 2013


The following commit has been merged in the experimental branch:
commit e1745e2f6e839a91d5e9347b6dfe7685622b9fb4
Author: Stefano Sabatini <stefano.sabatini-lala at poste.it>
Date:   Sat May 22 21:52:06 2010 +0000

    Make av_write_header() return AVERROR(EINVAL) rather than -1 if the
    input parameters are not valid.
    
    Originally committed as revision 23253 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 5e34aa3..22c833d 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2609,7 +2609,7 @@ int av_write_header(AVFormatContext *s)
     // some sanity checks
     if (s->nb_streams == 0) {
         av_log(s, AV_LOG_ERROR, "no streams\n");
-        return -1;
+        return AVERROR(EINVAL);
     }
 
     for(i=0;i<s->nb_streams;i++) {
@@ -2619,7 +2619,7 @@ int av_write_header(AVFormatContext *s)
         case AVMEDIA_TYPE_AUDIO:
             if(st->codec->sample_rate<=0){
                 av_log(s, AV_LOG_ERROR, "sample rate not set\n");
-                return -1;
+                return AVERROR(EINVAL);
             }
             if(!st->codec->block_align)
                 st->codec->block_align = st->codec->channels *
@@ -2628,15 +2628,15 @@ int av_write_header(AVFormatContext *s)
         case AVMEDIA_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;
+                return AVERROR(EINVAL);
             }
             if((st->codec->width<=0 || st->codec->height<=0) && !(s->oformat->flags & AVFMT_NODIMENSIONS)){
                 av_log(s, AV_LOG_ERROR, "dimensions not set\n");
-                return -1;
+                return AVERROR(EINVAL);
             }
             if(av_cmp_q(st->sample_aspect_ratio, st->codec->sample_aspect_ratio)){
                 av_log(s, AV_LOG_ERROR, "Aspect ratio mismatch between encoder and muxer layer\n");
-                return -1;
+                return AVERROR(EINVAL);
             }
             break;
         }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list