gstreamer/gst
Tim-Philipp Müller da7847d1ad message, bus: fix async message delivery
Async message delivery (where the posting thread gets blocked
until the message has been processed and/or freed) was pretty
much completely broken.

For one, don't use GMutex implementation details to check
whether a mutex has been initialized or not, esp. not
implementation details that don't hold true any more with
newer GLib versions where atomic ops and futexes are used
(spotted by Josep Torras). This led to async message
delivery no longer blocking with newer GLib versions on
Linux.

Secondly, after async delivery don't free mutex/GCond
embedded inside the just-freed message structure.

Use a new (private) mini object flag to signal GstMessage
that the message being freed is part of an async delivery
on the bus so that the dispose handler can keep the message
alive and the bus can free it once it's done cleaning up
stuff.
2015-02-17 09:52:09 +00:00
..
parse parse: Unref reference to enclosing bins 2014-07-28 08:41:27 -03:00
printf printf: fix handling of old printf extension specifiers for ABI compatibility 2013-04-18 00:46:58 +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: ensure GStreamer initialization debug message is displayed 2014-11-02 18:51:08 +00:00
gst.h gst: include atomicqueue.h again in gst.h 2014-07-26 14:43:34 +01:00
gst_private.h message, bus: fix async message delivery 2015-02-17 09:52:09 +00:00
gstallocator.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstallocator.h docs: unhide docs for allocator 2014-01-31 08:36:55 +01:00
gstatomicqueue.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstatomicqueue.h docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gstbin.c bin: Pass structs we plan to modify around by pointer, not value 2015-01-16 19:17:31 +01:00
gstbin.h docs: cosmetic since marker fixes 2013-11-16 16:09:40 +00:00
gstbuffer.c buffer: Document that gst_buffer_copy_region() accepts -1 as size to copy until the end 2015-01-29 12:10:49 +01:00
gstbuffer.h introspection: add nullability annotations to out and inout params 2014-06-26 18:59:15 +02:00
gstbufferlist.c bufferlist: pre-allocate buffer array in one go with the buffer list 2014-07-24 10:45:23 +01:00
gstbufferlist.h introspection: add nullability annotations to out and inout params 2014-06-26 18:59:15 +02:00
gstbufferpool.c bufferpool: Don't check size in config validation 2014-12-16 10:20:37 -05:00
gstbufferpool.h bufferpool: It's pool, not poo... even when talking about flushing 2014-05-30 09:12:50 +02:00
gstbus.c message, bus: fix async message delivery 2015-02-17 09:52:09 +00:00
gstbus.h bus: Add a function to remove a bus watch 2014-10-14 10:31:18 +02:00
gstcaps.c structure/caps: Add gst_{structure,caps}_filter_and_map_in_place() 2014-12-16 18:22:46 +01:00
gstcaps.h structure/caps: Add gst_{structure,caps}_filter_and_map_in_place() 2014-12-16 18:22:46 +01:00
gstcapsfeatures.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstcapsfeatures.h gst: Store more basic type GTypes in variables 2014-06-19 08:06:55 +02:00
gstchildproxy.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstchildproxy.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstclock-linreg.c clock: Make linear regression x/y base start from maximum observation. 2015-02-07 04:38:39 +11:00
gstclock.c clock: Improve slaving regression. 2015-01-21 22:27:18 +11:00
gstclock.h clock: Add gst_clock_add_observation_unapplied() 2015-01-21 22:27:18 +11:00
gstcompat.h gst: minor docstring fixups to make g-i happy 2013-08-14 07:05:04 +02:00
gstconfig.h.in docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gstcontext.c gst: Store more basic type GTypes in variables 2014-06-19 08:06:55 +02:00
gstcontext.h gst: Store more basic type GTypes in variables 2014-06-19 08:06:55 +02:00
gstcontrolbinding.c Don't compare booleans for equality to TRUE and FALSE 2014-12-01 09:51:37 +01:00
gstcontrolbinding.h docs: fix more gtk-doc warnings 2014-02-01 16:18:13 +01:00
gstcontrolsource.c introspection: fix some minor annotation bugs 2014-06-06 15:15:12 -04:00
gstcontrolsource.h docs: add missing docs, fixing doc errors 2013-12-03 00:11:59 +00:00
gstdatetime.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstdatetime.h datetime: added missing include directives 2014-09-23 19:27:25 +03:00
gstdebugutils.c debugutils: use a constant for the max param length 2014-12-21 14:15:54 +01:00
gstdebugutils.h debugutils: Truncate parameter values that are too long 2014-12-18 17:19:36 +05:30
gstdevice.c docs: Fix documentation typos and inconsistencies 2014-07-09 09:22:11 +02:00
gstdevice.h device: rename "klass" and get_klass() to "device-class" and _get_device_class() 2014-06-21 01:26:46 +01:00
gstdevicemonitor.c Don't compare booleans for equality to TRUE and FALSE 2014-12-01 09:51:37 +01:00
gstdevicemonitor.h devicemonitor: Make it possible to add multiple filters 2014-06-26 21:01:38 -04:00
gstdeviceprovider.c docs: Fix documentation typos and inconsistencies 2014-07-09 09:22:11 +02:00
gstdeviceprovider.h DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
gstdeviceproviderfactory.c docs: Fix documentation typos and inconsistencies 2014-07-09 09:22:11 +02:00
gstdeviceproviderfactory.h devicemonitor: Make it possible to add multiple filters 2014-06-26 21:01:38 -04:00
gstelement.c element: Fix doc and default implementation of send_event 2014-11-28 16:25:02 +01:00
gstelement.h introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstelementfactory.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02: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 fixme: bump leftover 0.11 fixme comments 2014-09-25 21:27:03 +02:00
gsterror.h error: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4 2014-02-11 13:27:25 +01:00
gstevent.c docs: fix typo in GstEvent docs 2015-01-20 10:35:47 -03:00
gstevent.h docs: Update GstQOSType documentation a bit 2014-10-11 12:53:08 +02:00
gstformat.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstformat.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstghostpad.c Don't compare booleans for equality to TRUE and FALSE 2014-12-01 09:51:37 +01:00
gstghostpad.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstinfo.c info: nicer buffer offset printing when offsets are not set 2015-02-16 19:36:11 +00:00
gstinfo.h docs: fix two gtk-doc warnings 2014-12-29 12:05:27 +01:00
gstiterator.c iterator: Fix outdated example code and accompanying documentation 2014-12-27 10:59:31 +00:00
gstiterator.h docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE 2014-05-30 00:20:27 +01:00
gstmacros.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstmemory.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstmemory.h gst: Store more basic type GTypes in variables 2014-06-19 08:06:55 +02:00
gstmessage.c message, bus: fix async message delivery 2015-02-17 09:52:09 +00:00
gstmessage.h message: Work around g-i/pygobject/gjs bug with ~0 in enums 2014-07-03 10:13:28 +02:00
gstmeta.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstmeta.h docs: fix more gtk-doc warnings 2014-02-01 16:18:13 +01:00
gstminiobject.c miniobject: Add missing (nullable) annotations 2014-06-26 19:16:07 +02:00
gstminiobject.h docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gstobject.c gstobject: Add gst_object_has_parent() 2014-11-10 10:03:57 +01:00
gstobject.h gstobject: Add gst_object_has_parent() 2014-11-10 10:03:57 +01:00
gstpad.c pad: Only initialize GValue to a type once, not on every retry 2015-02-16 11:35:41 +02:00
gstpad.h pad: add g-i 'transfer full' annotations to chain and chain_list functions 2014-08-23 12:24:27 +01:00
gstpadtemplate.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 21:21:51 +01:00
gstpadtemplate.h pads: update docs for request pads 2014-05-08 09:13:04 +02:00
gstparamspecs.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 21:21:51 +01:00
gstparamspecs.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstparse.c docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE 2014-05-30 00:20:27 +01:00
gstparse.h docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE 2014-05-30 00:20:27 +01:00
gstpipeline.c pipeline: Reset the start time when going from PAUSED to READY too 2014-07-21 09:33:54 +02:00
gstpipeline.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstplugin.c plugin: add more detail to logging when not loading a plugin 2015-02-02 09:41:06 +01:00
gstplugin.h introspection: add some missing allow-none annotations to in params 2014-06-26 19:00:58 +02:00
gstpluginfeature.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstpluginfeature.h introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstpluginloader.c pluginloader: fix compiler warning on windows 2014-05-14 13:40:03 +01:00
gstpluginloader.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpoll.c poll: Prevent false-negative from WAKE_EVENT() on W32 2014-07-28 09:13:44 +02:00
gstpoll.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstpreset.c preset: fix incorrect preset version comparison 2015-01-14 11:05:01 +01:00
gstpreset.h preset: add gst_preset_is_editable() 2014-12-12 21:49:16 +01:00
gstquark.c query: Add boolean to URI query to specify if a redirect is permanent or not 2014-04-28 10:03:15 +02:00
gstquark.h query: Add boolean to URI query to specify if a redirect is permanent or not 2014-04-28 10:03:15 +02:00
gstquery.c Improve and fix LATENCY query handling 2015-02-11 17:53:04 +02:00
gstquery.h introspection: add nullability annotations to out and inout params 2014-06-26 18:59:15 +02:00
gstregistry.c fixme: bump leftover 0.11 fixme comments 2014-09-25 21:27:03 +02:00
gstregistry.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrybinary.c DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
gstregistrybinary.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistrychunks.c DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
gstregistrychunks.h DeviceProvider: Rename from DeviceMonitor 2014-06-26 14:45:30 -04:00
gstsample.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstsample.h sample: Add gst_sample_copy() 2013-08-21 08:51:34 +02:00
gstsegment.c segment: Add new skip flags for clarifying trick mode playback. 2015-01-27 01:51:58 +11:00
gstsegment.h segment: Add new skip flags for clarifying trick mode playback. 2015-01-27 01:51:58 +11:00
gststructure.c structure/caps: Add gst_{structure,caps}_filter_and_map_in_place() 2014-12-16 18:22:46 +01:00
gststructure.h structure/caps: Add gst_{structure,caps}_filter_and_map_in_place() 2014-12-16 18:22:46 +01:00
gstsystemclock.c Don't compare booleans for equality to TRUE and FALSE 2014-12-01 09:51:37 +01:00
gstsystemclock.h systemclock: Add gst_system_clock_set_default 2013-11-11 12:25:14 +01:00
gsttaglist.c fixme: bump leftover 0.11 fixme comments 2014-09-25 21:27:03 +02:00
gsttaglist.h gst: Store more basic type GTypes in variables 2014-06-19 08:06:55 +02:00
gsttagsetter.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttagsetter.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttask.c build: Check that _MSC_VER macro is defined 2015-02-01 14:23:26 -05:00
gsttask.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttaskpool.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttaskpool.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsttoc.c toc: minor code clean-up 2014-11-02 20:18:38 +00:00
gsttoc.h docs: Fix documentation typos and inconsistencies 2014-07-09 09:22:11 +02:00
gsttocsetter.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02: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 typefind: simplify registration code 2014-10-17 12:41:04 +02:00
gsttypefind.h docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gsttypefindfactory.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gsttypefindfactory.h Fix FSF address 2012-11-03 20:44:48 +00:00
gsturi.c uri: Fix indention 2015-01-22 23:10:06 +02:00
gsturi.h GstUri: Add GstUri miniobject to handle URIs in an RFC 3986 compliant fashion 2014-09-29 12:19:05 +03:00
gstutils.c gstutils: check uri before using it in gst_pad_create_stream_id_internal 2015-02-15 17:35:35 +00:00
gstutils.h docs: gtkdoc is not good at parsing inline functions in headers 2014-02-15 21:27:23 +01:00
gstvalue.c gstvalue: Tidy initialisation 2014-10-20 23:55:47 +11:00
gstvalue.h value: simplify GST_VALUE_HOLDS for our boxed and fundamental types 2014-06-21 01:10:22 +01:00
gstversion.h.in Fix FSF address 2012-11-03 20:44:48 +00:00
Makefile.am clock: Improve slaving regression. 2015-01-21 22:27:18 +11:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00