At Tue, 25 Nov 2003 12:51:11 +0100 (CET), Jaroslav wrote: > > On Mon, 24 Nov 2003, Takashi Iwai wrote: > > > At Mon, 24 Nov 2003 13:51:50 +0100, > > I wrote: > > > > > > At Mon, 24 Nov 2003 13:36:42 +0100, > > > I wrote: > > > > > > > > meanwhile, i'm trying to implement: > > > > > > > > (4) allow prepare callback to sleep with a special flag. > > > > > > > > this will be useful for other drivers, too, such as vx and korg1212 > > > > drivers which require the handshaking. > > > > but what i'm doing is still a hack, and will be a fundamental rewrite > > > > later. > > > > > > the attached is a quick-hacked version. > > > it's untested for linked streams. we need a test case here. > > > > ok, here is the final version. this one seems working fine. > > > > Jaroslav, could you check whether it's ok? > > the changes in pcm_native.c shouldn't affect other cards. > > It's ok, but it still looks like an ugly hack, but I don't see any other > way to solve this problem so you can apply this code to CVS.
yeah, agreed, it's a quick'n'dirty hack :) the better way would be to move all prepare callback in every driver as non-atomic, and call it inside a mutex. linking/unlinking streams will need to issue both a mutex and a spinlock for prepare and trigger callbacks. but, for this, we have to audit all drivers. let's beautify later. ok, i'll commit the changes now. thanks, Takashi ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel