amrnbdec: set channels, channel_layout, and sample_rate

Only mono 8kHz is supported.
This commit is contained in:
Justin Ruggles 2012-10-07 21:17:45 -04:00
parent a4202003b2
commit b24a4449a5
1 changed files with 10 additions and 1 deletions

View File

@ -43,6 +43,7 @@
#include <string.h>
#include <math.h>
#include "libavutil/audioconvert.h"
#include "avcodec.h"
#include "dsputil.h"
#include "libavutil/common.h"
@ -154,7 +155,15 @@ static av_cold int amrnb_decode_init(AVCodecContext *avctx)
AMRContext *p = 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;
avctx->sample_rate = 8000;
avctx->sample_fmt = AV_SAMPLE_FMT_FLT;
// p->excitation always points to the same position in p->excitation_buf
p->excitation = &p->excitation_buf[PITCH_DELAY_MAX + LP_FILTER_ORDER + 1];