diff --git a/ChangeLog b/ChangeLog index 1ada9b5d9c..930df71f29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-01-30 Sebastian Dröge + + * configure.ac: + * ext/metadata/metadataxmp.c: + (metadatamux_xmp_for_each_tag_in_list): + Fix build with exempi >= 1.99.5 and fix the include + path for exempi. + 2008-01-30 Edgard Lima * ext/metadata/TODO: diff --git a/configure.ac b/configure.ac index 20b96a6f89..97ec66f681 100644 --- a/configure.ac +++ b/configure.ac @@ -519,15 +519,10 @@ AG_GST_CHECK_FEATURE(METADATA, [METADATA muxer and demuxer], metadata, [ PKG_CHECK_MODULES(IPTC, libiptcdata >= 1.0.2, HAVE_IPTC="yes", [ HAVE_IPTC="no" ]) - AC_CHECK_HEADER(exempi-2.0/exempi/xmp.h, - [ - AC_CHECK_LIB(exempi, xmp_init, - [ - HAVE_XMP="yes" - XMP_CFLAGS="-I/usr/local/include/exempi-2.0/exempi/" - XMP_LIBS="-lexempi" - ], HAVE_XMP="no") - ], HAVE_XMP="no") + PKG_CHECK_MODULES(XMP, exempi-2.0, HAVE_XMP="yes", [ + HAVE_XMP="no" + ]) + PKG_CHECK_MODULES(XMP_1_99_5, exempi-2.0 >= 1.99.5, XMP_CFLAGS="-DXMP_1_99_5 $XMP_CFLAGS", AC_MSG_RESULT(no)) if test x$HAVE_EXIF = xyes; then METADATA_CFLAGS="-DHAVE_EXIF $EXIF_CFLAGS $METADATA_CFLAGS" METADATA_LIBS="$EXIF_LIBS $METADATA_LIBS -lm" diff --git a/ext/metadata/metadataxmp.c b/ext/metadata/metadataxmp.c index 8ea71d0a85..6226ba8ec4 100644 --- a/ext/metadata/metadataxmp.c +++ b/ext/metadata/metadataxmp.c @@ -127,7 +127,7 @@ metadatamux_xmp_create_chunk_from_tag_list (guint8 ** buf, guint32 * size, * includes */ -#include +#include #include /* @@ -829,13 +829,21 @@ metadatamux_xmp_for_each_tag_in_list (const GstTagList * list, NULL, &options)) { if (XMP_IS_PROP_SIMPLE (options)) { +#ifdef XMP_1_99_5 + xmp_set_property (xmp, smap->schema, stagmap->xmp_tag, value, 0); +#else xmp_set_property (xmp, smap->schema, stagmap->xmp_tag, value); +#endif } else { xmp_set_array_item (xmp, smap->schema, stagmap->xmp_tag, 1, value, 0); } } else { +#ifdef XMP_1_99_5 + xmp_set_property (xmp, smap->schema, stagmap->xmp_tag, value, 0); +#else xmp_set_property (xmp, smap->schema, stagmap->xmp_tag, value); +#endif } g_free (value);