summaryrefslogtreecommitdiffstats
path: root/gst/selector
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2008-02-26 12:01:37 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2008-02-26 12:01:37 +0000
commit84ac3f0c567fd117d76abdc17856b85651730b39 (patch)
tree9f7dcc4f11b0ea0eaafa96981ea6010cfe38b889 /gst/selector
parent5a0a89a8a09257ec2bdb3bed9f3269101fcad9fb (diff)
downloadgst-plugins-bad-84ac3f0c567fd117d76abdc17856b85651730b39.tar.gz
gst-plugins-bad-84ac3f0c567fd117d76abdc17856b85651730b39.tar.bz2
gst-plugins-bad-84ac3f0c567fd117d76abdc17856b85651730b39.zip
gst/selector/gstoutputselector.c: Fix changing to same pad twice before a chain call.
Original commit message from CVS: * gst/selector/gstoutputselector.c: Fix changing to same pad twice before a chain call.
Diffstat (limited to 'gst/selector')
-rw-r--r--gst/selector/gstoutputselector.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c
index f8ed8846..85c93564 100644
--- a/gst/selector/gstoutputselector.c
+++ b/gst/selector/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;