summaryrefslogtreecommitdiff
path: root/src/jpeg-utils.h
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2015-08-29 18:32:11 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2015-08-29 18:32:11 +0200
commit415fa18ad93493b7073a69cda3af27863537185b (patch)
treee6b1d00bc42efc0f2268bdbe13e4bd9b566c6e57 /src/jpeg-utils.h
parentb57363dbf58c275a7684281022db376ed412601b (diff)
downloadcataract-415fa18ad93493b7073a69cda3af27863537185b.tar.xz
jpeg-utils: Unify media libraries initialization
Both MagickWand and exiv2 needs some initialization and cleanup, move it to jpeg-utils for clean includes in cgg.c. Also add explicit exiv2 XMP initialization as stated on http://dev.exiv2.org/projects/exiv2/wiki/Thread_safety: "The XMP SDK initialization function is not mutex protected, thus Exiv2::XmpParser::initialize is not thread-safe. Therefore, multi-threaded applications need to ensure that this XMP function is serialized, e.g., by calling them from an initialization section which is run before any threads are started." See also https://bugs.kde.org/show_bug.cgi?id=166424
Diffstat (limited to 'src/jpeg-utils.h')
-rw-r--r--src/jpeg-utils.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/jpeg-utils.h b/src/jpeg-utils.h
index 9e4c729..bddb096 100644
--- a/src/jpeg-utils.h
+++ b/src/jpeg-utils.h
@@ -63,6 +63,12 @@ typedef struct {
/*
+ * Thread-safe ImageMagick and exiv2 libraries initialization and cleanup
+ */
+void init_jpeg_utils (void);
+void destroy_jpeg_utils (void);
+
+/*
* EXIF and IPTC info retrieval, keeps the source file open until freed
*/
ExifData * read_exif (const gchar *filename);