diff options
author | Yannick Gicquel <yannick.gicquel@iot.bzh> | 2016-11-10 14:55:11 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2016-11-14 08:39:06 +0000 |
commit | 0c615e0a7d176c53981b3526528c7a61169b5cf1 (patch) | |
tree | 6553376633ca1057d122103e2921e5410855de23 /meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch | |
parent | 3fc6095e75879cb66ca21d1c51140822f0f36ea5 (diff) |
meta-agl-bsp: backport: gstreamer1.0 v1.4.5 recipes
This is a backport from Jethro as meta-rcar-gen3 append on following:
- gstreamer1.0-libav_1.4.5
- gstreamer1.0-omx_1.2.0
- gstreamer1.0-plugins-bad_1.4.5
- gstreamer1.0-plugins-good_1.4.5
v2 (jsmoeller): Move into meta-rcar-gen3 subfolder as it only affects that layer.
Change-Id: Iefc9a2c10e76c172f1cb1f8d3babf3544828310e
Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch')
-rwxr-xr-x | meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch new file mode 100755 index 000000000..ef3f75fba --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch @@ -0,0 +1,54 @@ +Author: Lyon Wang <b12696@freescale.com> +Date: Thu Oct 9 17:37:43 2014 +0800 + +[id3v2frames] Bug fix for id3demux issue + +Fix the issue that id3 tags utf16 charaters cannot be extreacted in id3demux +when I tried to get the id3v2 tag such as TIT2, TALB etc. it will return extrac +failed. + +Checked in id3v2frame.c, When parse the UTF-16 streams, it used g_convert() to +convert the buffer from UTF-16 to UTF-8, however it will return err that this +conversion is not supported which cause the extraction failed with these UTF-16 +characters. + +In the patch, use g_utf16_to_utf8() instead of g_convert, which can convert the +character format successfully. + +https://bugzilla.gnome.org/show_bug.cgi?id=741144 + +Upstream-Status: Backport [1.5.1] + +Signed-off-by: Lyon Wang <b12696@freescale.com> + +diff --git a/gst-libs/gst/tag/id3v2frames.c b/gst-libs/gst/tag/id3v2frames.c +old mode 100644 +new mode 100755 +index 3785c2a..7b9d8ac +--- a/gst-libs/gst/tag/id3v2frames.c ++++ b/gst-libs/gst/tag/id3v2frames.c +@@ -1057,14 +1057,17 @@ parse_insert_string_field (guint8 encoding, gchar * data, gint data_size, + data_size -= 2; + } + +- field = g_convert (data, data_size, "UTF-8", in_encode, NULL, NULL, NULL); +- +- if (field == NULL || g_utf8_validate (field, -1, NULL) == FALSE) { +- /* As a fallback, try interpreting UTF-16 in the other endianness */ +- if (in_encode == utf16beenc) +- field = g_convert (data, data_size, "UTF-8", utf16leenc, +- NULL, NULL, NULL); ++ if (in_encode == utf16beenc) { ++ gunichar2 *data_utf16; ++ guint i; ++ data_utf16 = (gunichar2 *) data; ++ for (i=0; i<(data_size>>1); i++) { ++ data_utf16[i] = GUINT16_TO_LE (data_utf16[i]); ++ } + } ++ //field = g_convert (data, data_size, "UTF-8", in_encode, NULL, NULL, NULL); ++ field = g_utf16_to_utf8((gunichar2 *)data, (glong)(data_size>>1), NULL, NULL, NULL); ++ + } + + break; |