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.
This commit is contained in:
Stefan Kost 2008-02-26 12:01:37 +00:00
parent 5a0a89a8a0
commit 84ac3f0c56
3 changed files with 11 additions and 1 deletions

View file

@ -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> 2008-02-26 Sebastian Dröge <slomo@circular-chaos.org>
Patch by: Daniel Fischer <dan at f3c dot com> Patch by: Daniel Fischer <dan at f3c dot com>

2
common

@ -1 +1 @@
Subproject commit 1c5138efc5679d9eaee66c84dcfabdec5b727493 Subproject commit e746d20ef536a73aea9964666c7d5f6d5c9465df

View file

@ -210,6 +210,7 @@ gst_output_selector_set_property (GObject * object, guint prop_id,
g_value_get_string (value)); g_value_get_string (value));
break; break;
} }
GST_LOG ("Activating pad %s", g_value_get_string (value));
if (next_pad != sel->active_srcpad) { if (next_pad != sel->active_srcpad) {
/* switch to new srcpad in next chain run */ /* switch to new srcpad in next chain run */
if (sel->pending_srcpad != NULL) { if (sel->pending_srcpad != NULL) {
@ -219,6 +220,10 @@ gst_output_selector_set_property (GObject * object, guint prop_id,
sel->pending_srcpad = next_pad; sel->pending_srcpad = next_pad;
} else { } else {
GST_INFO ("pad already active"); 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); gst_object_unref (next_pad);
} }
break; break;