gstreamer/tests/check/gst
Edward Hervey ebad8c0094 bin: iterate_sorted: Ensure sources are always returned last
For linked elements, the resulting gst_bin_iterate_sorted() will
properly return elements from sink to sources.

If we have some elements that are not linked, we *still* want to
ensure that we return:
* In priority any sinks
* Last of all any sources
* And in between any element which is neither source nor sink

For this to work, when looking for the next candidate element,
not only check the degree order, but if there are two candidates
with the same degree order, prefer the non-source one.

Amongst other things, this fixes the case where we activating a
bin containing unlinked sources and other elements. Without this
we could end up activating sources (which might start adding pads
to be linked) before other (to which those new source element pads
might be linked) are not activated

https://bugzilla.gnome.org/show_bug.cgi?id=788434
2017-10-03 07:56:39 +02:00
..
.gitignore gst: New Stream listing/selection system 2016-06-30 12:31:06 +02:00
capslist.h gstvalue: Add GstFlagSet type 2015-05-25 16:23:33 +10:00
gst.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstabi.c libsabi: Special struct size values for W32 2013-04-09 20:10:46 +02:00
gstatomicqueue.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstbin.c bin: iterate_sorted: Ensure sources are always returned last 2017-10-03 07:56:39 +02:00
gstbuffer.c tests: remove unused valgrind stuff 2016-09-26 12:14:14 +01:00
gstbufferlist.c bufferlist: add gst_buffer_list_calculate_size() 2017-09-17 12:35:25 +01:00
gstbufferpool.c tests: bufferpool: fix wrong assumptions about pointers and object lifecycles 2016-04-10 20:11:00 +01:00
gstbus.c tests: bus: add unit test for async message delivery 2015-02-17 09:52:14 +00:00
gstcaps.c gstvalue: Do more checks when guessing at flagset strings 2017-03-09 12:09:57 +11:00
gstcapsfeatures.c capsfeatures: Add GST_CAPS_FEATURES_ANY 2013-04-02 22:17:22 +02:00
gstchildproxy.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstclock.c gst: ref_sink() some more floating references returned by g_object_new() 2017-05-17 15:36:12 +03:00
gstcontext.c bin: implement context propagation when adding elements 2015-09-28 18:21:59 +10:00
gstcontroller.c gst: Don't ref_sink() GstObject subclasses in instance_init/constructor 2017-05-17 10:40:37 +03:00
gstcpp.cc tests: Add C++ tests for the other INIT macros we have 2016-04-07 20:29:10 +03:00
gstdatetime.c datetime: fix potential out-of-bound read on malformed datetime string 2017-01-15 11:53:41 +00:00
gstdevice.c devicemonitor: don't fail when started without any filters 2014-06-27 10:47:50 +01:00
gstelement.c element: Allow multiple conversion specifiers for request pads 2016-11-01 20:29:03 +02:00
gstelementfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstevent.c events: Implement the stream-group-done event 2016-07-25 20:22:20 +10:00
gstghostpad.c tests: ghostpad: Fix memory leaks 2016-02-29 09:48:36 +02:00
gstindex.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstinfo.c tests:gstinfo: Fix string memory leak 2016-01-25 09:41:41 -03:00
gstiterator.c iterator: Add unit tests for filtering, recursive filtering and locking 2014-01-18 14:48:54 +01:00
gstmemory.c tests: memory: skip test that depends on debug system if it's disabled 2017-07-05 13:19:00 +01:00
gstmessage.c message: Add redirect message 2016-07-25 12:59:21 +03:00
gstmeta.c tests: meta: add test for gst_buffer_iterate_meta*() 2016-12-14 18:19:00 +00:00
gstminiobject.c miniobject: fix ref count leaks in tests 2016-05-05 10:00:23 +03:00
gstobject.c tests: gstobject: fix typo in test name 2016-06-20 11:34:49 +01:00
gstpad.c pad: add test to check handled and drop probes 2017-09-04 14:37:43 +02:00
gstparamspecs.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpipeline.c check/pipeline: Make failure message more informative 2016-11-28 14:11:27 +01:00
gstplugin.c tests: plugin: remove feature refcount assert 2016-06-02 23:05:34 +01:00
gstpoll.c tests: fix locking in gstpoll unit test 2014-07-06 12:10:09 +01:00
gstpreset.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstprintf.c tests: printf: add unit test for %% 2015-04-24 15:19:26 +01:00
gstprotection.c gstreamer: use new gst_element_class_add_static_pad_template() 2016-03-24 14:43:41 +02:00
gstquery.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstregistry.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstsegment.c segment: Modifiy inside segment condition 2017-01-31 15:55:12 +01:00
gststream.c gst: New Stream listing/selection system 2016-06-30 12:31:06 +02:00
gststream.h gst: New Stream listing/selection system 2016-06-30 12:31:06 +02:00
gststructure.c test: Add test for serializing/deserializing NULL strings 2017-04-07 13:49:55 -04:00
gstsystemclock.c gst: ref_sink() some more floating references returned by g_object_new() 2017-05-17 15:36:12 +03:00
gsttag.c tests: fix the tag test 2015-10-05 21:29:49 +02:00
gsttagsetter.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttask.c task: Fix pause/stop race condition 2014-11-12 12:00:48 +01:00
gsttoc.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttocsetter.c Fix FSF address 2012-11-03 20:44:48 +00:00
gsttracerrecord.c tracerrecord: don't leak the spec structures 2016-01-22 10:07:26 +01:00
gsturi.c meson: fix tests build with --werror 2017-06-15 10:53:11 +01:00
gstutils.c utils: Export linear regression calculation as public function 2016-11-28 14:26:50 +02:00
gstvalue.c value: Handle serializing NULL GValueArray 2017-08-26 13:46:58 -03:00
struct_arm.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_hppa.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_i386.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_i386w.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_ppc32.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_ppc64.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_sparc.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00
struct_x86_64.h meta: remove unnecessary padding for GstMetaInfo struct 2016-12-05 20:35:41 +00:00