[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.0
From: Alex Merry <huntedhacker () tiscali ! co ! uk>
Date: 2008-01-28 14:56:13
Message-ID: 1201532173.697147.3927.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 767696 by alexmerry:
Backport fix for FLAC > 1.1.2.
CCBUG: 153503
M +6 -5 kdelibs/cmake/modules/FindFlac.cmake
M +16 -1 kdemultimedia/kioslave/audiocd/plugins/flac/encoderflac.cpp
--- branches/KDE/4.0/kdelibs/cmake/modules/FindFlac.cmake #767695:767696
@@ -5,6 +5,9 @@
# FLAC_INCLUDE_DIR - the Flac include directory
# FLAC_LIBRARIES - Link these to use Flac
# FLAC_OGGFLAC_LIBRARIES - Link these to use OggFlac
+#
+# No version checking is done - use FLAC_API_VERSION_CURRENT to
+# conditionally compile version-dependent code
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
@@ -23,18 +26,16 @@
FIND_LIBRARY(FLAC_OGG_LIBRARY NAMES OggFLAC)
-check_library_exists(FLAC FLAC__stream_encoder_set_write_callback "" \
HAVE_STREAM_ENCODER_WRITE_CALLBACK)
-
-IF(FLAC_INCLUDE_DIR AND FLAC_LIBRARIES AND HAVE_STREAM_ENCODER_WRITE_CALLBACK)
+IF(FLAC_INCLUDE_DIR AND FLAC_LIBRARIES)
SET(FLAC_FOUND TRUE)
IF (FLAC_OGG_LIBRARY)
SET(FLAC_OGGFLAC_LIBRARIES ${FLAC_OGG_LIBRARY} ${FLAC_LIBRARIES})
ENDIF (FLAC_OGG_LIBRARY)
-ELSE(FLAC_INCLUDE_DIR AND FLAC_LIBRARIES AND HAVE_STREAM_ENCODER_WRITE_CALLBACK)
+ELSE(FLAC_INCLUDE_DIR AND FLAC_LIBRARIES)
SET(FLAC_FOUND FALSE)
-ENDIF(FLAC_INCLUDE_DIR AND FLAC_LIBRARIES AND HAVE_STREAM_ENCODER_WRITE_CALLBACK)
+ENDIF(FLAC_INCLUDE_DIR AND FLAC_LIBRARIES)
IF(FLAC_FOUND)
IF(NOT Flac_FIND_QUIETLY)
--- branches/KDE/4.0/kdemultimedia/kioslave/audiocd/plugins/flac/encoderflac.cpp \
#767695:767696 @@ -48,7 +48,16 @@
unsigned long data;
};
-static FLAC__StreamEncoderWriteStatus WriteCallback(const FLAC__StreamEncoder \
*encoder, const FLAC__byte buffer[], unsigned bytes, unsigned samples, unsigned \
current_frame, void *client_data) +static FLAC__StreamEncoderWriteStatus \
WriteCallback(const FLAC__StreamEncoder *encoder, + \
const FLAC__byte buffer[], +#if !defined(FLAC_API_VERSION_CURRENT) || \
FLAC_API_VERSION_CURRENT <= 7 + \
unsigned bytes, +#else
+ size_t bytes,
+#endif
+ unsigned samples,
+ unsigned current_frame,
+ void *client_data)
{
EncoderFLAC::Private *d = (EncoderFLAC::Private*)client_data;
@@ -110,9 +119,11 @@
long EncoderFLAC::readInit(long size) {
kDebug(7117) << "EncoderFLAC::readInit() called";
d->data = 0;
+#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT <= 7
FLAC__stream_encoder_set_write_callback(d->encoder, WriteCallback);
FLAC__stream_encoder_set_metadata_callback(d->encoder, MetadataCallback);
FLAC__stream_encoder_set_client_data(d->encoder, d);
+#endif
// The options match approximely those of flac compression-level-3
FLAC__stream_encoder_set_do_mid_side_stereo(d->encoder, true);
@@ -125,7 +136,11 @@
if (size > 0)
FLAC__stream_encoder_set_total_samples_estimate(d->encoder, size/4);
+#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT <= 7
FLAC__stream_encoder_init(d->encoder);
+#else
+ FLAC__stream_encoder_init_stream(d->encoder, WriteCallback, NULL, NULL, \
MetadataCallback, d); +#endif
return d->data;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic