pad: rework pad blocking, first part
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 27 May 2011 15:20:56 +0000 (17:20 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 27 May 2011 15:37:20 +0000 (17:37 +0200)
commit415da89f3c9fe46fc3361236df9a3b76e607e138
treeb8335a043c14b08f4591223d6a8f17e7c8ecef37
parent690c81b95d705e0913e0c9621417f106c1b8b4c7
pad: rework pad blocking, first part

Make pad block call the callback as soon as the pad is not in use. This makes it
possible to make sure that when the callback is called, no activity is happening
on the pad and that no activity will ever happen until the pad is unblocked
again. This makes pad blocking work when there is no dataflow or after EOS and
greatly helps dynamic pipelines.
Move the probe handling right where we wait on the pad block. The two are
related but not the same and the probe can eventually influence the pad
blocking as we'll se later.
Fix up some broken unit tests or tests that fail with the new behaviour.
gst/gstpad.c
tests/check/elements/fakesink.c
tests/check/generic/sinks.c
tests/check/gst/gstghostpad.c
tests/check/gst/gstpad.c