avcodec/cavsdec: Propagate error codes inside decode_mb_i()
[ffmpeg.git] / libavcodec / libspeexdec.c
index 1e4c05a..d67c68c 100644 (file)
@@ -28,7 +28,7 @@
 #include "avcodec.h"
 #include "internal.h"
 
-typedef struct {
+typedef struct LibSpeexContext {
     SpeexBits bits;
     SpeexStereoState stereo;
     void *dec_state;
@@ -59,11 +59,11 @@ static av_cold int libspeex_decode_init(AVCodecContext *avctx)
 
         quality = avctx->extradata[37];
         if (quality > 10) {
-            av_log(avctx, AV_LOG_ERROR, "Unsupported quality mode.\n");
+            av_log(avctx, AV_LOG_ERROR, "Unsupported quality mode %d.\n", quality);
             return AVERROR_PATCHWELCOME;
         }
 
-        s->pktsize = ((int[]){5,10,15,20,20,28,28,38,38,46,62})[quality];
+        s->pktsize = ((const int[]){5,10,15,20,20,28,28,38,38,46,62})[quality];
 
         spx_mode           = 0;
     } else if (header) {
@@ -199,5 +199,6 @@ AVCodec ff_libspeex_decoder = {
     .close          = libspeex_decode_close,
     .decode         = libspeex_decode_frame,
     .flush          = libspeex_decode_flush,
-    .capabilities   = CODEC_CAP_SUBFRAMES | CODEC_CAP_DELAY | CODEC_CAP_DR1,
+    .capabilities   = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
+    .wrapper_name   = "libspeex",
 };