alsa problem with stopping playback

Rynhardt P Kruger rkruger at gawab.com
Sat Dec 22 17:50:50 UTC 2007


What is it with this evolution, first it hangs on me, then it sends a
message I have already deleted.

That part about speech-dispatcher that can be turned off is untrue.

		
On Sat, 2007-12-22 at 18:02 +0100, Rynhardt P Kruger wrote:
> Hi,
> 
> Thanks for your help. I tryed the patch, but it wouldn't patch on
> alsa-lib-1.0.15. I also tryed the url, but the projects directory
> doesn't seam to exist on that ftp server.
> 
> I forgot to mention in my prier message that the lockup happens with the
> music player even when I turn speech-dispatcher off.  
> 
> Take care,
> 
> Rynhardt
> 	
> On Sat, 2007-12-22 at 06:34 -0500, Mike Gorse wrote:
> > To elaborate on my last message, as is obvious from the patch, the bug I 
> > mentioned is in dmix, so, if you aren't using dmix, then it isn't what 
> > you're running into.  The library tries to discard a semaphore that it has 
> > previously locked, but, if it is unable to discard it (as could be the 
> > case if it is owned by a process running under a different user), then it 
> > never releases it, causing deadlock.  So running speech-dispatcher as your 
> > normal user should be another work-around.
> > 
> > -- Mike Gorse / AIM:linvortex / http://mgorse.freeshell.org --
> > 
> > On Sat, 22 Dec 2007, Mike Gorse wrote:
> > 
> > > Hi Rynhardt,
> > >
> > > I ran into a similar problem with eflite and speech-dispatcher a while ago. 
> > > There is a bug in alsa-lib that you might be running into.  You could try 
> > > building alsa-lib with the following patch:
> > >
> > > --- alsa-lib-1.0.15/src/pcm/pcm_dmix.c	2007-10-15 04:45:26.000000000 -0400
> > > +++ alsa-lib-hg20071222/src/pcm/pcm_dmix.c	2007-12-10 20:00:04.000000000 
> > > -0500
> > > @@ -652,9 +614,10 @@
> > >  	 if (dmix->client)
> > >  	 	snd_pcm_direct_client_discard(dmix);
> > >  	shm_sum_discard(dmix);
> > > -	if (snd_pcm_direct_shm_discard(dmix))
> > > -		snd_pcm_direct_semaphore_discard(dmix);
> > > -	else
> > > +	if (snd_pcm_direct_shm_discard(dmix)) {
> > > +		if (snd_pcm_direct_semaphore_discard(dmix))
> > > +			snd_pcm_direct_semaphore_up(dmix, 
> > > DIRECT_IPC_SEM_CLIENT);
> > > +	} else
> > > 	 	snd_pcm_direct_semaphore_up(dmix, DIRECT_IPC_SEM_CLIENT);
> > > 	 free(dmix->bindings);
> > > 	 pcm->private_data = NULL;
> > >
> > > or just downloading a recent alsa-lib snapshot from 
> > > ftp://ftp.suse.de/pub/projects/alsa/snapshot/lib and building it (the fix is 
> > > in their hg tree, but it was made post-1.0.15, so there is no release that 
> > > includes it yet.)
> > 
> > _______________________________________________
> > Blinux-list mailing list
> > Blinux-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/blinux-list
> 
> _______________________________________________
> Blinux-list mailing list
> Blinux-list at redhat.com
> https://www.redhat.com/mailman/listinfo/blinux-list




More information about the Blinux-list mailing list