return NULL;
}
-static bool __media_svc_get_exif_int(ExifData *ed, ExifTag tagtype, int *value)
+static bool __media_svc_get_exif_short(ExifData *ed, ExifTag tagtype, unsigned short *value)
{
ExifEntry *entry;
entry = exif_data_get_entry(ed, tagtype);
media_svc_retv_if(!entry, false);
-
- short exif_value = exif_get_short(entry->data, exif_data_get_byte_order(ed));
- media_svc_retv_if(exif_value < 0, false);
- *value = (int)exif_value;
+ *value = exif_get_short(entry->data, exif_data_get_byte_order(ed));
return true;
}
int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
{
- int orient_value = 0;
- int exif_width = 0;
- int exif_height = 0;
+ unsigned short orient_value = 0;
+ unsigned short exif_width = 0;
+ unsigned short exif_height = 0;
ExifData *ed = NULL;
media_svc_retvm_if(!content_info, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid content_info");
content_info->media_meta.datetaken = __media_svc_get_exif_datetaken(ed);
- if (__media_svc_get_exif_int(ed, EXIF_TAG_ORIENTATION, &orient_value)) {
- if (orient_value >= NOT_AVAILABLE && orient_value <= ROT_270)
+ if (__media_svc_get_exif_short(ed, EXIF_TAG_ORIENTATION, &orient_value)) {
+ if (orient_value <= ROT_270)
content_info->media_meta.orientation = orient_value;
}
- if (__media_svc_get_exif_int(ed, EXIF_TAG_PIXEL_X_DIMENSION, &exif_width))
- content_info->media_meta.width = exif_width;
+ if (__media_svc_get_exif_short(ed, EXIF_TAG_PIXEL_X_DIMENSION, &exif_width))
+ content_info->media_meta.width = (unsigned int)exif_width;
- if (__media_svc_get_exif_int(ed, EXIF_TAG_PIXEL_Y_DIMENSION, &exif_height))
- content_info->media_meta.height = exif_height;
+ if (__media_svc_get_exif_short(ed, EXIF_TAG_PIXEL_Y_DIMENSION, &exif_height))
+ content_info->media_meta.height = (unsigned int)exif_height;
exif_data_unref(ed);