gstreamer/plugins/elements
Edward Hervey 3117525cb6 multiqueue: Fix high_time wakeup logic
When calculating the high_time, cache the group value in each singlequeue.

This fixes the issue by which wake_up_next_non_linked() would use the global
high-time to decide whether to wake-up a waiting thread, instead of the group
one, resulting in those threads constantly spinning.

Tidy up a bit the waiting logic while we're at it.

With this patch, we go from 212% playing a 8 audio / 8 video file down to less
than 10% (most of it being the video decoding).

https://bugzilla.gnome.org/show_bug.cgi?id=770225
2016-08-30 12:28:40 +03:00
..
.gitignore ignore more 2005-06-17 09:12:33 +00:00
gstcapsfilter.c capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks 2016-03-24 14:48:40 +02:00
gstcapsfilter.h capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks 2016-03-24 14:48:40 +02:00
gstconcat.c concat: Fix comment typo 2016-03-14 12:23:12 +02:00
gstconcat.h concat: Add adjust-base property 2015-06-22 14:11:30 +02:00
gstdownloadbuffer.c Make use of the new GST_ELEMENT_FLOW_ERROR API all around. 2016-08-27 09:33:20 -03:00
gstdownloadbuffer.h sparsefile: keep it private as helper API for downloadbuffer 2014-05-13 20:05:55 +01:00
gstelements.c streamiddemux: Add streamiddemux element 2015-03-12 14:42:18 +00:00
gstelements_private.c gst_writev: define UIO_MAXIOV on iOS/OSX 2015-06-11 23:06:26 +01:00
gstelements_private.h plugins: add helper function for writing buffers out with writev() 2014-11-30 14:40:46 +00:00
gstfakesink.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstfakesink.h Revert "Potential GstContext regression" 2013-09-24 12:47:52 +02:00
gstfakesrc.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstfakesrc.h fakesrc: removing unused pattern option 2014-10-02 13:45:34 +01:00
gstfdsink.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstfdsink.h fdsink: implement ::render_list() using writev() 2014-11-30 14:40:46 +00:00
gstfdsrc.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstfdsrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfilesink.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstfilesink.h filesink: indentation fixes 2015-12-09 14:15:26 -08:00
gstfilesrc.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstfilesrc.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstfunnel.c funnel: Only forward sticky events on GAP events if needed 2016-07-07 13:32:39 +03:00
gstfunnel.h funnel: add "forward-sticky-events" property 2015-06-25 10:53:55 +02:00
gstidentity.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstidentity.h identity: add drop-buffer-flags property 2015-11-13 07:37:12 -08:00
gstinputselector.c inputselector: Handle stream-group-done 2016-07-25 20:22:20 +10:00
gstinputselector.h inputselector: Only try to push the first EOS received 2015-04-24 17:19:49 -03:00
gstmultiqueue.c multiqueue: Fix high_time wakeup logic 2016-08-30 12:28:40 +03:00
gstmultiqueue.h multiqueue: Add a pad property to "group" streams 2016-06-30 14:45:10 +02:00
gstoutputselector.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gstoutputselector.h docs: add missing docs, fixing doc errors 2013-12-03 00:11:59 +00:00
gstqueue.c Make use of the new GST_ELEMENT_FLOW_ERROR API all around. 2016-08-27 09:33:20 -03:00
gstqueue.h queue: Use full running time for level calculation 2016-03-24 14:42:31 +02:00
gstqueue2.c Make use of the new GST_ELEMENT_FLOW_ERROR API all around. 2016-08-27 09:33:20 -03:00
gstqueue2.h queue2: Add higher-resolution low/high-watermark properties 2016-08-25 11:54:33 +03:00
gstsparsefile.c sparsefile: drop bogus reference to file descriptor 2015-12-12 13:13:54 -08:00
gstsparsefile.h elements: don't depend on libgio just for g_io_error_from_errno() 2014-05-13 20:06:48 +01:00
gststreamiddemux.c elements: use new gst_element_class_add_static_pad_template() 2016-02-28 13:10:07 +00:00
gststreamiddemux.h docs: add StreamidDemux to documentation 2015-07-08 17:07:49 +01:00
gsttee.c tee: Properly handle return value when only 1 pad 2016-06-17 13:03:20 +03:00
gsttee.h tee: Add allow-not-linked property 2015-03-26 10:46:26 +01:00
gsttypefindelement.c Make use of the new GST_ELEMENT_FLOW_ERROR API all around. 2016-08-27 09:33:20 -03:00
gsttypefindelement.h docs: order and canonicalize the -sections.txt file 2015-07-03 11:52:22 +02:00
gstvalve.c valve: don't send sticky events as a direct response to upstream events 2016-03-24 14:50:50 +02:00
gstvalve.h Fix FSF address 2012-11-03 20:44:48 +00:00
Makefile.am Remove obsolete Android build cruft 2015-04-26 17:49:44 +01:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-19 21:26:14 +01:00