mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-30 19:18:31 +00:00
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:
parent
c45bf80a0c
commit
adcb6e642d
1 changed files with 6 additions and 3 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue