summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-11-30 09:22:15 (GMT)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-11-30 09:22:54 (GMT)
commit732f3055a38d16c90dfa67752e0caf96ca707d01 (patch)
tree958e7f3b61fc4e093ba2cc9736892a2b6fe3d4fc
parent3db670750f4521640c1c9dc50382747385c15044 (diff)
subtitleoverlay: Fix some pad refcount issues
Fixes bug #603345.
-rw-r--r--gst/playback/gstsubtitleoverlay.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/playback/gstsubtitleoverlay.c b/gst/playback/gstsubtitleoverlay.c
index d55ff65..26571bf 100644
--- a/gst/playback/gstsubtitleoverlay.c
+++ b/gst/playback/gstsubtitleoverlay.c
@@ -876,12 +876,14 @@ _pad_blocked_cb (GstPad * pad, gboolean blocked, gpointer user_data)
if (G_UNLIKELY (!sink)) {
GST_WARNING_OBJECT (self, "Can't get text sink from textoverlay");
gst_object_unref (src);
+ continue;
}
if (G_UNLIKELY (gst_pad_link (src, sink) != GST_PAD_LINK_OK)) {
GST_WARNING_OBJECT (self, "Can't link parser to textoverlay");
gst_object_unref (sink);
gst_object_unref (src);
+ continue;
}
gst_object_unref (sink);
gst_object_unref (src);
@@ -1178,6 +1180,7 @@ _pad_blocked_cb (GstPad * pad, gboolean blocked, gpointer user_data)
gst_object_unref (sink);
continue;
}
+ gst_object_unref (sink);
sink = _get_sub_pad (element);
if (G_UNLIKELY (!sink)) {