--- a/plugins/audio/celt/celtcodec.c +++ b/plugins/audio/celt/celtcodec.c @@ -52,7 +52,12 @@ static int init_mode(CELTContext *celt, const struct PluginCodec_Definition * co { int error = 0; - celt->mode = celt_mode_create(codec->sampleRate, 1, codec->parm.audio.samplesPerFrame, &error); + celt->mode = celt_mode_create(codec->sampleRate, +#if !defined(HAVE_CELT_0_7_0_OR_LATER) + 1, +#endif + codec->parm.audio.samplesPerFrame, + &error); if (celt->mode == NULL) { return FALSE; } @@ -65,6 +70,9 @@ static int init_mode(CELTContext *celt, const struct PluginCodec_Definition * co static void * celt_create_encoder(const struct PluginCodec_Definition * codec) { +#if defined(HAVE_CELT_0_7_0_OR_LATER) + int error = 0; +#endif CELTContext * celt = malloc(sizeof(CELTContext)); if (celt == NULL) return NULL; @@ -73,8 +81,12 @@ static void * celt_create_encoder(const struct PluginCodec_Definition * codec) free(celt); return NULL; } - + +#if defined(HAVE_CELT_0_7_0_OR_LATER) + celt->encoder_state = celt_encoder_create(celt->mode, 1, &error); +#else celt->encoder_state = celt_encoder_create(celt->mode); +#endif if (celt->encoder_state == NULL ) { celt_mode_destroy(celt->mode); free(celt); @@ -87,6 +99,9 @@ static void * celt_create_encoder(const struct PluginCodec_Definition * codec) static void * celt_create_decoder(const struct PluginCodec_Definition * codec) { +#if defined(HAVE_CELT_0_7_0_OR_LATER) + int error = 0; +#endif CELTContext * celt = malloc(sizeof(CELTContext)); if (celt == NULL) return NULL; @@ -96,7 +111,11 @@ static void * celt_create_decoder(const struct PluginCodec_Definition * codec) return NULL; } +#if defined(HAVE_CELT_0_7_0_OR_LATER) + celt->decoder_state = celt_decoder_create(celt->mode, 1, &error); +#else celt->decoder_state = celt_decoder_create(celt->mode); +#endif if (celt->decoder_state == NULL ) { celt_mode_destroy(celt->mode); free(celt); @@ -142,7 +161,9 @@ static int celt_codec_encoder(const struct PluginCodec_Definition * codec, if (*toLen < celt->bytes_per_packet) return FALSE; -#ifdef HAVE_CELT_0_5_0_OR_LATER +#if defined(HAVE_CELT_0_7_0_OR_LATER) + byteCount = celt_encode(celt->encoder_state, (celt_int16 *)fromPtr, NULL, (char *)toPtr, celt->bytes_per_packet); +#elif defined(HAVE_CELT_0_5_0_OR_LATER) byteCount = celt_encode(celt->encoder_state, (celt_int16_t *)fromPtr, NULL, (char *)toPtr, celt->bytes_per_packet); #else byteCount = celt_encode(celt->encoder_state, (celt_int16_t *)fromPtr, (char *)toPtr, celt->bytes_per_packet); --- a/plugins/configure.ac +++ b/plugins/configure.ac @@ -313,9 +313,12 @@ AC_SUBST(CELT_LIBS) AC_DEFINE([HAVE_CELT], [1], [celt]) HAVE_CELT=yes - PKG_CHECK_EXISTS([celt >= 0.5.0], - [ - AC_DEFINE([HAVE_CELT_0_5_0_OR_LATER], [1], [celt 0.5.0 or later found]) + PKG_CHECK_EXISTS([celt >= 0.7.0], [ + AC_DEFINE([HAVE_CELT_0_7_0_OR_LATER], [1], [celt 0.7.0 or later found]) + ], + [PKG_CHECK_EXISTS([celt >= 0.5.0], [ + AC_DEFINE([HAVE_CELT_0_5_0_OR_LATER], [1], [celt 0.5.0 or later found]) + ]) ]) ], [ --- a/plugins/plugin-config.h.in 2010-02-14 16:07:28.000000000 +0100 +++ b/plugins/plugin-config.h.in 2010-02-14 16:07:42.000000000 +0100 @@ -15,6 +15,9 @@ /* celt 0.5.0 or later found */ #undef HAVE_CELT_0_5_0_OR_LATER +/* celt 0.7.0 or later found */ +#undef HAVE_CELT_0_7_0_OR_LATER + /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H