diff options
-rw-r--r-- | ChangeLog | 5 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/selector/gstoutputselector.c | 5 |
3 files changed, 10 insertions, 0 deletions
@@ -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 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; |