mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-12 18:35:35 +00:00
gst/playback/gstplaybasebin.c: Clean up our group elements properly in the case where it never got committed - it sti...
Original commit message from CVS: * gst/playback/gstplaybasebin.c: (group_destroy): Clean up our group elements properly in the case where it never got committed - it still got added unconditionally to the bin.
This commit is contained in:
parent
f0d28a0da1
commit
1b8dd847b1
2 changed files with 13 additions and 13 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2006-04-07 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
|
* gst/playback/gstplaybasebin.c: (group_destroy):
|
||||||
|
Clean up our group elements properly in the case where it never
|
||||||
|
got committed - it still got added unconditionally to the bin.
|
||||||
|
|
||||||
2006-04-07 Wim Taymans <wim@fluendo.com>
|
2006-04-07 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* ext/theora/theoradec.c: (theora_dec_sink_event),
|
* ext/theora/theoradec.c: (theora_dec_sink_event),
|
||||||
|
|
|
@ -340,19 +340,13 @@ group_destroy (GstPlayBaseGroup * group)
|
||||||
|
|
||||||
/* if the group is currently being played, we have to remove the element
|
/* if the group is currently being played, we have to remove the element
|
||||||
* from the thread */
|
* from the thread */
|
||||||
if (get_active_group (play_base_bin) == group) {
|
|
||||||
GST_LOG ("removing preroll element %s", GST_ELEMENT_NAME (element));
|
|
||||||
gst_element_set_state (element, GST_STATE_NULL);
|
gst_element_set_state (element, GST_STATE_NULL);
|
||||||
gst_element_set_state (group->type[n].selector, GST_STATE_NULL);
|
gst_element_set_state (group->type[n].selector, GST_STATE_NULL);
|
||||||
|
|
||||||
|
GST_LOG ("removing preroll element %s", GST_ELEMENT_NAME (element));
|
||||||
|
|
||||||
gst_bin_remove (group->type[n].bin, element);
|
gst_bin_remove (group->type[n].bin, element);
|
||||||
gst_bin_remove (group->type[n].bin, group->type[n].selector);
|
gst_bin_remove (group->type[n].bin, group->type[n].selector);
|
||||||
} else {
|
|
||||||
/* else we can just unref it */
|
|
||||||
gst_element_set_state (element, GST_STATE_NULL);
|
|
||||||
gst_element_set_state (group->type[n].selector, GST_STATE_NULL);
|
|
||||||
gst_object_unref (element);
|
|
||||||
gst_object_unref (group->type[n].selector);
|
|
||||||
}
|
|
||||||
|
|
||||||
group->type[n].preroll = NULL;
|
group->type[n].preroll = NULL;
|
||||||
group->type[n].selector = NULL;
|
group->type[n].selector = NULL;
|
||||||
|
|
Loading…
Reference in a new issue