| @@ -19,6 +19,7 @@ | |||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| #include "libavutil/audioconvert.h" | |||||
| #include "avcodec.h" | #include "avcodec.h" | ||||
| #include "libavutil/avstring.h" | #include "libavutil/avstring.h" | ||||
| #include "libavutil/common.h" | #include "libavutil/common.h" | ||||
| @@ -30,13 +31,16 @@ static void amr_decode_fix_avctx(AVCodecContext *avctx) | |||||
| { | { | ||||
| const int is_amr_wb = 1 + (avctx->codec_id == AV_CODEC_ID_AMR_WB); | const int is_amr_wb = 1 + (avctx->codec_id == AV_CODEC_ID_AMR_WB); | ||||
| if (!avctx->sample_rate) | |||||
| avctx->sample_rate = 8000 * is_amr_wb; | |||||
| avctx->sample_rate = 8000 * is_amr_wb; | |||||
| if (!avctx->channels) | |||||
| avctx->channels = 1; | |||||
| if (avctx->channels > 1) { | |||||
| av_log_missing_feature(avctx, "multi-channel AMR", 0); | |||||
| return AVERROR_PATCHWELCOME; | |||||
| } | |||||
| avctx->sample_fmt = AV_SAMPLE_FMT_S16; | |||||
| avctx->channels = 1; | |||||
| avctx->channel_layout = AV_CH_LAYOUT_MONO; | |||||
| avctx->sample_fmt = AV_SAMPLE_FMT_S16; | |||||
| } | } | ||||
| #if CONFIG_LIBOPENCORE_AMRNB | #if CONFIG_LIBOPENCORE_AMRNB | ||||