aboutsummaryrefslogtreecommitdiff
path: root/desktop/ffmpegthumbnailer
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/ffmpegthumbnailer')
-rw-r--r--desktop/ffmpegthumbnailer/README2
-rw-r--r--desktop/ffmpegthumbnailer/ffmpeg.patch58
-rw-r--r--desktop/ffmpegthumbnailer/ffmpegthumbnailer.SlackBuild6
3 files changed, 63 insertions, 3 deletions
diff --git a/desktop/ffmpegthumbnailer/README b/desktop/ffmpegthumbnailer/README
index b3431abc350ed..127d8f1bd4a23 100644
--- a/desktop/ffmpegthumbnailer/README
+++ b/desktop/ffmpegthumbnailer/README
@@ -2,5 +2,3 @@ FFmpegthumbnailer is a lightweight video thumbnailer that can be used by file
managers to create thumbnails for your video files. The thumbnailer uses
ffmpeg to decode frames from the video files, so supported videoformats
depend on the configuration flags of ffmpeg.
-
-This requires ffmpeg.
diff --git a/desktop/ffmpegthumbnailer/ffmpeg.patch b/desktop/ffmpegthumbnailer/ffmpeg.patch
new file mode 100644
index 0000000000000..f3167d40f322a
--- /dev/null
+++ b/desktop/ffmpegthumbnailer/ffmpeg.patch
@@ -0,0 +1,58 @@
+Index: libffmpegthumbnailer/moviedecoder.cpp
+===================================================================
+--- libffmpegthumbnailer/moviedecoder.cpp (revision 240)
++++ libffmpegthumbnailer/moviedecoder.cpp (revision 241)
+@@ -58,19 +58,26 @@
+ void MovieDecoder::initialize(const string& filename)
+ {
+ av_register_all();
+- avcodec_init();
+ avcodec_register_all();
+
+ string inputFile = filename == "-" ? "pipe:" : filename;
+ m_AllowSeek = (filename != "-") && (filename.find("rtsp://") != 0);
+-
++
++#if LIBAVCODEC_VERSION_MAJOR < 53
+ if ((!m_FormatContextWasGiven) && av_open_input_file(&m_pFormatContext, inputFile.c_str(), NULL, 0, NULL) != 0)
++#else
++ if ((!m_FormatContextWasGiven) && avformat_open_input(&m_pFormatContext, inputFile.c_str(), NULL, NULL) != 0)
++#endif
+ {
+ destroy();
+ throw logic_error(string("Could not open input file: ") + filename);
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 53
+ if (av_find_stream_info(m_pFormatContext) < 0)
++#else
++ if (avformat_find_stream_info(m_pFormatContext, NULL) < 0)
++#endif
+ {
+ destroy();
+ throw logic_error(string("Could not find stream information"));
+@@ -90,8 +97,12 @@
+
+ if ((!m_FormatContextWasGiven) && m_pFormatContext)
+ {
++#if LIBAVCODEC_VERSION_MAJOR < 53
+ av_close_input_file(m_pFormatContext);
+ m_pFormatContext = NULL;
++#else
++ avformat_close_input(&m_pFormatContext);
++#endif
+ }
+
+ if (m_pPacket)
+@@ -159,7 +170,11 @@
+
+ m_pVideoCodecContext->workaround_bugs = 1;
+
++#if LIBAVCODEC_VERSION_MAJOR < 53
+ if (avcodec_open(m_pVideoCodecContext, m_pVideoCodec) < 0)
++#else
++ if (avcodec_open2(m_pVideoCodecContext, m_pVideoCodec, NULL) < 0)
++#endif
+ {
+ throw logic_error("Could not open video codec");
+ }
diff --git a/desktop/ffmpegthumbnailer/ffmpegthumbnailer.SlackBuild b/desktop/ffmpegthumbnailer/ffmpegthumbnailer.SlackBuild
index ba02e2dfb93d5..45edb813552e0 100644
--- a/desktop/ffmpegthumbnailer/ffmpegthumbnailer.SlackBuild
+++ b/desktop/ffmpegthumbnailer/ffmpegthumbnailer.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for FFmpegthumbnailer
# Copyright 2007-2009 Frank Caraballo <fecaraballo{at}gmail{dot}com>
+# Copyright 2012 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +25,7 @@
PRGNAM=ffmpegthumbnailer
VERSION=${VERSION:-2.0.7}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -69,6 +70,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Fix building against newer ffmpeg versions
+patch -p0 -i $CWD/ffmpeg.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \