desktop/ffmpegthumbnailer: Fixed build with new ffmpeg

Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
This commit is contained in:
Heinz Wiesinger 2012-08-19 13:34:23 +02:00
parent 0df7171d9c
commit 20c2270322
3 changed files with 63 additions and 3 deletions

View File

@ -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.

View File

@ -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");
}

View File

@ -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 \