From 63bd66056e59c02a988bf17876bd72e27bb4dc8b Mon Sep 17 00:00:00 2001 From: root Date: Fri, 8 Jun 2012 19:39:26 +0000 Subject: Fri Jun 8 19:39:26 UTC 2012 --- staging/ffmpegthumbnailer/PKGBUILD | 39 +++++++++++++++ staging/ffmpegthumbnailer/ffmpegapi_fix_r241.patch | 56 ++++++++++++++++++++++ .../ffmpegthumbnailer/ffmpegthumbnailer.desktop | 4 ++ 3 files changed, 99 insertions(+) create mode 100644 staging/ffmpegthumbnailer/PKGBUILD create mode 100644 staging/ffmpegthumbnailer/ffmpegapi_fix_r241.patch create mode 100644 staging/ffmpegthumbnailer/ffmpegthumbnailer.desktop (limited to 'staging/ffmpegthumbnailer') 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 +# 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; -- cgit v1.2.3-54-g00ecf