summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2008-02-26 12:01:37 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2010-12-31 00:53:10 +0000
commiteaff78cc08c5f0767ae5f613d21573e5ee0ec4b8 (patch)
treeca383c1ae84ba48e3dfeb30a79531ae2e5a787c9
parent7b742d1cf4a027b196a291405414ef4344bbbced (diff)
plugins/elements/gstoutputselector.c: Fix changing to same pad twice before a chain call.
Original commit message from CVS: * plugins/elements/gstoutputselector.c: Fix changing to same pad twice before a chain call.
-rw-r--r--plugins/elements/gstoutputselector.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/elements/gstoutputselector.c b/plugins/elements/gstoutputselector.c
index f8ed88461f..85c9356415 100644
--- a/plugins/elements/gstoutputselector.c
+++ b/plugins/elements/gstoutputselector.c
@@ -210,6 +210,7 @@ gst_output_selector_set_property (GObject * object, guint prop_id,
g_value_get_string (value));
break;
}
+ GST_LOG ("Activating pad %s", g_value_get_string (value));
if (next_pad != sel->active_srcpad) {
/* switch to new srcpad in next chain run */
if (sel->pending_srcpad != NULL) {
@@ -219,6 +220,10 @@ gst_output_selector_set_property (GObject * object, guint prop_id,
sel->pending_srcpad = next_pad;
} else {
GST_INFO ("pad already active");
+ if (sel->pending_srcpad != NULL) {
+ gst_object_unref (sel->pending_srcpad);
+ sel->pending_srcpad = NULL;
+ }
gst_object_unref (next_pad);
}
break;