Jyri Sarha wrote:
On 09/21/15 12:37, Russell King - ARM Linux wrote:
ALSA documentation (which may be out of date) says that the hw_params callback can be called multiple times during stream setup. Do we want to be repeatedly programming the HDMI infoframe with different settings, potentially confusing the attached device, or would it be better to do it slightly later (in the prepare callback) after the parameters have been fully negotiated?
If it is possible that hw_params() can be called multiple times, at least it does not happen very often. I wonder if it would ever happen again after a successful hw_params() call.
It is certainly allowed, and it happens regularly when using OSS emulation. AFAIK PulseAudio does something similar when enumerating devices.
But there is no downside in using prepare callback.
The prepare callback also can be called multiple times. This certainly happens when the stream is stopped/restarted multiple times.
If something does not need to be done again when a stream is restarted, then it should be done in the hw_params callback.
Regards, Clemens