gstreamer/gst
Sebastian Dröge 9326124581 gst: Don't set the locale in gst_init()
The function init_pre() in gstreamer/gst/gst.c calls setlocale(LC_ALL, ""),
which sets the locale to the values specified in the environment.  This is
wrong for two reasons:

1. It is absolutely not the task of a library to decide on the correct locale
for a program.  Some programs change the locale for various (good or bad)
reasons, and libraries should respect that.  Programs where GStreamer's
overwriting of the locale causes bugs include Emacs [1, 2], Sublime Text [3],
and Lua [4].

[1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12392
[2] http://bugzilla.novell.com/show_bug.cgi?id=779426
[3] http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8543
[4] https://github.com/pavouk/lgi/issues/19

Note that setting the locale can cause problems for programs that are not even
linked against GStreamer.  In the case of Emacs, for example, GStreamer seems
to be initialized through GTK via libcanberra.

2. Setting the locale is not thread-safe, and therefore should not be done in a
library.

https://bugzilla.gnome.org/show_bug.cgi?id=685650
2012-11-20 12:56:12 +01:00
..
parse parse: fix up for gst_child_proxy_lookup() only working on child proxy interfaces 2012-08-13 10:27:09 +01:00
.gitignore gstbase: Add gobject-introspection support 2009-09-05 10:28:46 +02:00
gettext.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat-private.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.c Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst-i18n-app.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst-i18n-lib.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst.c gst: Don't set the locale in gst_init() 2012-11-20 12:56:12 +01:00
gst.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst_private.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstallocator.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstallocator.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstatomicqueue.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstatomicqueue.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstbin.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstbin.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstbuffer.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstbuffer.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstbufferlist.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstbufferlist.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstbufferpool.c bufferpool: lock before unlock in _get_config 2012-11-08 09:08:09 +01:00
gstbufferpool.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstbus.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstbus.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstcaps.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstcaps.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstchildproxy.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstchildproxy.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstclock.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstclock.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstcompat.h gstcompat.h: move more deprecated API into the deprecated section 2012-11-17 00:21:37 +00:00
gstconfig.h.in Fix FSF address 2012-11-03 20:44:48 +00:00
gstcontrolbinding.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstcontrolbinding.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstcontrolsource.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstcontrolsource.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstdatetime.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstdatetime.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstdebugutils.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstdebugutils.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstelement.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstelement.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstelementfactory.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstelementfactory.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstelementmetadata.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsterror.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsterror.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstevent.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstevent.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstformat.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstformat.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstghostpad.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstghostpad.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstinfo.c info: fix compiler warning when debugging disabled 2012-11-12 09:29:58 +01:00
gstinfo.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstiterator.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstiterator.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstmacros.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstmemory.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstmemory.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstmessage.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstmessage.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstmeta.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstmeta.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstminiobject.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstminiobject.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstobject.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstobject.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpad.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpad.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpadtemplate.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpadtemplate.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstparamspecs.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstparamspecs.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstparse.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstparse.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpipeline.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpipeline.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstplugin.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstplugin.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpluginfeature.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpluginfeature.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpluginloader.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpluginloader.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpoll.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpoll.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpreset.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpreset.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstquark.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstquark.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstquery.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstquery.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistry.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistry.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrybinary.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrybinary.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrychunks.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrychunks.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstsample.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstsample.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstsegment.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstsegment.h Fix FSF address 2012-11-03 20:44:48 +00:00
gststructure.c Fix FSF address 2012-11-03 20:44:48 +00:00
gststructure.h structure: re-indent header file 2012-11-13 20:45:48 +00:00
gstsystemclock.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstsystemclock.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttaglist.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttaglist.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttagsetter.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttagsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttask.c task: documentation update 2012-11-14 12:25:30 +01:00
gsttask.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttaskpool.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttaskpool.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttoc.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttoc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttocsetter.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttocsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttrace.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttrace.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttypefind.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttypefind.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttypefindfactory.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttypefindfactory.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsturi.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsturi.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstutils.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstutils.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstvalue.c value: API: Add boxed type for GThread 2012-11-12 11:40:59 +01:00
gstvalue.h value: API: Add boxed type for GThread 2012-11-12 11:40:59 +01:00
gstversion.h.in Fix FSF address 2012-11-03 20:44:48 +00:00
Makefile.am Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:35:26 +01:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00