Avoiding clicks while switching impulse responses

Are you sure it’s not just blockwise changing coloration due to the HRTF switching? Depending on the HRTF set you are using, the crossfade of the convolution engines can completly attenuate specific frequencies when they are out of phase in both HRTFs

I wouldn’t expect that to be the issue. The call to get, which happens on the audio thread, uses a try-lock rather than a lock. If the mutex is already locked, this should return immediately, rather than waiting for the mutex to become available.