libxvid: Return meaningful error messages
authorHimangi Saraogi <himangi774@gmail.com>
Tue, 10 Feb 2015 18:57:35 +0000 (00:27 +0530)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Tue, 17 Feb 2015 17:18:20 +0000 (12:18 -0500)
libavcodec/libxvid.c
libavcodec/libxvid_rc.c

index 35a76eb..6486ad1 100644 (file)
@@ -474,7 +474,7 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
         if (!x->twopassbuffer || !x->old_twopassbuffer) {
             av_log(avctx, AV_LOG_ERROR,
                    "Xvid: Cannot allocate 2-pass log buffers\n");
-            return -1;
+            return AVERROR(ENOMEM);
         }
         x->twopassbuffer[0]     =
         x->old_twopassbuffer[0] = 0;
@@ -487,22 +487,22 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
         rc2pass2.bitrate = avctx->bit_rate;
 
         fd = ff_tempfile("xvidff.", &x->twopassfile);
-        if (fd == -1) {
+        if (fd < 0) {
             av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write 2-pass pipe\n");
-            return -1;
+            return fd;
         }
 
         if (!avctx->stats_in) {
             av_log(avctx, AV_LOG_ERROR,
                    "Xvid: No 2-pass information loaded for second pass\n");
-            return -1;
+            return AVERROR_INVALIDDATA;
         }
 
         if (strlen(avctx->stats_in) >
             write(fd, avctx->stats_in, strlen(avctx->stats_in))) {
             close(fd);
             av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write to 2-pass pipe\n");
-            return -1;
+            return AVERROR(EIO);
         }
 
         close(fd);
@@ -770,7 +770,7 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
             return 0;
         av_log(avctx, AV_LOG_ERROR,
                "Xvid: Encoding Error Occurred: %i\n", xerr);
-        return -1;
+        return xerr;
     }
 }
 
index 68140a6..26f3c49 100644 (file)
@@ -52,7 +52,7 @@ int ff_tempfile(const char *prefix, char **filename)
     /* -----common section-----*/
     if (!(*filename)) {
         av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file name\n");
-        return -1;
+        return AVERROR(ENOMEM);
     }
 #if !HAVE_MKSTEMP
     fd = avpriv_open(*filename, O_RDWR | O_BINARY | O_CREAT, 0444);
@@ -67,7 +67,7 @@ int ff_tempfile(const char *prefix, char **filename)
     /* -----common section-----*/
     if (fd < 0) {
         av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot open temporary file %s\n", *filename);
-        return -1;
+        return AVERROR(EIO);
     }
     return fd; /* success */
 }
@@ -80,9 +80,9 @@ av_cold int ff_xvid_rate_control_init(MpegEncContext *s)
     xvid_plugin_2pass2_t xvid_2pass2  = { 0 };
 
     fd = ff_tempfile("xvidrc.", &tmp_name);
-    if (fd == -1) {
+    if (fd < 0) {
         av_log(NULL, AV_LOG_ERROR, "Can't create temporary pass2 file.\n");
-        return -1;
+        return fd;
     }
 
     for (i = 0; i < s->rc_context.num_entries; i++) {