pad: rework sticky events
authorWim Taymans <wim.taymans@collabora.co.uk>
Tue, 22 Nov 2011 17:32:51 +0000 (18:32 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 22 Nov 2011 17:40:49 +0000 (18:40 +0100)
commitdd65aae9a177f7b11dcef0f690a78d698f667cd4
tree7a0209f9644327086b2133786c51857624f72826
parentb7ea5ca1e0767420bd73ba2c6493770dd48cd97b
pad: rework sticky events

Rewrite sticky events, trying to make it a bit more simple.
When sticky events are pushed on a srcpad, store them in the sticky event
array and mark the event with received = FALSE.
When the sticky event is successfully sent to the peer pad, make
received = TRUE.
Keep a PENDING_EVENTS pad flag that is set when one of the events is in
the received = FALSE state for some reason.
when activating a sinkpad, mark all events received = FALSE on the peer
srcpad.
When pushing a buffer, check the PENDING_EVENTS flag and if it is set, push all
events to the peer pad first.
gst/gstpad.c
gst/gstpad.h