libspeexdec: return meaningful error codes
authorJustin Ruggles <justin.ruggles@gmail.com>
Fri, 21 Oct 2011 16:13:04 +0000 (12:13 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Fri, 21 Oct 2011 21:07:04 +0000 (17:07 -0400)
libavcodec/libspeexdec.c

index 6974229..f66331e 100644 (file)
@@ -60,14 +60,14 @@ static av_cold int libspeex_decode_init(AVCodecContext *avctx)
         mode = speex_lib_get_mode(s->header->mode);
         if (!mode) {
             av_log(avctx, AV_LOG_ERROR, "Unknown Speex mode %d", s->header->mode);
-            return -1;
+            return AVERROR_INVALIDDATA;
         }
     } else
         av_log(avctx, AV_LOG_INFO, "Missing Speex header, assuming defaults.\n");
 
     if (avctx->channels > 2) {
         av_log(avctx, AV_LOG_ERROR, "Only stereo and mono are supported.\n");
-        return -1;
+        return AVERROR(EINVAL);
     }
 
     speex_bits_init(&s->bits);
@@ -128,7 +128,7 @@ static int libspeex_decode_frame(AVCodecContext *avctx,
     ret = speex_decode_int(s->dec_state, &s->bits, output);
     if (ret <= -2) {
         av_log(avctx, AV_LOG_ERROR, "Error decoding Speex frame.\n");
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
     if (avctx->channels == 2)
         speex_decode_stereo_int(output, s->frame_size, &s->stereo);