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

Attachment: alsa-lib-disable-interrupts.patch
Description: Binary data

Attachment: pulseaudio-disable-interrupts.patch
Description: Binary data

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

Reply via email to