This should avoid being a blocking call (use PostRecording instead) so that all sources can be stopped as soon as possible after the user requests the recording end. See StartRecording for more details about why having all recordings start/stop as close as possible to each other is important.