mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 14:36:24 +00:00
pad: take peerpad correctly
Don't take the peerpad too early, it might change because of the probes.
This commit is contained in:
parent
dd65aae9a1
commit
31b79556b8
1 changed files with 1 additions and 4 deletions
|
@ -3869,7 +3869,6 @@ gst_pad_push_event (GstPad * pad, GstEvent * event)
|
||||||
goto unknown_direction;
|
goto unknown_direction;
|
||||||
|
|
||||||
GST_OBJECT_LOCK (pad);
|
GST_OBJECT_LOCK (pad);
|
||||||
peerpad = GST_PAD_PEER (pad);
|
|
||||||
|
|
||||||
/* Two checks to be made:
|
/* Two checks to be made:
|
||||||
* . (un)set the FLUSHING flag for flushing events,
|
* . (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));
|
GST_EVENT_TYPE_NAME (event));
|
||||||
pad->priv->events[idx].received = FALSE;
|
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;
|
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);
|
PROBE_PUSH (pad, type | GST_PAD_PROBE_TYPE_PUSH, event, probe_stopped);
|
||||||
|
|
||||||
/* now check the peer pad */
|
/* now check the peer pad */
|
||||||
|
peerpad = GST_PAD_PEER (pad);
|
||||||
if (peerpad == NULL)
|
if (peerpad == NULL)
|
||||||
goto not_linked;
|
goto not_linked;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue