[tracker-miners] libtracker-extract: Use enumerated constants for Exif metering modes



commit 73a5f9601b3c8b6b0cd743816ecd6fed810aa3a1
Author: Debarshi Ray <debarshir gnome org>
Date:   Wed Jan 3 17:54:08 2018 +0100

    libtracker-extract: Use enumerated constants for Exif metering modes
    
    Based on page 34 of version 2.2 of the Exif standard [1] published by
    JEITA.
    
    [1] http://www.exiv2.org/Exif2-2.PDF
    
    https://bugzilla.gnome.org/show_bug.cgi?id=792178

 src/libtracker-extract/tracker-exif.c |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)
---
diff --git a/src/libtracker-extract/tracker-exif.c b/src/libtracker-extract/tracker-exif.c
index 316d03f..5819db9 100644
--- a/src/libtracker-extract/tracker-exif.c
+++ b/src/libtracker-extract/tracker-exif.c
@@ -57,6 +57,17 @@ enum {
        EXIF_FLASH_DID_NOT_FIRE_AUTO_RED_EYE_REDUCTION = 0x0058,
 };
 
+enum {
+       EXIF_METERING_MODE_UNKNOWN = 0,
+       EXIF_METERING_MODE_AVERAGE = 1,
+       EXIF_METERING_MODE_CENTER_WEIGHTED_AVERAGE = 2,
+       EXIF_METERING_MODE_SPOT = 3,
+       EXIF_METERING_MODE_MULTISPOT = 4,
+       EXIF_METERING_MODE_PATTERN = 5,
+       EXIF_METERING_MODE_PARTIAL = 6,
+       EXIF_METERING_MODE_OTHER = 255,
+};
+
 static gchar *
 get_date (ExifData *exif,
           ExifTag   tag)
@@ -243,18 +254,20 @@ get_metering_mode (ExifData *exif,
                metering = exif_get_short (entry->data, order);
 
                switch (metering) {
-               case 1:
+               case EXIF_METERING_MODE_AVERAGE:
                        return g_strdup ("nmm:metering-mode-average");
-               case 2:
+               case EXIF_METERING_MODE_CENTER_WEIGHTED_AVERAGE:
                        return g_strdup ("nmm:metering-mode-center-weighted-average");
-               case 3:
+               case EXIF_METERING_MODE_SPOT:
                        return g_strdup ("nmm:metering-mode-spot");
-               case 4:
+               case EXIF_METERING_MODE_MULTISPOT:
                        return g_strdup ("nmm:metering-mode-multispot");
-               case 5:
+               case EXIF_METERING_MODE_PATTERN:
                        return g_strdup ("nmm:metering-mode-pattern");
-               case 6:
+               case EXIF_METERING_MODE_PARTIAL:
                        return g_strdup ("nmm:metering-mode-partial");
+               case EXIF_METERING_MODE_UNKNOWN:
+               case EXIF_METERING_MODE_OTHER:
                default:
                        return g_strdup ("nmm:metering-mode-other");
                }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]