From 68fd0eca8bb1ac5e2cb5dd2a3a7ece71b8c92fea Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Sun, 10 Jun 2007 10:53:26 +0000 Subject: Add support for flac >= 1.1.3 which changed the API. Fixes bug #385887. Original commit message from CVS: Patch by: Josh Coalson , updated by Alexis Ballier : * configure.ac: * ext/flac/gstflacdec.c: (gst_flac_dec_reset_decoders), (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_dec_seek), (gst_flac_dec_tell), (gst_flac_dec_length), (gst_flac_dec_eof), (gst_flac_dec_read_seekable), (gst_flac_dec_read_stream): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.c: (gst_flac_enc_init), (gst_flac_enc_finalize), (gst_flac_enc_set_metadata), (gst_flac_enc_sink_setcaps), (gst_flac_enc_update_quality), (gst_flac_enc_seek_callback), (gst_flac_enc_write_callback), (gst_flac_enc_tell_callback), (gst_flac_enc_sink_event), (gst_flac_enc_chain), (gst_flac_enc_set_property), (gst_flac_enc_get_property), (gst_flac_enc_change_state): * ext/flac/gstflacenc.h: Add support for flac >= 1.1.3 which changed the API. Fixes bug #385887. --- configure.ac | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 9ba370e4..5eb1f6b3 100644 --- a/configure.ac +++ b/configure.ac @@ -652,11 +652,16 @@ AG_GST_CHECK_FEATURE(ESD, [ESounD sound daemon], esdsink, [ dnl *** FLAC *** translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true) +AC_TRY_RUN([ +#include +int main () { return FLAC_API_VERSION_CURRENT<8; } +],legacy_flac=no,legacy_flac=yes,legacy_flac=no) + +if test "x$legacy_flac" = "xyes"; then AG_GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [ AG_GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm") dnl API change in FLAC 1.1.1, so require that... - dnl (this check will also fail with FLAC 1.1.3 which changed API again - dnl and with which our plugin does not compile or work yet) + dnl (this check will also fail with FLAC 1.1.3 which changed API again) if test x$HAVE_FLAC = xyes; then AC_CHECK_DECL(FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR, HAVE_FLAC="yes", HAVE_FLAC="no", [ @@ -665,6 +670,19 @@ AG_GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [ fi AC_SUBST(FLAC_LIBS) ]) +else +AG_GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flac, [ + AG_GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm") + dnl API change in FLAC 1.1.3, so require that... + if test x$HAVE_FLAC = xyes; then + AC_CHECK_DECL(FLAC__STREAM_ENCODER_TELL_STATUS_ERROR, + HAVE_FLAC="yes", HAVE_FLAC="no", [ +#include + ]) + fi + AC_SUBST(FLAC_LIBS) +]) +fi dnl *** GConf *** translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true) -- cgit