From 93823de17ee01fe4e3e1e17704ad9abd85a0bf4d Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 30 Sep 2005 08:29:02 +0000 Subject: [PATCH] gst/gstelement.c: Small tweak, element in ASYNC remains ASYNC. Original commit message from CVS: * gst/gstelement.c: (gst_element_set_state), (gst_element_change_state): Small tweak, element in ASYNC remains ASYNC. --- ChangeLog | 6 ++++++ gst/gstelement.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b44de284e2..f98c3a219a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-09-30 Wim Taymans + + * gst/gstelement.c: (gst_element_set_state), + (gst_element_change_state): + Small tweak, element in ASYNC remains ASYNC. + 2005-09-30 Wim Taymans * gst/base/gstbasesink.c: (gst_base_sink_change_state): diff --git a/gst/gstelement.c b/gst/gstelement.c index 6a368ddfb6..aeeb6eb3d7 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -1854,6 +1854,10 @@ gst_element_set_state (GstElement * element, GstState state) * the STATE_LOCK */ gst_element_commit_state (element); gst_element_lost_state (element); + if (state == GST_STATE_PENDING (element)) { + GST_STATE_UNLOCK (element); + return GST_STATE_CHANGE_ASYNC; + } } /* start with the current state */ @@ -2094,7 +2098,6 @@ was_ok: else return GST_STATE_CHANGE_SUCCESS; } - } /**