summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-cdr/k3b/files/k3b-0.12.17+flac-1.1.3.patch')
-rw-r--r--app-cdr/k3b/files/k3b-0.12.17+flac-1.1.3.patch165
1 files changed, 165 insertions, 0 deletions
diff --git a/app-cdr/k3b/files/k3b-0.12.17+flac-1.1.3.patch b/app-cdr/k3b/files/k3b-0.12.17+flac-1.1.3.patch
new file mode 100644
index 000000000000..fdfa0563a075
--- /dev/null
+++ b/app-cdr/k3b/files/k3b-0.12.17+flac-1.1.3.patch
@@ -0,0 +1,165 @@
+--- k3b-0.12.17/configure.in.in 2006-08-23 00:32:30.000000000 -0700
++++ k3b-0.12.17-b2/configure.in.in 2006-10-17 19:23:48.000000000 -0700
+@@ -248,7 +248,7 @@
+ have_flac=no
+ if test "$ac_cv_use_flac" = "yes"; then
+ KDE_CHECK_HEADERS(FLAC++/decoder.h, [
+- AC_CHECK_LIB(FLAC,FLAC__seekable_stream_decoder_process_single,
++ AC_CHECK_LIB(FLAC,FLAC__stream_decoder_process_single,
+ have_flac=yes,[],$all_libraries)])
+
+ # Hack to get the flac version since I was not able to handle the code from
+--- k3b-0.12.17/plugins/decoder/flac/k3bflacdecoder.cpp 2006-08-23 00:31:46.000000000 -0700
++++ k3b-0.12.17-b2/plugins/decoder/flac/k3bflacdecoder.cpp 2006-10-18 14:32:24.000000000 -0700
+@@ -36,11 +36,21 @@
+ #include <taglib/flacfile.h>
+ #endif
+
++#if !defined FLACPP_API_VERSION_CURRENT || FLACPP_API_VERSION_CURRENT < 6
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
+ K_EXPORT_COMPONENT_FACTORY( libk3bflacdecoder, K3bPluginFactory<K3bFLACDecoderFactory>( "libk3bflacdecoder" ) )
+
+
+ class K3bFLACDecoder::Private
++#ifdef LEGACY_FLAC
+ : public FLAC::Decoder::SeekableStream
++#else
++ : public FLAC::Decoder::Stream
++#endif
+ {
+ public:
+ void open(QFile* f) {
+@@ -64,7 +74,11 @@
+ }
+
+ Private(QFile* f)
++#ifdef LEGACY_FLAC
+ : FLAC::Decoder::SeekableStream(),
++#else
++ : FLAC::Decoder::Stream(),
++#endif
+ comments(0) {
+ internalBuffer = new QBuffer();
+ internalBuffer->open(IO_ReadWrite);
+@@ -93,10 +107,17 @@
+ FLAC__uint64 samples;
+
+ protected:
++#ifdef LEGACY_FLAC
+ virtual FLAC__SeekableStreamDecoderReadStatus read_callback(FLAC__byte buffer[], unsigned *bytes);
+ virtual FLAC__SeekableStreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset);
+ virtual FLAC__SeekableStreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset);
+ virtual FLAC__SeekableStreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length);
++#else
++ virtual FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes);
++ virtual FLAC__StreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset);
++ virtual FLAC__StreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset);
++ virtual FLAC__StreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length);
++#endif
+ virtual bool eof_callback();
+ virtual void error_callback(FLAC__StreamDecoderErrorStatus){};
+ virtual void metadata_callback(const ::FLAC__StreamMetadata *metadata);
+@@ -112,6 +133,7 @@
+ return file->atEnd();
+ }
+
++#ifdef LEGACY_FLAC
+ FLAC__SeekableStreamDecoderReadStatus K3bFLACDecoder::Private::read_callback(FLAC__byte buffer[], unsigned *bytes) {
+ long retval = file->readBlock((char *)buffer, (*bytes));
+ if(-1 == retval) {
+@@ -121,7 +143,19 @@
+ return FLAC__SEEKABLE_STREAM_DECODER_READ_STATUS_OK;
+ }
+ }
++#else
++FLAC__StreamDecoderReadStatus K3bFLACDecoder::Private::read_callback(FLAC__byte buffer[], size_t *bytes) {
++ long retval = file->readBlock((char *)buffer, (*bytes));
++ if(-1 == retval) {
++ return FLAC__STREAM_DECODER_READ_STATUS_ABORT;
++ } else {
++ (*bytes) = retval;
++ return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
++ }
++}
++#endif
+
++#ifdef LEGACY_FLAC
+ FLAC__SeekableStreamDecoderSeekStatus
+ K3bFLACDecoder::Private::seek_callback(FLAC__uint64 absolute_byte_offset) {
+ if(file->at(absolute_byte_offset) == FALSE)
+@@ -129,18 +163,43 @@
+ else
+ return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK;
+ }
++#else
++FLAC__StreamDecoderSeekStatus
++K3bFLACDecoder::Private::seek_callback(FLAC__uint64 absolute_byte_offset) {
++ if(file->at(absolute_byte_offset) == FALSE)
++ return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR;
++ else
++ return FLAC__STREAM_DECODER_SEEK_STATUS_OK;
++}
++#endif
+
++#ifdef LEGACY_FLAC
+ FLAC__SeekableStreamDecoderTellStatus
+ K3bFLACDecoder::Private::tell_callback(FLAC__uint64 *absolute_byte_offset) {
+ (*absolute_byte_offset) = file->at();
+ return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK;
+ }
++#else
++FLAC__StreamDecoderTellStatus
++K3bFLACDecoder::Private::tell_callback(FLAC__uint64 *absolute_byte_offset) {
++ (*absolute_byte_offset) = file->at();
++ return FLAC__STREAM_DECODER_TELL_STATUS_OK;
++}
++#endif
+
++#ifdef LEGACY_FLAC
+ FLAC__SeekableStreamDecoderLengthStatus
+ K3bFLACDecoder::Private::length_callback(FLAC__uint64 *stream_length) {
+ (*stream_length) = file->size();
+ return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK;
+ }
++#else
++FLAC__StreamDecoderLengthStatus
++K3bFLACDecoder::Private::length_callback(FLAC__uint64 *stream_length) {
++ (*stream_length) = file->size();
++ return FLAC__STREAM_DECODER_LENGTH_STATUS_OK;
++}
++#endif
+
+
+ void K3bFLACDecoder::Private::metadata_callback(const FLAC__StreamMetadata *metadata) {
+@@ -260,6 +319,7 @@
+ int bytesCopied;
+ int bytesAvailable;
+
++#ifdef LEGACY_FLAC
+ if(d->internalBuffer->size() == 0) {
+ // want more data
+ switch(d->get_state()) {
+@@ -274,6 +334,19 @@
+ return -1;
+ }
+ }
++#else
++ if(d->internalBuffer->size() == 0) {
++ // want more data
++ if(d->get_state() == FLAC__STREAM_DECODER_END_OF_STREAM)
++ d->finish();
++ else if(d->get_state() < FLAC__STREAM_DECODER_END_OF_STREAM) {
++ if(! d->process_single())
++ return -1;
++ }
++ else
++ return -1;
++ }
++#endif
+
+ bytesAvailable = d->internalBuffer->size() - d->internalBuffer->at();
+ bytesToCopy = QMIN(maxLen, bytesAvailable);