summaryrefslogtreecommitdiff
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
parent5a0a89a8a09257ec2bdb3bed9f3269101fcad9fb (diff)
downloadgstreamer-plugins-bad-84ac3f0c567fd117d76abdc17856b85651730b39.tar.gz
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.
-rw-r--r--ChangeLog5
m---------common0
-rw-r--r--gst/selector/gstoutputselector.c5
3 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d482b5115..d4aa46b5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-26 Stefan Kost <ensonic@users.sf.net>
+
+ * gst/selector/gstoutputselector.c:
+ Fix changing to same pad twice before a chain call.
+
2008-02-26 Sebastian Dröge <slomo@circular-chaos.org>
Patch by: Daniel Fischer <dan at f3c dot com>
diff --git a/common b/common
-Subproject 1c5138efc5679d9eaee66c84dcfabdec5b72749
+Subproject e746d20ef536a73aea9964666c7d5f6d5c9465d
diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c
index f8ed88461..85c935641 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;