summaryrefslogtreecommitdiffstats
path: root/gst/apetag
diff options
context:
space:
mode:
Diffstat (limited to 'gst/apetag')
-rw-r--r--gst/apetag/gstapedemux.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gst/apetag/gstapedemux.c b/gst/apetag/gstapedemux.c
index 73f9e467..87c1c675 100644
--- a/gst/apetag/gstapedemux.c
+++ b/gst/apetag/gstapedemux.c
@@ -280,7 +280,11 @@ ape_demux_parse_tags (const guint8 * data, gint size)
gdouble v_double;
gchar *endptr;
- v_double = g_strtod (val, &endptr);
+ /* floating point strings can be "4,123" or "4.123" depending on
+ * the locale. We need to be able to parse and read either version
+ * no matter what our current locale is */
+ g_strdelimit (val, ",", '.');
+ v_double = g_ascii_strtod (val, &endptr);
if (endptr != val) {
g_value_init (&v, G_TYPE_DOUBLE);
g_value_set_double (&v, v_double);