tags: exif: Fix bug in inner ifd parsing

Do not use the result of inner ifd's parsing to increment
the current tag index. The reasons are:

1) The function returns a boolean.
2) The inner ifd's tags are in a separate table, so they shouldn't
interfere with its parent ifd table parsing.
This commit is contained in:
Thiago Santos 2010-08-11 08:47:57 -03:00
parent c45bf80a0c
commit adcb6e642d

View file

@ -909,15 +909,18 @@ parse_exif_ifd (GstExifReader * exif_reader, gint buf_offset,
continue;
}
/* inner ifd tags handling */
/*
* inner ifd tags handling, errors processing those are being ignored
* and we try to continue the parsing
*/
if (tagdata.tag == EXIF_GPS_IFD_TAG) {
i += parse_exif_ifd (exif_reader,
parse_exif_ifd (exif_reader,
tagdata.offset - exif_reader->base_offset, tag_map_gps);
continue;
}
if (tagdata.tag == EXIF_IFD_TAG) {
i += parse_exif_ifd (exif_reader,
parse_exif_ifd (exif_reader,
tagdata.offset - exif_reader->base_offset, tag_map_exif);
continue;