summaryrefslogtreecommitdiff
path: root/source/kde/patch/k3b/k3b-ffmpeg3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/kde/patch/k3b/k3b-ffmpeg3.patch')
-rw-r--r--source/kde/patch/k3b/k3b-ffmpeg3.patch138
1 files changed, 0 insertions, 138 deletions
diff --git a/source/kde/patch/k3b/k3b-ffmpeg3.patch b/source/kde/patch/k3b/k3b-ffmpeg3.patch
deleted file mode 100644
index 9c5ac420..00000000
--- a/source/kde/patch/k3b/k3b-ffmpeg3.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-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
-