]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/amrwbdec.c
ff_emulated_edge_mc: fix handling of w/h being 0
[ffmpeg] / libavcodec / amrwbdec.c
index eaaf66bf0048179ddf973e89bc09a5bab61f13ad..468ffa0716430aab2427e0af0329192ef2ada9bc 100644 (file)
@@ -24,6 +24,7 @@
  * AMR wideband decoder
  */
 
+#include "libavutil/channel_layout.h"
 #include "libavutil/common.h"
 #include "libavutil/lfg.h"
 
@@ -97,7 +98,16 @@ static av_cold int amrwb_decode_init(AVCodecContext *avctx)
     AMRWBContext *ctx = avctx->priv_data;
     int i;
 
-    avctx->sample_fmt = AV_SAMPLE_FMT_FLT;
+    if (avctx->channels > 1) {
+        av_log_missing_feature(avctx, "multi-channel AMR", 0);
+        return AVERROR_PATCHWELCOME;
+    }
+
+    avctx->channels       = 1;
+    avctx->channel_layout = AV_CH_LAYOUT_MONO;
+    if (!avctx->sample_rate)
+        avctx->sample_rate = 16000;
+    avctx->sample_fmt     = AV_SAMPLE_FMT_FLT;
 
     av_lfg_init(&ctx->prng, 1);