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;
