diff --git a/gst/gstelement.c b/gst/gstelement.c
index 6a368ddfb6d3e3c4c657e640a0308ff73f7216c2..aeeb6eb3d705fbfbcdf4cbada2f36cdc82cdf830 100644 (file)
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
* 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 */
else
return GST_STATE_CHANGE_SUCCESS;
}
-
}
/**