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
Implement the same behaviour as gst_pad_push_event when pushing sticky events
fails, that is don't fail immediately but fail when data flow resumes and upstream
can aggregate properly.
This fixes segment seeks with decodebin and unlinked audio or video branches.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=687899
Add a max-bitrate property that will slightly delay rendering of buffers if it
would exceed the maximum defined bitrate. This can be used to do
rate control on network sinks, for example.
API: GstBaseSink::max-bitrate
API: gst_base_sink_set_max_bitrate()
API: gst_base_sink_get_max_bitrate()
In flush-on-eos=true mode any data remaining in the queue is
discarded when an EOS event is received, and the EOS passed
downstream as soon as possible (instead of waiting for all
buffers in the queue to get processed by downstream first).
May or may not be useful in capture/encoding scenarios.
Large streams would index one frame every second, which can get quite
large with multi-hour streams, so add an additional byte-based
minimum distance as well, which will kick in for long streams
and make sure we never have more than a couple of thousand index
entries.
https://bugzilla.gnome.org/show_bug.cgi?id=666053
Using multiple libraries causes problems for the C# bindings and
will for similiar languages such as Java when there are bindings
for them.
Also change --library=libgstfoo-X.la to --library=gstfoo-X as
the man page suggests it should be done.
https://bugzilla.gnome.org/show_bug.cgi?id=679315