playback: Hold the state lock while posting async-start/done messages
Otherwise another state change might happen in the meantime and confuse the internal tracking of the state.
Otherwise another state change might happen in the meantime and confuse the internal tracking of the state.