mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 13:02:29 +00:00
gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks.
Original commit message from CVS: 2005-05-14 Andy Wingo <wingo@pobox.com> * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks.
This commit is contained in:
parent
79d4977020
commit
c967174c17
3 changed files with 14 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-05-14 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
|
||||
has no sinks.
|
||||
|
||||
2005-05-13 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* gst/gstutils.c (gst_element_link_pads): Instead of calling
|
||||
|
|
|
@ -229,6 +229,7 @@ This enum defines the standard flags that an element may have.
|
|||
@GST_ELEMENT_SCHEDULER_PRIVATE1:
|
||||
@GST_ELEMENT_SCHEDULER_PRIVATE2:
|
||||
@GST_ELEMENT_LOCKED_STATE:
|
||||
@GST_ELEMENT_IS_SINK:
|
||||
@GST_ELEMENT_FLAG_LAST:
|
||||
|
||||
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
|
||||
|
|
|
@ -899,6 +899,14 @@ restart:
|
|||
}
|
||||
GST_UNLOCK (bin);
|
||||
|
||||
/* can be the case for a bin like ( identity ) */
|
||||
if (g_queue_is_empty (elem_queue) && !g_queue_is_empty (temp)) {
|
||||
GQueue *q = elem_queue;
|
||||
|
||||
elem_queue = temp;
|
||||
temp = q;
|
||||
}
|
||||
|
||||
/* second step, change state of elements in the queue */
|
||||
while (!g_queue_is_empty (elem_queue)) {
|
||||
GstElement *qelement;
|
||||
|
|
Loading…
Reference in a new issue