I would like to help out in fixing this, but need a little bit of guidance from the experts here. Have I identified the problem correctly? Ie interaction between "multi" and "dmix" on a 5.1 channel card giving timing issues on an SMP system? If it is unlikely, I will investigate other areas.
Ok, I don't seem to be getting much help from this mailing list, so I have dug deeper into the code, and found the problem. In pcm_dmix_i386.c, we have:
if (!strncmp(line, "processor", 9)) smp++;
I have commented out the smp++, so that it thinks that I am on a uni processor. Voila, so AV sync issues!
My question now is what are the implications of this change? Looking at pcm_dmix_i386.h, it uses locks on an SMP system, but exclude them if not SMP. Do we still need this lock, even if I am on a dual core, ie 1 processor 2 cores?
I have CC'ed the author of the file, Jaroslav Kysela.
Regards Keith