- Replace single dataBuffer with double-buffer (dataBuffers tuple) to eliminate data race between real-time tapProcess thread and async dispatch queue reading the buffer - Use kCMPersistentTrackID_Invalid for audioMix trackID so the tap survives HLS variant switches (track ID changes on quality change)