EogExifData * eog_exif_data_copy (EogExifData *data) { exif_data_ref (data); return data; }
EomExifData * eom_exif_data_copy (EomExifData *data) { exif_data_ref (data); return data; }
ExifData * jpeg_data_get_exif_data (JPEGData *data) { JPEGSection *section; if (!data) return NULL; section = jpeg_data_get_section (data, JPEG_MARKER_APP1); if (section) { exif_data_ref (section->content.app1); return (section->content.app1); } return (NULL); }
void jpeg_data_set_exif_data (JPEGData *data, ExifData *exif_data) { JPEGSection *section; section = jpeg_data_get_section (data, JPEG_MARKER_APP1); if (!section) { jpeg_data_append_section (data); memmove (&data->sections[2], &data->sections[1], data->count - 2); section = &data->sections[1]; } section->marker = JPEG_MARKER_APP1; section->content.app1 = exif_data; exif_data_ref (exif_data); }
void jpeg_data_set_exif_data (JPEGData *data, ExifData *exif_data) { JPEGSection *section; if (!data) return; section = jpeg_data_get_section (data, JPEG_MARKER_APP1); if (!section) { jpeg_data_append_section (data); if (data->count < 2) return; memmove (&data->sections[2], &data->sections[1], sizeof (JPEGSection) * (data->count - 2)); section = &data->sections[1]; } else { exif_data_unref (section->content.app1); } section->marker = JPEG_MARKER_APP1; section->content.app1 = exif_data; exif_data_ref (exif_data); }