It was set a long time ago, because iOS was slow in starting the camera. This is no longer the case, and doing this in a background thread is unsafe. Indeed, if the call is terminated rapidly, the start() may happen while the video graph is already destroyed.