diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | m4/decoders.m4 | 3 | ||||
-rw-r--r-- | src/video_dec/image.c | 13 | ||||
-rw-r--r-- | src/xine-engine/load_plugins.c | 2 |
4 files changed, 16 insertions, 3 deletions
@@ -69,6 +69,7 @@ xine-lib (1.1.90) (Unreleased) colour controls, zooming, colour keying. xine-lib (1.1.17) 2009-??-?? + * Build fixes related to ImageMagick 6.4 & later. * Enable libmpeg2new. This is not yet production code; the old mpeg2 decoder remains the default. diff --git a/m4/decoders.m4 b/m4/decoders.m4 index d8e3ac571..203d651b5 100644 --- a/m4/decoders.m4 +++ b/m4/decoders.m4 @@ -113,6 +113,9 @@ AC_DEFUN([XINE_DECODER_PLUGINS], [ [test x"$withval" != x"no" && with_imagemagick="yes"]) if test x"$with_imagemagick" != x"no"; then PKG_CHECK_MODULES([WAND], [Wand], [have_imagemagick=yes], [have_imagemagick=no]) + if test "x$with_imagemagick" = 'xno'; then + PKG_CHECK_MODULES([WAND], [MagickWand], [have_imagemagick=yes], [have_imagemagick=no]) + fi if test x"$with_imagemagick" = x"yes" && test x"$have_imagemagick" = x"no"; then AC_MSG_ERROR([ImageMagick support requested, but ImageMagick not found]) fi diff --git a/src/video_dec/image.c b/src/video_dec/image.c index f4d39b5dc..8ef8329cf 100644 --- a/src/video_dec/image.c +++ b/src/video_dec/image.c @@ -50,6 +50,15 @@ #include <xine/xineutils.h> #include "bswap.h" +/* In 6.4.5.4 MagickGetImagePixels changed to MagickGetAuthenticPixels + * But upstream did not update their deprecated compat stuff. + * So do a fun hack to make it work. + * - 2008/11/26 Robin H. Johnson <robbat2@gentoo.org> + */ +#if MagickLibVersion >= 0x645 +#define MagickGetImagePixels MagickGetAuthenticPixels +#endif + typedef struct { video_decoder_class_t decoder_class; @@ -88,7 +97,7 @@ static void image_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { if (buf->decoder_flags & BUF_FLAG_FRAME_END) { int width, height, i; - MagickBooleanType status; + int status; MagickWand *wand; uint8_t *img_buf, *img_buf_ptr; yuv_planes_t yuv_planes; @@ -101,7 +110,7 @@ static void image_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { status = MagickReadImageBlob(wand, this->image, this->index); this->index = 0; - if (status == MagickFalse) { + if (!status) { DestroyMagickWand(wand); lprintf("error loading image\n"); return; diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index 6f5653cb9..ec8af4637 100644 --- a/src/xine-engine/load_plugins.c +++ b/src/xine-engine/load_plugins.c @@ -493,7 +493,7 @@ static void _register_plugins_internal(xine_t *this, plugin_file_t *file, while ( info && info->type != PLUGIN_NONE ) { - if (file) + if (file && file->filename) xine_log (this, XINE_LOG_PLUGIN, _("load_plugins: plugin %s found\n"), file->filename); else |