summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-cdr/k3b/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-cdr/k3b/files')
-rw-r--r--app-cdr/k3b/files/k3b-2.0.3-libav-11.patch138
1 files changed, 138 insertions, 0 deletions
diff --git a/app-cdr/k3b/files/k3b-2.0.3-libav-11.patch b/app-cdr/k3b/files/k3b-2.0.3-libav-11.patch
new file mode 100644
index 00000000000..9c5ac4205f7
--- /dev/null
+++ b/app-cdr/k3b/files/k3b-2.0.3-libav-11.patch
@@ -0,0 +1,138 @@
+From 52d3d64863d2fab4128f524870851f18f5cae1fc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Old=C5=99ich=20Jedli=C4=8Dka?= <oldium.pro@seznam.cz>
+Date: Sat, 14 Feb 2015 15:31:07 +0100
+Subject: [PATCH] Fixed compilation with newer ffmpeg/libav.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz>
+---
+ plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp | 60 ++++++++++++++++++++++++-----
+ 1 file changed, 50 insertions(+), 10 deletions(-)
+
+diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+index 5451fd3..2f80fd6 100644
+--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
+@@ -86,8 +86,12 @@ public:
+ K3b::Msf length;
+
+ // for decoding. ffmpeg requires 16-byte alignment.
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ ::AVFrame* frame;
++#else
+ char outputBuffer[AVCODEC_MAX_AUDIO_FRAME_SIZE + 15];
+ char* alignedOutputBuffer;
++#endif
+ char* outputBufferPos;
+ int outputBufferSize;
+ ::AVPacket packet;
+@@ -102,14 +106,29 @@ K3bFFMpegFile::K3bFFMpegFile( const QString& filename )
+ d = new Private;
+ d->formatContext = 0;
+ d->codec = 0;
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++# if LIBAVCODEC_BUILD < AV_VERSION_INT(55,28,1)
++ d->frame = avcodec_alloc_frame();
++# else
++ d->frame = av_frame_alloc();
++# endif
++#else
+ int offset = 0x10 - (reinterpret_cast<intptr_t>(&d->outputBuffer) & 0xf);
+ d->alignedOutputBuffer = &d->outputBuffer[offset];
++#endif
+ }
+
+
+ K3bFFMpegFile::~K3bFFMpegFile()
+ {
+ close();
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++# if LIBAVCODEC_BUILD < AV_VERSION_INT(55,28,1)
++ av_free(d->frame);
++# else
++ av_frame_free(&d->frame);
++# endif
++#endif
+ delete d;
+ }
+
+@@ -326,26 +345,36 @@ int K3bFFMpegFile::fillOutputBuffer()
+ return 0;
+ }
+
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ int gotFrame = 0;
++ int len = ::avcodec_decode_audio4(
++#else
+ d->outputBufferPos = d->alignedOutputBuffer;
+ d->outputBufferSize = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+-
+-#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
++# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
+ int len = ::avcodec_decode_audio3(
+-#else
+-# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO2
+- int len = ::avcodec_decode_audio2(
+ # else
++# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO2
++ int len = ::avcodec_decode_audio2(
++# else
+ int len = ::avcodec_decode_audio(
++# endif
+ # endif
+ #endif
+
+ FFMPEG_CODEC(d->formatContext->streams[0]),
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ d->frame,
++ &gotFrame,
++ &d->packet );
++#else
+ (short*)d->alignedOutputBuffer,
+ &d->outputBufferSize,
+-#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
++# ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO3
+ &d->packet );
+-#else
++# else
+ d->packetData, d->packetSize );
++# endif
+ #endif
+
+ if( d->packetSize <= 0 || len < 0 )
+@@ -355,6 +384,17 @@ int K3bFFMpegFile::fillOutputBuffer()
+ return -1;
+ }
+
++#ifdef HAVE_FFMPEG_AVCODEC_DECODE_AUDIO4
++ if ( gotFrame ) {
++ d->outputBufferSize = ::av_samples_get_buffer_size(
++ NULL,
++ FFMPEG_CODEC(d->formatContext->streams[0])->channels,
++ d->frame->nb_samples,
++ FFMPEG_CODEC(d->formatContext->streams[0])->sample_fmt,
++ 1 );
++ d->outputBufferPos = reinterpret_cast<char*>( d->frame->data[0] );
++ }
++#endif
+ d->packetSize -= len;
+ d->packetData += len;
+ }
+@@ -420,9 +460,9 @@ K3bFFMpegFile* K3bFFMpegWrapper::open( const QString& filename ) const
+ // mp3 being one of them sadly. Most importantly: allow the libsndfile decoder to do
+ // its thing.
+ //
+- if( file->type() == CODEC_ID_WMAV1 ||
+- file->type() == CODEC_ID_WMAV2 ||
+- file->type() == CODEC_ID_AAC )
++ if( file->type() == AV_CODEC_ID_WMAV1 ||
++ file->type() == AV_CODEC_ID_WMAV2 ||
++ file->type() == AV_CODEC_ID_AAC )
+ #endif
+ return file;
+ }
+--
+2.0.5
+