diff options
author | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-04-22 00:21:01 -0300 |
---|---|---|
committer | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-04-22 00:21:45 -0300 |
commit | 03ba34f3a8b51c3bc98632d3e76ae46b828ec5ed (patch) | |
tree | e820c603d45caa6ef849aeb780dd88161f6c74d5 | |
parent | 1c5c49a94ccf180295e7d40bbbdc9fe28ace291f (diff) |
tag: exif: avoid adding empty strings
Fixes assertion with some jpeg files
-rw-r--r-- | gst-libs/gst/tag/gstexiftag.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gst-libs/gst/tag/gstexiftag.c b/gst-libs/gst/tag/gstexiftag.c index eb9168c2b..8200a9f94 100644 --- a/gst-libs/gst/tag/gstexiftag.c +++ b/gst-libs/gst/tag/gstexiftag.c @@ -1285,8 +1285,9 @@ parse_exif_ascii_tag (GstExifReader * reader, const GstExifTagMatch * tag, GST_WARNING ("Failed to parse %s into a datetime tag", utfstr); } } else if (tagtype == G_TYPE_STRING) { - gst_tag_list_add (reader->taglist, GST_TAG_MERGE_REPLACE, tag->gst_tag, - utfstr, NULL); + if (utfstr[0] != '\0') + gst_tag_list_add (reader->taglist, GST_TAG_MERGE_REPLACE, tag->gst_tag, + utfstr, NULL); } else { GST_WARNING ("No parsing function associated to %x(%s)", tag->exif_tag, tag->gst_tag); @@ -1373,8 +1374,9 @@ parse_exif_undefined_tag (GstExifReader * reader, const GstExifTagMatch * tag, gst_sample_unref (sample); gst_buffer_unref (buf); } else if (tagtype == G_TYPE_STRING) { - gst_tag_list_add (reader->taglist, GST_TAG_MERGE_REPLACE, tag->gst_tag, - data, NULL); + if (data[0] != '\0') + gst_tag_list_add (reader->taglist, GST_TAG_MERGE_REPLACE, tag->gst_tag, + data, NULL); } else { GST_WARNING ("No parsing function associated to %x(%s)", tag->exif_tag, tag->gst_tag); |