diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-09-18 10:08:03 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-09-18 10:08:03 +0000 |
commit | 2db0eba9059acba8e9e14b747273fa9c2176489e (patch) | |
tree | da40e167bd9ef46ecf2364f01fcd6c924e0b304e /app-cdr | |
parent | Use basis-link instead of basis-version. (diff) | |
download | gentoo-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')
-rw-r--r-- | app-cdr/k3b/ChangeLog | 6 | ||||
-rw-r--r-- | app-cdr/k3b/files/k3b-2.0.2-ffmpeg.patch | 96 | ||||
-rw-r--r-- | app-cdr/k3b/k3b-2.0.2-r1.ebuild | 4 |
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 |