SHA256
1
0
forked from pool/k3b
k3b/k3b-2.0.2-ffmpeg011.patch
Ismail Dönmez f33e8bd8a2 Accepting request 129262 from KDE:Distro:Factory
- Fix build with ffmpeg 0.11. Took from Packman. (forwarded request 128947 from RedDwarf)

OBS-URL: https://build.opensuse.org/request/show/129262
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/k3b?expand=0&rev=47
2012-07-30 15:12:55 +00:00

106 lines
3.5 KiB
Diff

diff -ur k3b-2.0.2.orig/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp
--- k3b-2.0.2.orig/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2011-01-15 21:47:29.000000000 +0100
+++ k3b-2.0.2/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp 2012-05-27 20:30:32.174569308 +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, 0 );
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
- int len = ::avcodec_decode_audio2(
+ #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 );