mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 06:58:56 +00:00
tag: exif: do not include \0 in size passed to g_convert
When using g_convert, we should only pass the length of the string content (without the \0) as g_convert will only parse the real contents when changing formats. Including the \0 causes it to add another \0, increasing the string size when not needed. For example, when writting a North geo location ref entry, that should be a string with a single N letter, it would write: "N\0\0", causing the string to have size 3, instead of 2 as expected. In our case, we can pass -1 and let g_convert calculate the strlen as we don't use the length anywhere else. This fixes jifmux's tests on gst-plugins-bad.
This commit is contained in:
parent
a3c5abf97f
commit
d798cc1b8d
1 changed files with 1 additions and 5 deletions
|
@ -779,16 +779,12 @@ write_exif_undefined_tag (GstExifWriter * writer, guint16 tag,
|
|||
static void
|
||||
write_exif_ascii_tag (GstExifWriter * writer, guint16 tag, const gchar * str)
|
||||
{
|
||||
gint size;
|
||||
guint32 offset = 0;
|
||||
gchar *ascii_str;
|
||||
gsize ascii_size;
|
||||
GError *error = NULL;
|
||||
|
||||
size = strlen (str) + 1;
|
||||
|
||||
ascii_str =
|
||||
g_convert (str, size, "latin1", "utf8", NULL, &ascii_size, &error);
|
||||
ascii_str = g_convert (str, -1, "latin1", "utf8", NULL, &ascii_size, &error);
|
||||
|
||||
if (error) {
|
||||
GST_WARNING ("Failed to convert exif tag to ascii: 0x%x - %s. Error: %s",
|
||||
|
|
Loading…
Reference in a new issue