From 3fb9e4c425b7dfcc7ffe65441a4a8d85d8951a1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Mon, 25 Dec 2006 19:22:00 +0000 Subject: * Make the libFLAC-based decoder and demuxer for FLAC files work with recent FLAC release 1.1.3. CVS patchset: 8455 CVS date: 2006/12/25 19:22:00 --- src/libflac/decoder_flac.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/libflac/decoder_flac.c') diff --git a/src/libflac/decoder_flac.c b/src/libflac/decoder_flac.c index b62286eaa..095555e1d 100644 --- a/src/libflac/decoder_flac.c +++ b/src/libflac/decoder_flac.c @@ -30,6 +30,13 @@ #include +#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8 +#include +#define LEGACY_FLAC +#else +#undef LEGACY_FLAC +#endif + #define LOG_MODULE "flac_decoder" #define LOG_VERBOSE @@ -344,6 +351,7 @@ open_plugin (audio_decoder_class_t *class_gen, xine_stream_t *stream) { this->flac_decoder = FLAC__stream_decoder_new(); +#ifdef LEGACY_FLAC FLAC__stream_decoder_set_read_callback (this->flac_decoder, flac_read_callback); FLAC__stream_decoder_set_write_callback (this->flac_decoder, @@ -359,6 +367,22 @@ open_plugin (audio_decoder_class_t *class_gen, xine_stream_t *stream) { free (this); return NULL; } +#else + if ( FLAC__stream_decoder_init_stream (this->flac_decoder, + flac_read_callback, + NULL, /* seek */ + NULL, /* tell */ + NULL, /* length */ + NULL, /* eof */ + flac_write_callback, + NULL, /* metadata */ + flac_error_callback, + this + ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { + free (this); + return NULL; + } +#endif return (audio_decoder_t *) this; } -- cgit v1.2.3