libgsmdec: always set channel layout and sample rate at initialization

Only mono 8kHz is supported.
This commit is contained in:
Justin Ruggles 2012-10-22 15:43:59 -04:00
parent a346aaf148
commit c5b8acad73
1 changed files with 5 additions and 13 deletions

View File

@ -29,6 +29,7 @@
#include <gsm/gsm.h>
#include "libavutil/audioconvert.h"
#include "avcodec.h"
#include "internal.h"
#include "gsm.h"
@ -149,19 +150,10 @@ typedef struct LibGSMDecodeContext {
static av_cold int libgsm_decode_init(AVCodecContext *avctx) {
LibGSMDecodeContext *s = avctx->priv_data;
if (avctx->channels > 1) {
av_log(avctx, AV_LOG_ERROR, "Mono required for GSM, got %d channels\n",
avctx->channels);
return -1;
}
if (!avctx->channels)
avctx->channels = 1;
if (!avctx->sample_rate)
avctx->sample_rate = 8000;
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
avctx->channels = 1;
avctx->channel_layout = AV_CH_LAYOUT_MONO;
avctx->sample_rate = 8000;
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
s->state = gsm_create();