libgsm: convert to new channel layout API

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: James Almer <jamrial@gmail.com>
release/5.1
Anton Khirnov 12 years ago committed by James Almer
parent 06ed1927b1
commit 5359381864
  1. 4
      libavcodec/libgsmdec.c
  2. 12
      libavcodec/libgsmenc.c

@ -48,8 +48,8 @@ typedef struct LibGSMDecodeContext {
static av_cold int libgsm_decode_init(AVCodecContext *avctx) { static av_cold int libgsm_decode_init(AVCodecContext *avctx) {
LibGSMDecodeContext *s = avctx->priv_data; LibGSMDecodeContext *s = avctx->priv_data;
avctx->channels = 1; av_channel_layout_uninit(&avctx->ch_layout);
avctx->channel_layout = AV_CH_LAYOUT_MONO; avctx->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
if (!avctx->sample_rate) if (!avctx->sample_rate)
avctx->sample_rate = 8000; avctx->sample_rate = 8000;
avctx->sample_fmt = AV_SAMPLE_FMT_S16; avctx->sample_fmt = AV_SAMPLE_FMT_S16;

@ -49,12 +49,6 @@ static av_cold int libgsm_encode_close(AVCodecContext *avctx) {
} }
static av_cold int libgsm_encode_init(AVCodecContext *avctx) { static av_cold int libgsm_encode_init(AVCodecContext *avctx) {
if (avctx->channels > 1) {
av_log(avctx, AV_LOG_ERROR, "Mono required for GSM, got %d channels\n",
avctx->channels);
return -1;
}
if (avctx->sample_rate != 8000) { if (avctx->sample_rate != 8000) {
av_log(avctx, AV_LOG_ERROR, "Sample rate 8000Hz required for GSM, got %dHz\n", av_log(avctx, AV_LOG_ERROR, "Sample rate 8000Hz required for GSM, got %dHz\n",
avctx->sample_rate); avctx->sample_rate);
@ -132,7 +126,10 @@ const AVCodec ff_libgsm_encoder = {
.encode2 = libgsm_encode_frame, .encode2 = libgsm_encode_frame,
.close = libgsm_encode_close, .close = libgsm_encode_close,
.defaults = libgsm_defaults, .defaults = libgsm_defaults,
#if FF_API_OLD_CHANNEL_LAYOUT
.channel_layouts= (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, .channel_layouts= (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
#endif
.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE }, AV_SAMPLE_FMT_NONE },
.wrapper_name = "libgsm", .wrapper_name = "libgsm",
@ -149,7 +146,10 @@ const AVCodec ff_libgsm_ms_encoder = {
.encode2 = libgsm_encode_frame, .encode2 = libgsm_encode_frame,
.close = libgsm_encode_close, .close = libgsm_encode_close,
.defaults = libgsm_defaults, .defaults = libgsm_defaults,
#if FF_API_OLD_CHANNEL_LAYOUT
.channel_layouts= (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 }, .channel_layouts= (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
#endif
.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE }, AV_SAMPLE_FMT_NONE },
.wrapper_name = "libgsm", .wrapper_name = "libgsm",

Loading…
Cancel
Save