Do any computationally expensive work in this function (as opposed to StartRecording) so that all sources can have StartRecording called as closely as possible to each other. See StartRecording for more details.