summaryrefslogtreecommitdiff
path: root/staging/ffmpegthumbnailer
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-08 19:39:26 +0000
committerroot <root@rshg054.dnsready.net>2012-06-08 19:39:26 +0000
commit63bd66056e59c02a988bf17876bd72e27bb4dc8b (patch)
tree9dc5a47228611569e90bbdf40b10943f0e5fc5aa /staging/ffmpegthumbnailer
parent8735a5c54cf26dd5b5b686850f800a4aed49ff78 (diff)
Fri Jun 8 19:39:26 UTC 2012
Diffstat (limited to 'staging/ffmpegthumbnailer')
-rw-r--r--staging/ffmpegthumbnailer/PKGBUILD39
-rw-r--r--staging/ffmpegthumbnailer/ffmpegapi_fix_r241.patch56
-rw-r--r--staging/ffmpegthumbnailer/ffmpegthumbnailer.desktop4
3 files changed, 99 insertions, 0 deletions
diff --git a/staging/ffmpegthumbnailer/PKGBUILD b/staging/ffmpegthumbnailer/PKGBUILD
new file mode 100644
index 000000000..f9afaf39a
--- /dev/null
+++ b/staging/ffmpegthumbnailer/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 23110 2010-08-06 11:01:51Z rvanharen $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: boromil@gmail.com
+
+pkgname=ffmpegthumbnailer
+pkgver=2.0.7
+pkgrel=5
+pkgdesc="Lightweight video thumbnailer that can be used by file managers."
+url="http://code.google.com/p/ffmpegthumbnailer/"
+license=('GPL2')
+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' 'ffmpegapi_fix_r241.patch')
+options=('!libtool')
+sha1sums=('b8f5371aa995fefd1fb75e306e8cd76e8c9f3a73'
+ '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
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ 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.thumbnailer"
+}
diff --git a/staging/ffmpegthumbnailer/ffmpegapi_fix_r241.patch b/staging/ffmpegthumbnailer/ffmpegapi_fix_r241.patch
new file mode 100644
index 000000000..37e65b059
--- /dev/null
+++ b/staging/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");
+ }
diff --git a/staging/ffmpegthumbnailer/ffmpegthumbnailer.desktop b/staging/ffmpegthumbnailer/ffmpegthumbnailer.desktop
new file mode 100644
index 000000000..79203e5bc
--- /dev/null
+++ b/staging/ffmpegthumbnailer/ffmpegthumbnailer.desktop
@@ -0,0 +1,4 @@
+[Thumbnailer Entry]
+TryExec=ffmpegthumbnailer
+Exec=ffmpegthumbnailer -s %s -i %u -o %o -c png -f -t 10
+MimeType=video/flv;video/webm;video/mkv;video/mp4;video/mpeg;video/avi;video/ogg;video/quicktime;video/x-avi;video/x-flv;video/x-mp4;video/x-mpeg;video/x-webm;video/x-mkv;application/x-extension-webm;video/x-matroska;video/x-ms-wmv;video/x-msvideo;video/x-msvideo/avi;video/x-theora/ogg;video/x-theora/ogv;video/x-ms-asf;video/x-m4v;