mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +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>
|
||||
|
||||
* 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
|
||||
* 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 (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, 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].selector = NULL;
|
||||
|
|
Loading…
Reference in a new issue