amrnbdec: set channels, channel_layout, and sample_rate

Only mono 8kHz is supported.
pull/6/merge
Justin Ruggles 12 years ago
parent a4202003b2
commit b24a4449a5
  1. 11
      libavcodec/amrnbdec.c

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

Loading…
Cancel
Save