mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
ghostpad: hold a reference to the target pad while unlinking it
https://bugzilla.gnome.org/show_bug.cgi?id=725809
This commit is contained in:
parent
7b9d95dbbe
commit
4fc671e801
1 changed files with 3 additions and 1 deletions
|
@ -836,7 +836,7 @@ gst_ghost_pad_set_target (GstGhostPad * gpad, GstPad * newtarget)
|
|||
GST_DEBUG_OBJECT (gpad, "clearing target");
|
||||
|
||||
/* clear old target */
|
||||
if ((oldtarget = GST_PROXY_PAD_TARGET (gpad))) {
|
||||
if ((oldtarget = gst_pad_get_peer (internal))) {
|
||||
GST_OBJECT_UNLOCK (gpad);
|
||||
|
||||
/* unlink internal pad */
|
||||
|
@ -844,6 +844,8 @@ gst_ghost_pad_set_target (GstGhostPad * gpad, GstPad * newtarget)
|
|||
gst_pad_unlink (internal, oldtarget);
|
||||
else
|
||||
gst_pad_unlink (oldtarget, internal);
|
||||
|
||||
gst_object_unref (oldtarget);
|
||||
} else {
|
||||
GST_OBJECT_UNLOCK (gpad);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue