On Thu, Nov 15, 2018 at 12:50:30AM +0200, Dimitris Papavasiliou wrote:
The clocks are switched inside the hw_params callback of the machine driver, when the sampling rate changes from a multiple of 48kHz to a multiple of 44.1kHz and vice versa, usually after opening the device and before starting playback. That has to be so, as far as I can see.
That's fairly normal, yes. You can also do SRC in software and lock the rate at one.
If by idle you mean, not playing, then the device is idle during the switch. If by idle you mean biased off, then it depends on circumstance. For instance if playback at 44.1kHz is stopped and quickly restarted at 48kHz, as often happens, the device won't have had the chance to sit long enough to be biased off (and even if it has, I'm not entirely sure whether it won't be biased on before the hw_params callback). The pop may still be avoided if
Usually it's only the digital that will notice clocking changes, so long as none of the digital stuff is active you're normally fine. It does depend on the hardware though.
auto-mute is used, but that's not always the case. My proposed fix on the other hand consistently avoids generating the pop and does not rely on muting. I'm just not sure how to best implement it.
I've no idea what you're proposing, sorry.