author | Ronald van Haren
<ronald@archlinux.org> 2012-05-20 09:56:58 UTC |
committer | Ronald van Haren
<ronald@archlinux.org> 2012-05-20 09:56:58 UTC |
parent | 942eb229ab5d3622ab86ac67cb6254a80649f63f |
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"); + }