Commit graph

7081 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
af3a273c08 gstcompat.h: move more deprecated API into the deprecated section
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-17 00:21:37 +00:00
Philippe Normand
de58036de5 task: documentation update
GStaticRecMutex usage has been replaced by GRecMutex, reflect this
change in the documentation.
2012-11-14 12:25:30 +01:00
Tim-Philipp Müller
abc805ca95 tests: gst_adapter_prev_timestamp -> gst_adapter_prev_pts
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-13 23:11:34 +00:00
Tim-Philipp Müller
cf59bacf6d structure: re-indent header file
Tabs to spaces.
2012-11-13 20:45:48 +00:00
Sebastian Dröge
08e0fcd7b2 value: API: Add boxed type for GThread 2012-11-12 11:40:59 +01:00
Sebastian Rasmussen
7691a82f3a info: fix compiler warning when debugging disabled
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688130
2012-11-12 09:29:58 +01:00
Matthew Waters
718b6b2471 bufferpool: lock before unlock in _get_config
Fixes deadlock on Windows

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687896
2012-11-08 09:08:09 +01:00
Tim-Philipp Müller
666c8c11c6 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Tim-Philipp Müller
37e405763c pad: downgrade 'creating random stream-id' debug log message
No need for it to be a warning.
2012-10-29 11:30:30 +00:00
Tim-Philipp Müller
bab8ed6b8a pluginfeature: add gst_plugin_feature_get_plugin_name()
API: gst_plugin_feature_get_plugin_name()

https://bugzilla.gnome.org/show_bug.cgi?id=571832
2012-10-28 15:53:19 +00:00
Tim-Philipp Müller
3d5f6202af info: allow setting of GST_DEBUG levels by name
e.g. GST_DEBUG=*:INFO,*src:LOG
2012-10-27 14:40:14 +01:00
Thibault Saunier
58560931db gst: make us of the new gst_debug_set_threshold_from_string function
https://bugzilla.gnome.org/show_bug.cgi?id=679152
2012-10-27 13:43:00 +01:00
Thibault Saunier
e513ed1810 info: add a function to set debug threshold from a GST_DEBUG-style string
Use the same format as with the GST_DEBUG environment variable.

API: gst_debug_set_threshold_from_string()

https://bugzilla.gnome.org/show_bug.cgi?id=679152
2012-10-27 13:42:51 +01:00
Sebastian Dröge
e683cf0596 event: Allow GST_CLOCK_TIME_NONE as duration for GAP events 2012-10-24 11:46:39 +02:00
Miguel Angel Cabrera Moya
3ae671fb9b allocator: fix memory leak in _fallback_mem_copy
https://bugzilla.gnome.org/show_bug.cgi?id=686658
2012-10-22 19:59:29 +01:00
Miguel Angel Cabrera Moya
ef552507fa preset: remove variable not read
https://bugzilla.gnome.org/show_bug.cgi?id=686659
2012-10-22 19:55:43 +01:00
Sebastian Dröge
32d7d5923b info: Don't use GST_DEBUG() in gst_debug_add_log_function() and related functions unconditionally
If GStreamer was not initialized yet this will cause g_warnings().
2012-10-22 10:26:49 +02:00
Tim-Philipp Müller
bf2452d776 g_type_init() is no longer required and deprecated in glib >= 2.35.0
https://bugzilla.gnome.org/show_bug.cgi?id=686456
2012-10-20 12:56:30 +01:00
Michael Smith
017b34079e GstSample: fix typo in G-I annotations, allows creating GstSamples from bindings. 2012-10-19 13:37:08 -07:00
Sebastian Dröge
3690f9a830 poll: Fix compiler warning about constness
passing argument 1 of 'g_mutex_lock' discards 'const' qualifier from pointer target type
passing argument 1 of 'g_mutex_unlock' discards 'const' qualifier from pointer target type
2012-10-18 15:31:49 +02:00
Tim-Philipp Müller
28604c197b bin, pipeline: use gst_element_class_set_static_metadata()
So the strings aren't copied.
2012-10-17 16:49:19 +01:00
Sebastian Dröge
1c4fe1bf1a element: API: Add GstElement::post_message() vfunc
Conflicts:
	gst/gstelement.h
2012-10-16 12:35:56 +02:00
Wim Taymans
67a575ba08 query: buffering time left is in milliseconds 2012-10-11 17:09:29 +02:00
Sebastian Dröge
3f9516cef8 pad: Downgrade GST_WARNING to GST_INFO
It's usually not a problem if a query fails if there's no peer,
especially as it will happen during pad linking (caps query)
quite often and spams the logs.
2012-10-10 11:34:27 +02:00
Wim Taymans
1d6ae92be7 pad: small docs fixes and remove a 0.11 fixme 2012-10-09 10:24:34 +02:00
Wim Taymans
d630a115f9 pad: resend dropped events
If we try to push sticky events but a probe dropped them, we don't mark
the event as received and mark the pad as PENDING_EVENTS. This ensures
that we resend the event the next time. For this we need to let the
custom flow return from the probe trickle up to
gst_pad_push_event_unchecked() so that we can differentiate between
OK and DROPPED probe returns.
2012-10-05 09:51:58 +02:00
Wim Taymans
0ae3492f6b pad: don't store sticky events on flushing/EOS pads
Don't store sticky events on flushing or EOS pads. This was done
correctly for source pads but not for sink pads.
2012-10-05 09:51:29 +02:00
Wim Taymans
ebacdfbaa6 meta: don't put essential logic in g_return_val_* 2012-10-03 13:49:34 +02:00
Wim Taymans
10c8586902 meta: handle multiple implementation registration
First check that we can actually register the implementation before
making a GstMetaInfo. If we can't register we would otherwise end
up with an undefined type and an invalid GstMetaInfo.

