summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscop <scop@e10066b5-e1e2-0310-b819-94efdf66514b>2007-12-30 21:34:52 +0000
committerscop <scop@e10066b5-e1e2-0310-b819-94efdf66514b>2007-12-30 21:34:52 +0000
commitacc91439741d6bf12dd642d8fce3502253ec7f99 (patch)
tree3f0278bd28613cacd7a4379738256af1054b76f7
parent4323605939700d5389b6224bd02d30458458c398 (diff)
downloadvdr-plugin-muggle-acc91439741d6bf12dd642d8fce3502253ec7f99.tar.gz
vdr-plugin-muggle-acc91439741d6bf12dd642d8fce3502253ec7f99.tar.bz2
Fix build with FLAC++ >= 1.1.3.
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@963 e10066b5-e1e2-0310-b819-94efdf66514b
-rw-r--r--HISTORY4
-rw-r--r--vdr_decoder_flac.c18
2 files changed, 18 insertions, 4 deletions
diff --git a/HISTORY b/HISTORY
index 77f2c69..1db2387 100644
--- a/HISTORY
+++ b/HISTORY
@@ -292,6 +292,6 @@ XXXXXXXXXX: Version 0.0.8-ALPHA
- Patch from Hulk: Fix endless recursion in Message1()
- Patch from Morone: enable graphTFT display of cover images again
-2006-xx-xx: Version x.x.x
+200x-xx-xx: Version x.x.x
- Fix compilation and some compiler warnings.
-
+- Fix build with FLAC++ >= 1.1.3.
diff --git a/vdr_decoder_flac.c b/vdr_decoder_flac.c
index e4b7cbb..fa7e566 100644
--- a/vdr_decoder_flac.c
+++ b/vdr_decoder_flac.c
@@ -18,6 +18,11 @@
#include "vdr_decoder_flac.h"
+#if !defined FLACPP_API_VERSION_CURRENT || FLACPP_API_VERSION_CURRENT < 6
+#define LEGACY_FLAC
+#else
+#undef LEGACY_FLAC
+#endif
#include <mad.h>
@@ -66,7 +71,6 @@ bool mgFlacDecoder::initialize()
// set_metadata_ignore_all();
set_metadata_respond( FLAC__METADATA_TYPE_STREAMINFO );
- set_filename( m_filename.c_str() );
m_first = true;
m_reservoir_count = 0;
@@ -81,7 +85,13 @@ bool mgFlacDecoder::initialize()
m_reservoir[0] = new FLAC__int32[MAX_RES_SIZE];
m_reservoir[1] = new FLAC__int32[MAX_RES_SIZE];
- /*FLAC::Decoder::File::State d =*/ init(); // TODO: check this
+ // TODO: check init() return value
+#ifdef LEGACY_FLAC
+ set_filename( m_filename.c_str() );
+ /*FLAC::Decoder::File::State d =*/ init();
+#else
+ /*FLAC__StreamDecoderInitStatus d =*/ init( m_filename.c_str() );
+#endif
process_until_end_of_metadata(); // basically just skip metadata
@@ -189,7 +199,11 @@ struct mgDecode *mgFlacDecoder::decode()
// decode a single sample into reservoir_buffer (done by the write callback)
process_single();
+#ifdef LEGACY_FLAC
if (get_stream_decoder_state()==FLAC__STREAM_DECODER_END_OF_STREAM)
+#else
+ if (get_state()==FLAC__STREAM_DECODER_END_OF_STREAM)
+#endif
{
m_decode_status = dsEof;
finished = true;