git » ffmpegthumbnailer.git » commit 5ea041f

FS#26540: rename thumbnailers file; don't use deprecated (removed?) ffmpeg api

author Ronald van Haren
2012-05-20 09:56:58 UTC
committer Ronald van Haren
2012-05-20 09:56:58 UTC
parent 942eb229ab5d3622ab86ac67cb6254a80649f63f

FS#26540: rename thumbnailers file; don't use deprecated (removed?) ffmpeg api

PKGBUILD +9 -4
ffmpegapi_fix_r241.patch +56 -0

diff --git a/PKGBUILD b/PKGBUILD
index 7cc1bae..c611db8 100644
--- a/PKGBUILD
+++ b/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/ffmpegapi_fix_r241.patch b/ffmpegapi_fix_r241.patch
new file mode 100644
index 0000000..37e65b0
--- /dev/null
+++ b/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");
+     }