Here's a proposal for an alsa-lib modification to allow applications to disable interrupts (if the hardware can do so). I used the flag field in hw_params, this looked like a good candidate to convey this information needed by the driver. I don't really like adding two new routines, but I don't think there's any other way. Still 2 points to be worked out: - I couldn't figure out how to make these two new symbols known to PulseAudio. Somehow there's a missing symbol that prevents PA modules from loading, not sure where it needs to be declare - I thought I could make use of the same flag on the driver side, but the code in pcm_native.c makes a peculiar use of hw_params->flag. It looks like this field is used as an internal variable.
for (k = 0; k < constrs->rules_num; k++) { struct snd_pcm_hw_rule *r = &constrs->rules[k]; unsigned int d; int doit = 0; if (r->cond && !(r->cond & params->flags)) continue; There's too much history for me to figure out what this is supposed to mean. Am I following a false lead and should I use the more complex mask array instead? Thanks for your feedback. - Pierre