summaryrefslogtreecommitdiff
path: root/extra/ffmpegthumbnailer
diff options
context:
space:
mode:
Diffstat (limited to 'extra/ffmpegthumbnailer')
-rw-r--r--extra/ffmpegthumbnailer/PKGBUILD13
-rw-r--r--extra/ffmpegthumbnailer/ffmpegapi_fix_r241.patch56
2 files changed, 65 insertions, 4 deletions
diff --git a/extra/ffmpegthumbnailer/PKGBUILD b/extra/ffmpegthumbnailer/PKGBUILD
index 7cc1baea4..c611db88b 100644
--- a/extra/ffmpegthumbnailer/PKGBUILD
+++ b/extra/ffmpegthumbnailer/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=ffmpegthumbnailer
pkgver=2.0.7
-pkgrel=3
+pkgrel=4
pkgdesc="Lightweight video thumbnailer that can be used by file managers."
url="http://code.google.com/p/ffmpegthumbnailer/"
license=('GPL2')
@@ -12,14 +12,18 @@ arch=('i686' 'x86_64')
depends=('ffmpeg' 'libjpeg' 'libpng')
optdepends=('gvfs: support for gio uris')
source=("http://ffmpegthumbnailer.googlecode.com/files/$pkgname-$pkgver.tar.gz"
- 'ffmpegthumbnailer.desktop')
+ 'ffmpegthumbnailer.desktop' 'ffmpegapi_fix_r241.patch')
options=('!libtool')
sha1sums=('b8f5371aa995fefd1fb75e306e8cd76e8c9f3a73'
- 'bdd3ae35a5c6f0e1f4b0c7926f72b3429b2eaa53')
+ 'bdd3ae35a5c6f0e1f4b0c7926f72b3429b2eaa53'
+ '4e1a6a0f06ae3ae322ea44046599ebf3ab693cb6')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ # Don't use deprecated (removed?) ffmpeg api
+ patch -Np0 -i "${srcdir}/ffmpegapi_fix_r241.patch"
+
./configure --prefix=/usr --enable-gio
make
}
@@ -29,6 +33,7 @@ package() {
make DESTDIR="${pkgdir}" install
# FS#24105: Generate thumbnails in nautilus
+ # FS#26540: Rename to .thumbnailer for nautilus
install -Dm644 "${srcdir}/ffmpegthumbnailer.desktop" \
- "${pkgdir}/usr/share/thumbnailers/ffmpegthumbnailer.desktop"
+ "${pkgdir}/usr/share/thumbnailers/ffmpegthumbnailer.thumbnailer"
}
diff --git a/extra/ffmpegthumbnailer/ffmpegapi_fix_r241.patch b/extra/ffmpegthumbnailer/ffmpegapi_fix_r241.patch
new file mode 100644
index 000000000..37e65b059
--- /dev/null
+++ b/extra/ffmpegthumbnailer/ffmpegapi_fix_r241.patch
@@ -0,0 +1,56 @@
+--- libffmpegthumbnailer/moviedecoder.cpp.old 2012-05-20 11:57:04.503450287 +0200
++++ libffmpegthumbnailer/moviedecoder.cpp 2012-05-20 11:57:14.633450566 +0200
+@@ -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");
+ }