It's possible that type registration fails because another metadata
with the same implementation name was already registered.
2012-10-03 13:35:20 +02:00
Wim Taymans
5d64c5ce5a docs: some 0.10 -> 1.0 changes 2012-10-02 13:22:35 +02:00
Tim-Philipp Müller
507fc9cea7 value: avoid duplicates when intersecting lists
Fixes negotiation taking a ridiculous amount of
time (multiple 10s of seconds on a core2) when
there are duplicate entries in lists.

Could have a negative performance impact on other
scenarios because we now have to iterate the
dest list to avoid duplicates, but we don't
have a lot of lists any more these days, and
they tend to be small anyway. The negatives
are hopefully countered by the positive effects
of reducing the list length early on in the
process. And in any case, it's the right thing
to do.

Based on patch by Andre Moreira Magalhaes.

https://bugzilla.gnome.org/show_bug.cgi?id=684981
2012-09-29 14:35:58 +01:00
Olivier Crête
fd846a7c64 miniobject: Always reject WRITE locks on READONLY miniobjects
Verify that mapping a read-only memory as read doesnt make it writable
2012-09-28 17:12:14 -04:00
Wim Taymans
ef012f8e58 pad: fix activate docs 2012-09-28 10:41:54 +02:00
Olivier Blin
4710b36bda info: do not register printf extension for %p
This happened when glib was not using system printf, and caused the
internal gstreamer printf extensions to be used for all %p printfs,
causing crashes.

https://bugzilla.gnome.org/show_bug.cgi?id=684970
2012-09-27 23:58:32 +01:00
Wim Taymans
2cf4689503 ghostpad: also ref the internal pad for activate functions
Also take a ref to the internal pad in the activate functions
2012-09-27 11:06:06 +02:00
Olivier Crête
e60ee132ce proxypad: Hold a reference to the internal pad while pushing through it
https://bugzilla.gnome.org/show_bug.cgi?id=684809
2012-09-27 10:53:45 +02:00
Mark Nauwelaerts
5e928fa56e uri: use proper 'transfer floating' annotation
https://bugzilla.gnome.org/show_bug.cgi?id=664099
2012-09-26 14:15:01 +02:00
Mark Nauwelaerts
cc41130664 segment: mark GstSegmentFlags as flags rather than enum
... which really makes a difference when trying to serialize
a flags value which is a combination of flags, which is hard
to do as an enum type.
2012-09-26 10:55:48 +02:00
Sebastian Dröge
24cad1a91c elementfactory: Fail if no valid element factory metadata is set 2012-09-25 15:10:32 +02:00
Sebastian Dröge
cfc7661f65 plugin: Fail if no valid plugin metadata is set 2012-09-25 15:10:32 +02:00
Tim-Philipp Müller
e7a77927ff taglist: fix typo in translated string
Spotted by Chris Leonard.

https://bugzilla.gnome.org/show_bug.cgi?id=684755
2012-09-25 13:14:53 +01:00
Sebastian Dröge
4638a49db8 pluginfeature: Remove 0.11.9X->1.0.0 version mangling 2012-09-25 09:27:59 +02:00
Mark Nauwelaerts
a722212dc9 object: update controller documentation 2012-09-21 21:13:13 +02:00
Olivier Crête
945e0d2be9 pad: Remove pad probes only once
Also add test to make sure that if a pad probe is removed while it's
callback is running, the cleanup_hook isn't called again if it
returns GST_PAD_PROBE_REMOVE
2012-09-20 15:24:33 -04:00
Olivier Crête
25b3e02b94 pad: Add functions to safely access GstProbeInfo data pointer
This is so that introspection based bindings can access it.

https://bugzilla.gnome.org/show_bug.cgi?id=684402
2012-09-20 15:24:33 -04:00
Sebastian Dröge
8f51345296 pad: Fix refcount bug by unreffing the correct variable 2012-09-18 12:46:37 +02:00
Tim-Philipp Müller
ca90ea6e55 Remove GST_USE_UNSTABLE_API guard and defines 2012-09-17 13:35:26 +01:00
Sebastian Dröge
de635d089f pad: Add parent parameter to the link and unlink functions
Fixes part of bug #683995.
2012-09-17 13:24:36 +02:00
Tim-Philipp Müller
c2175db889 sample: add serialisation/deserialisation functions for GstSample
Since these things are inside taglists now, it would be good to be
able to print them and deserialise them.

https://bugzilla.gnome.org/show_bug.cgi?id=681322
2012-09-16 23:20:46 +01:00