comparison src/exif-common.c @ 184:2507418ab7a2

more exiv2 fixes
author nadvornik
date Thu, 14 Feb 2008 14:04:43 +0000
parents 8a417f10ba09
children 0584cb78aa14
comparison
equal deleted inserted replaced
183:3962c9d3d6fd 184:2507418ab7a2
215 gint v; 215 gint v;
216 216
217 if (!exif_get_integer(exif, "Exif.Photo.Flash", &n)) return NULL; 217 if (!exif_get_integer(exif, "Exif.Photo.Flash", &n)) return NULL;
218 218
219 /* Exif 2.1 only defines first 3 bits */ 219 /* Exif 2.1 only defines first 3 bits */
220 // if (n <= 0x07) return exif_text_list_find_value(ExifFlashList, n); 220 if (n <= 0x07) return exif_get_data_as_text(exif, "Exif.Photo.Flash");
221 221
222 /* must be Exif 2.2 */ 222 /* must be Exif 2.2 */
223 string = g_string_new(""); 223 string = g_string_new("");
224 224
225 /* flash fired (bit 0) */ 225 /* flash fired (bit 0) */
291 i++; 291 i++;
292 } 292 }
293 293
294 return exif_get_tag_description_by_key(key); 294 return exif_get_tag_description_by_key(key);
295 } 295 }
296
297 gint exif_get_integer(ExifData *exif, const gchar *key, gint *value)
298 {
299 ExifItem *item;
300
301 item = exif_get_item(exif, key);
302 return exif_item_get_integer(item, value);
303 }
304
305 ExifRational *exif_get_rational(ExifData *exif, const gchar *key, gint *sign)
306 {
307 ExifItem *item;
308
309 item = exif_get_item(exif, key);
310 return exif_item_get_rational(item, sign);
311 }
312
313 gchar *exif_get_data_as_text(ExifData *exif, const gchar *key)
314 {
315 ExifItem *item;
316 gchar *text;
317 gint key_valid;
318
319 if (!key) return NULL;
320
321 text = exif_get_formatted_by_key(exif, key, &key_valid);
322 if (key_valid) return text;
323
324 item = exif_get_item(exif, key);
325 if (item) return exif_item_get_data_as_text(item);
326
327 return NULL;
328 }