summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2011-09-18 10:08:03 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2011-09-18 10:08:03 +0000
commit2db0eba9059acba8e9e14b747273fa9c2176489e (patch)
treeda40e167bd9ef46ecf2364f01fcd6c924e0b304e /app-cdr/k3b
parentUse basis-link instead of basis-version. (diff)
downloadgentoo-2-2db0eba9059acba8e9e14b747273fa9c2176489e.tar.gz
gentoo-2-2db0eba9059acba8e9e14b747273fa9c2176489e.tar.bz2
gentoo-2-2db0eba9059acba8e9e14b747273fa9c2176489e.zip
Fix compilation with newer ffmpeg, bug 369523
(Portage version: 2.1.10.18/cvs/Linux x86_64)
Diffstat (limited to 'app-cdr/k3b')
-rw-r--r--app-cdr/k3b/ChangeLog6
-rw-r--r--app-cdr/k3b/files/k3b-2.0.2-ffmpeg.patch96
-rw-r--r--app-cdr/k3b/k3b-2.0.2-r1.ebuild4
3 files changed, 104 insertions, 2 deletions
diff --git a/app-cdr/k3b/ChangeLog b/app-cdr/k3b/ChangeLog
index 69183b10d648..7f349264ea4a 100644
--- a/app-cdr/k3b/ChangeLog
+++ b/app-cdr/k3b/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-cdr/k3b
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/k3b/ChangeLog,v 1.266 2011/08/11 09:37:25 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/k3b/ChangeLog,v 1.267 2011/09/18 10:08:03 dilfridge Exp $
+
+ 18 Sep 2011; Andreas K. Huettel <dilfridge@gentoo.org> k3b-2.0.2-r1.ebuild,
+ +files/k3b-2.0.2-ffmpeg.patch:
+ Fix compilation with newer ffmpeg, bug 369523
11 Aug 2011; Tomáš Chvátal <scarabeus@gentoo.org> k3b-2.0.2-r1.ebuild:
Optional is JUST FINE! It won't build the docs folder without it being
diff --git a/app-cdr/k3b/files/k3b-2.0.2-ffmpeg.patch b/app-cdr/k3b/files/k3b-2.0.2-ffmpeg.patch
new file mode 100644
index 000000000000..2878b1edcb06
--- /dev/null
+++ b/app-cdr/k3b/files/k3b-2.0.2-ffmpeg.patch
@@ -0,0 +1,96 @@
+commit 61ca30beb978f68e72257408777c6433f33129bd
+Author: Michal Malek <michalm@jabster.pl>
+Date: Sun Aug 28 20:18:53 2011 +0200
+
+ Fixed compilation with new FFMPEG
+
+ BUG: 274817
+ FIXED-IN: 2.0.3
+
+diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+index 0ad59fc..0c5f366 100644
+--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+@@ -109,7 +109,13 @@ bool K3bFFMpegFile::open()
+ #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::typeComment() const
+ 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::title() const
+ 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::author() const
+ 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 @@ int K3bFFMpegFile::fillOutputBuffer()
+ #if LIBAVCODEC_VERSION_MAJOR < 52
+ int len = ::avcodec_decode_audio(
+ #else
++ #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 @@ int K3bFFMpegFile::fillOutputBuffer()
+ #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/app-cdr/k3b/k3b-2.0.2-r1.ebuild b/app-cdr/k3b/k3b-2.0.2-r1.ebuild
index c2dd21c64c9d..f899ea113dee 100644
--- a/app-cdr/k3b/k3b-2.0.2-r1.ebuild
+++ b/app-cdr/k3b/k3b-2.0.2-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-cdr/k3b/k3b-2.0.2-r1.ebuild,v 1.8 2011/08/11 09:37:25 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/k3b/k3b-2.0.2-r1.ebuild,v 1.9 2011/09/18 10:08:03 dilfridge Exp $
EAPI=4
@@ -63,6 +63,8 @@ RDEPEND="${DEPEND}
DOCS+=( ChangeLog )
+PATCHES=( "${FILESDIR}/${P}-ffmpeg.patch" )
+
src_configure() {
mycmakeargs=(
-DK3B_BUILD_K3BSETUP=OFF