diff options
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.patch | 165 |
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); |