summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2009-12-13 13:19:43 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-12-13 13:19:43 +0000
commitd3a9f07669622a6e46069762899686bc871fa112 (patch)
tree5b17aa14437688048914deb8b9af7e167db3d814
parent6c4c8f8670fa3fee644ac18899c264b8065f03f8 (diff)
id3demux: prefer two letter ISO 639-1 code for extended comment
-rw-r--r--gst/id3demux/id3v2frames.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/id3demux/id3v2frames.c b/gst/id3demux/id3v2frames.c
index a91279c41..79fdf61b3 100644
--- a/gst/id3demux/id3v2frames.c
+++ b/gst/id3demux/id3v2frames.c
@@ -276,7 +276,12 @@ parse_comment_frame (ID3TagsWorking * work)
g_ascii_isalpha (language[0]) &&
g_ascii_isalpha (language[1]) &&
(g_ascii_isalpha (language[2]) || language[2] == '\0')) {
- s = g_strdup_printf ("%s[%s]=%s", description, language, text);
+ const gchar *lang_code;
+
+ /* prefer two-letter ISO 639-1 code if we have a mapping */
+ lang_code = gst_tag_get_language_code (language);
+ s = g_strdup_printf ("%s[%s]=%s", description,
+ (lang_code) ? lang_code : language, text);
} else {
s = g_strdup_printf ("%s=%s", description, text);
}