gstreamer/gst
Vincent Penquerc'h a3b42ec42a bin: undo upward state changes on children when a child fails
When a bin changes states upwards, and a child fails to change,
any child that was already switched will not be reset to its
original state, leaving its state inconsistent with the bin,
which does not change state due to the failure.

If the state change was from NULL to READY, it means that deleting
this bin will cause those children to be deleted while not in
NULL state, which is a Bad Thing. For other upward changes, it
is less of a problem, as a subsequent switch back to NULL will
cause an actual downwards change on those inconsistent elements,
albeit from the "wrong" state.

We now reset state to the original one when a child fails.

Includes unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=747610
2015-04-15 16:00:21 +01:00
..
parse parse: check before truncating strings 2015-03-27 17:16:07 +00:00
printf printf: handle unsigned modifier for long long 2015-03-12 15:23:20 +00: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 segment: remove the bounds check from _to_running_time_full() 2015-03-20 09:00:47 +01:00
gst.h GstDeviceMonitor: keep alphabetical order 2015-02-23 12:24:16 +00:00
gst_private.h debugutils: nicer printing of caps features 2015-04-01 12:15:30 +01: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: undo upward state changes on children when a child fails 2015-04-15 16:00:21 +01:00
gstbin.h docs: cosmetic since marker fixes 2013-11-16 16:09:40 +00:00
gstbuffer.c buffer: Use the correct enum type to fix a compiler warning 2015-03-14 13:37:09 +00:00
gstbuffer.h gstbuffer: add gst_buffer_copy_deep 2015-03-13 18:37:04 +00:00
gstbufferlist.c bufferlist: make sure list is writable before adding or removing buffers 2015-04-08 09:51:18 +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 stop the pool in set_config() 2015-03-14 12:00:53 +00:00
gstbufferpool.h bufferpool: It's pool, not poo... even when talking about flushing 2014-05-30 09:12:50 +02:00
gstbus.c bus: Add guards against invalid arguments to set_flushing() and poll() 2015-03-27 10:15:45 +01:00
gstbus.h bus: Add a function to remove a bus watch 2014-10-14 10:31:18 +02:00
gstcaps.c debugutils: nicer printing of caps features 2015-04-01 12:15:30 +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: nicer printing of caps features 2015-04-01 12:15:30 +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: Document when a clock is available from gst_element_get_clock() 2015-04-02 17:33:22 -04:00
gstelement.h element: Add a FIXME for 2.0 about request_new_pad VS request_pad naming 2015-04-02 09:48:02 +02:00
gstelementfactory.c elementfactory: add ENCRYPTOR class defines 2015-04-14 17:51:05 +01:00
gstelementfactory.h elementfactory: add ENCRYPTOR class defines 2015-04-14 17:51:05 +01: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 docs: fix cross-reference to environment variables in GstInfo 2015-04-06 18:56:25 +01: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 memory: add check for writablity in resize 2015-04-06 13:32:20 +01:00
gstmemory.h gst: Store more basic type GTypes in variables 2014-06-19 08:06:55 +02:00
gstmessage.c message: revive async delivery message before bus thread can run unref 2015-02-17 20:49:53 +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: Print debug output from gst_pad_link_full() if preparing linking failed 2015-04-04 18:33:50 -07: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: Add binding friendly gst_pipeline_get_pipeline_clock() 2015-04-02 17:33:22 -04:00
gstpipeline.h pipeline: Add binding friendly gst_pipeline_get_pipeline_clock() 2015-04-02 17:33:22 -04: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 typos 2015-03-25 23:36:54 +00: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 allocation: Allow allocation pool without size 2015-03-14 12:00:53 +00: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 gst_segment_is_equal 2015-04-03 12:10:33 +01:00
gstsegment.h segment: small docs addition 2015-04-04 19:32:27 +01: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: Silence a compiler warning 2015-04-03 19:12:48 -04: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 utils: Add gst_bin_sync_children_states() 2015-03-13 12:50:48 +00:00
gstutils.h utils: Add gst_bin_sync_children_states() 2015-03-13 12:50:48 +00:00
gstvalue.c gstvalue: reset errno before g_ascii_strtoull call 2015-04-13 11:39:59 +01:00
gstvalue.h gstvalue: Make sure GST_FOURCC_ARGS produces printable characters 2015-02-26 07:49:05 +01:00
gstversion.h.in Fix FSF address 2012-11-03 20:44:48 +00:00
Makefile.am introspection: Don't use g-ir-scanner cache at compile time 2015-03-31 11:16:09 +02:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00