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 b44de284..f98c3a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 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): Only error is an error. diff --git a/gst/gstelement.c b/gst/gstelement.c index 6a368dd..aeeb6eb 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; } - } /** -- 2.7.4