Author: krejzi
Date: 2012-10-26 03:56:43 -0600 (Fri, 26 Oct 2012)
New Revision: 2547
Added:
trunk/k3b/k3b-2.0.2-ffmpeg_fix-2.patch
Log:
Add new k3b patch.
Added: trunk/k3b/k3b-2.0.2-ffmpeg_fix-2.patch
===================================================================
--- trunk/k3b/k3b-2.0.2-ffmpeg_fix-2.patch (rev 0)
+++ trunk/k3b/k3b-2.0.2-ffmpeg_fix-2.patch 2012-10-26 09:56:43 UTC (rev
2547)
@@ -0,0 +1,110 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2012-10-26
+Initial Package Version: 2.0.2
+Upstream Status: Fixed upstream.
+Origin: Archlinux.
+Description: Fixes building with newer versions of FFmpeg.
+
+--- k3b.orig/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2011-01-15
21:47:29.000000000 +0100
++++ k3b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2012-10-26
11:53:54.396490345 +0200
+@@ -88,7 +88,7 @@
+ close();
+
+ // open the file
+- int err = ::av_open_input_file( &d->formatContext,
m_filename.toLocal8Bit(), 0, 0, 0 );
++ int err = ::avformat_open_input( &d->formatContext,
m_filename.toLocal8Bit(), 0, NULL);
+ if( err < 0 ) {
+ kDebug() << "(K3bFFMpegFile) unable to open " << m_filename << " with
error " << err;
+ return false;
+@@ -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;
+ }
+@@ -137,7 +143,7 @@
+ }
+
+ // dump some debugging info
+- ::dump_format( d->formatContext, 0, m_filename.toLocal8Bit(), 0 );
++ ::av_dump_format( d->formatContext, 0, m_filename.toLocal8Bit(), 0 );
+
+ return true;
+ }
+@@ -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
++ #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 );
--
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page