diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2011-11-23 08:17:36 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2011-11-23 08:17:36 +0100 |
commit | 31b79556b8140a44b575e754dd145d8ab655e25a (patch) | |
tree | a668c0f62d89e7604ab6aaa40151a1ff9b344efd /gst/gstpad.c | |
parent | dd65aae9a177f7b11dcef0f690a78d698f667cd4 (diff) | |
download | gstreamer-31b79556b8140a44b575e754dd145d8ab655e25a.tar.gz |
pad: take peerpad correctly
Don't take the peerpad too early, it might change because of the
probes.
Diffstat (limited to 'gst/gstpad.c')
-rw-r--r-- | gst/gstpad.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gst/gstpad.c b/gst/gstpad.c index 79b454c025..7c6b172f3b 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -3869,7 +3869,6 @@ gst_pad_push_event (GstPad * pad, GstEvent * event) goto unknown_direction; GST_OBJECT_LOCK (pad); - peerpad = GST_PAD_PEER (pad); /* Two checks to be made: * . (un)set the FLUSHING flag for flushing events, @@ -3916,9 +3915,6 @@ gst_pad_push_event (GstPad * pad, GstEvent * event) GST_EVENT_TYPE_NAME (event)); pad->priv->events[idx].received = FALSE; } - /* the peerpad might have changed. Things we checked above could not - * have changed. */ - peerpad = GST_PAD_PEER (pad); stored = TRUE; } @@ -3945,6 +3941,7 @@ gst_pad_push_event (GstPad * pad, GstEvent * event) PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_PUSH, event, probe_stopped); /* now check the peer pad */ + peerpad = GST_PAD_PEER (pad); if (peerpad == NULL) goto not_linked; |