diff --git a/k3b-2.0.2-ffmpeg08.patch b/k3b-2.0.2-ffmpeg08.patch new file mode 100644 index 0000000..79fd31c --- /dev/null +++ b/k3b-2.0.2-ffmpeg08.patch @@ -0,0 +1,86 @@ +--- k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp.old 2011-01-15 21:47:29.000000000 +0100 ++++ k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2011-06-22 14:14:58.637253378 +0200 +@@ -109,7 +109,13 @@ + #else + ::AVCodecContext* codecContext = d->formatContext->streams[0]->codec; + #endif +- if( codecContext->codec_type != CODEC_TYPE_AUDIO ) { ++ if( codecContext->codec_type != ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ AVMEDIA_TYPE_AUDIO) ++#else ++ CODEC_TYPE_AUDIO) ++#endif ++ { + kDebug() << "(K3bFFMpegFile) not a simple audio stream: " << m_filename; + return false; + } +@@ -225,8 +231,11 @@ + QString K3bFFMpegFile::title() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->title[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->title ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "TITLE", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -235,8 +244,11 @@ + QString K3bFFMpegFile::author() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->author[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->author ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "ARTIST", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -245,8 +257,11 @@ + QString K3bFFMpegFile::comment() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->comment[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->comment ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "COMMENT", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -309,8 +324,13 @@ + #if LIBAVCODEC_VERSION_MAJOR < 52 + int len = ::avcodec_decode_audio( + #else +- int len = ::avcodec_decode_audio2( ++ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ int len = ::avcodec_decode_audio3( ++ #else ++ int len = ::avcodec_decode_audio2( ++ #endif + #endif ++ + #ifdef FFMPEG_BUILD_PRE_4629 + &d->formatContext->streams[0]->codec, + #else +@@ -318,7 +338,11 @@ + #endif + (short*)d->alignedOutputBuffer, + &d->outputBufferSize, ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ &d->packet ); ++#else + d->packetData, d->packetSize ); ++#endif + + if( d->packetSize <= 0 || len < 0 ) + ::av_free_packet( &d->packet ); diff --git a/k3b.changes b/k3b.changes index e624482..0906baf 100644 --- a/k3b.changes +++ b/k3b.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Aug 14 16:41:53 UTC 2011 - reddwarf@opensuse.org + +- Add k3b-2.0.2-ffmpeg08.patch to allow it to compile against the + new ffmpeg versions. + ------------------------------------------------------------------- Wed Apr 27 20:35:43 UTC 2011 - asterios.dramis@gmail.com diff --git a/k3b.spec b/k3b.spec index 2c26814..82989c3 100644 --- a/k3b.spec +++ b/k3b.spec @@ -33,6 +33,8 @@ Source0: http://prdownloads.sourceforge.net/k3b/%{name}-%{version}.tar.bz Patch0: initial-preference.diff # PATCH-FIX-OPENSUSE add_mimetypes_bnc661777.diff bnc#661777 ctrippe@gmx.net -- Add a few mimetypes to the desktop file for better integration in GNOME Patch1: add_mimetypes_bnc661777.diff +# PATCH-FIX-UPSTREAM %{name}-2.0.2-ffmpeg08.diff kde#274817 reddwarf@opensuse.org -- Make it compile with the latest ffmpeg. +Patch2: %{name}-2.0.2-ffmpeg08.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # only needed to patch broken images in the upstream tarball @@ -97,6 +99,9 @@ This package contain files needed for development with k3b. %setup -q %patch0 %patch1 +%if %{with ffmpeg} +%patch2 -p1 +%endif # patch image with wrong dimensions - fix rpmlint warning "wrong-icon-size" pushd src/icons/actions