projects
/
platform
/
upstream
/
gstreamer.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7b9d95d
)
ghostpad: hold a reference to the target pad while unlinking it
author
George Kiagiadakis
<george.kiagiadakis@collabora.com>
Thu, 6 Mar 2014 10:40:23 +0000
(12:40 +0200)
committer
Sebastian Dröge
<sebastian@centricular.com>
Thu, 6 Mar 2014 19:46:28 +0000
(20:46 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=725809
gst/gstghostpad.c
patch
|
blob
|
history
diff --git
a/gst/gstghostpad.c
b/gst/gstghostpad.c
index
98712d8
..
47e9dce
100644
(file)
--- a/
gst/gstghostpad.c
+++ b/
gst/gstghostpad.c
@@
-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);
}