[FFmpeg-devel] [PATCH] Adds support parsing the QuickTime Metadata Keys.
wm4
nfxjfg at googlemail.com
Sun Oct 25 13:06:34 CET 2015
On Sun, 25 Oct 2015 12:39:08 +0100
Nicolas George <george at nsup.org> wrote:
> Le quartidi 4 brumaire, an CCXXIV, Derek Buitenhuis a écrit :
> > Perhaps wm4 or Michael or someone can chime in... I don't know of a single good
> > way to handle this. Just failing if the locale has a radix point as a comma instead
> > of a period seems less bad than mucking with the thread/process locale inside a
> > library.
>
> Personally, I consider that users setting locale variables other than
> LC_CTYPE and LC_MESSAGES mean literally "please break random programs on my
> system"; I am convinced of this since more than fifteen years when initing
> Gtk in the OCaml toplevel would cause "let pi = 3.14" to set pi to 3.0.
Well, I'm not sure if this only affects LC_NUMERIC and maybe LC_COLLATE?
On the other hand, setting LC_CTYPE could have some bad effects too.
> Therefore, my opinion on this is: let us document that for all FFmpeg
> libraries, setting any locale except these two to anything other than
> C/POSIX yields undefined behaviours.
I'd be fine with that, but then we should maybe check the current
locale for sanity at certain points, and raise a clear error if it's
broken.
Many programs set locale by default, including GUI toolkits like Qt (!).
Qt in particular document this explicitly:
http://doc.qt.io/qt-5/qcoreapplication.html#locale-settings
So we shouldn't silently break everything. But again, breaking loudly
is ok IMHO.
> If people want to write applications using various locales, they should use
> the version with explicit locale argument introduced in the latest version
> of the standard.
You could demand the same from FFmpeg. It's impractical because not all
systems support these functions.
PS:
I think we don't need to block the patch on this issue anymore, because:
1. We don't have any workarounds in place this patch could use,
2. Lots of other code is probably affected anyway
More information about the ffmpeg-devel
mailing list