X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Flibilbc.c;h=20a295185053a92fd302f8436dfc14a18b1d93bd;hb=a247ac640df3da573cd661065bf53f37863e2b46;hp=9a56cc87854767fd21655c5461ee58f4860e5b00;hpb=185aa5e896e15ae96145609944bfc6bbb239bc64;p=ffmpeg diff --git a/libavcodec/libilbc.c b/libavcodec/libilbc.c index 9a56cc87854..20a29518505 100644 --- a/libavcodec/libilbc.c +++ b/libavcodec/libilbc.c @@ -27,6 +27,10 @@ #include "avcodec.h" #include "internal.h" +#ifndef LIBILBC_VERSION_MAJOR +#define LIBILBC_VERSION_MAJOR 2 +#endif + static int get_mode(AVCodecContext *avctx) { if (avctx->block_align == 38) @@ -41,7 +45,11 @@ static int get_mode(AVCodecContext *avctx) typedef struct ILBCDecContext { const AVClass *class; +#if LIBILBC_VERSION_MAJOR < 3 iLBC_Dec_Inst_t decoder; +#else + IlbcDecoder decoder; +#endif int enhance; } ILBCDecContext; @@ -87,7 +95,12 @@ static int ilbc_decode_frame(AVCodecContext *avctx, void *data, int ret; if (s->decoder.no_of_bytes > buf_size) { +#if LIBILBC_VERSION_MAJOR < 3 av_log(avctx, AV_LOG_ERROR, "iLBC frame too short (%u, should be %u)\n", +#else + av_log(avctx, AV_LOG_ERROR, "iLBC frame too short (%u, should be " + "%"SIZE_SPECIFIER")\n", +#endif buf_size, s->decoder.no_of_bytes); return AVERROR_INVALIDDATA; } @@ -103,7 +116,7 @@ static int ilbc_decode_frame(AVCodecContext *avctx, void *data, return s->decoder.no_of_bytes; } -AVCodec ff_libilbc_decoder = { +const AVCodec ff_libilbc_decoder = { .name = "libilbc", .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"), .type = AVMEDIA_TYPE_AUDIO, @@ -111,13 +124,17 @@ AVCodec ff_libilbc_decoder = { .priv_data_size = sizeof(ILBCDecContext), .init = ilbc_decode_init, .decode = ilbc_decode_frame, - .capabilities = AV_CODEC_CAP_DR1, + .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .priv_class = &ilbc_dec_class, }; typedef struct ILBCEncContext { const AVClass *class; +#if LIBILBC_VERSION_MAJOR < 3 iLBC_Enc_Inst_t encoder; +#else + IlbcEncoder encoder; +#endif int mode; } ILBCEncContext; @@ -181,7 +198,7 @@ static const AVCodecDefault ilbc_encode_defaults[] = { { NULL } }; -AVCodec ff_libilbc_encoder = { +const AVCodec ff_libilbc_encoder = { .name = "libilbc", .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"), .type = AVMEDIA_TYPE_AUDIO,