[GnomeMeeting-list] [Fwd: Re: [Alsa-devel] Alsa 0.9.0 RC5 + RH8 + GnomeMeeting]



-----Message suivi-----

> From: Wilfried Weissmann <Wilfried Weissmann gmx at>
> To: Damien Sandras <dsandras seconix com>, alsa-devel lists sourceforge net <alsa-devel lists sourceforge net>
> Subject: Re: [Alsa-devel] Alsa 0.9.0 RC5 + RH8 + GnomeMeeting
> Date: 08 Nov 2002 15:43:11 +0100
> 
> Damien Sandras wrote:
> > I subscribed to this mailing list, because GnomeMeeting users have
> > reported a problem using ALSA 0.9.0RC5 together with GnomeMeeting and
> > RedHat 8.0.
> > 
> > Actually, the problem is simple to explain, hard to fix, at least for
> > me. Several users complained that using GnomeMeeting was freezing their
> > machine. This corresponds to a driver bug, somewhere, as "user-space"
> > programs can't crash a machine directly. The only particularity of
> > GnomeMeeting is that it is reading and writing to the device at the same
> > time.
> 
> I had similar problems. A patch from Jaroslav Kysela fixed the problem 
> for me (see attachment).
> 
> > 
> > Thanks,
> 
> bye,
> Wilfried
> ----
> 

> ===================================================================
> RCS file: /cvsroot/alsa/alsa-kernel/core/oss/pcm_oss.c,v
> retrieving revision 1.21
> retrieving revision 1.22
> diff -u -r1.21 -r1.22
> --- alsa/alsa-kernel/core/oss/pcm_oss.c	2002/10/21 18:28:20	1.21
> +++ alsa/alsa-kernel/core/oss/pcm_oss.c	2002/10/30 20:29:15	1.22
> @@ -564,7 +564,15 @@
>  		} else {
>  			ret = snd_pcm_lib_read(substream, ptr, frames);
>  		}
> -		if (ret != -EPIPE && ret != -ESTRPIPE)
> +		if (ret == -EPIPE) {
> +			if (runtime->status->state == SNDRV_PCM_STATE_DRAINING) {
> +				ret = snd_pcm_kernel_ioctl(substream, SNDRV_PCM_IOCTL_DROP, 0);
> +				if (ret < 0)
> +					break;
> +			}
> +			continue;
> +		}
> +		if (ret != -ESTRPIPE)
>  			break;
>  	}
>  	return ret;
-- 
 _	Damien Sandras
(o-	GnomeMeeting: http://www.gnomemeeting.org/
//\	FOSDEM 2003:  http://www.fosdem.org
v_/_	
	H.323 phone:  callto://ils.seconix.com/dsandras seconix com





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]