2 Nov
2010
2 Nov
'10
12:52 p.m.
Thanks Takashi for the review.
I'm a bit skeptical whether this is safe to apply. The plugins might not be always transparent. Double-check whether this doesn't break all plugins behaviors.
I am really not sure how I can prove that passing flags does not alter existing behavior, I identified this issue experimentally after several hours and I must admit I don't really understand the alsa-lib code. The question is really why weren't the flags propagated in the initial code? All parameters (info, rate, etc) are passed to the slave, except the flags. Either this was a conscious design decision, in which case my patch would create a problem, or this was a miss and my patch corrects it.
params->info &= src->info;
- params->flags = src->flags; /* propagate flags to slave */