SNDCTL_DSP_GETIPTR implementation

Juergen Lock nox at jelal.kn-bremen.de
Tue Apr 26 18:52:19 UTC 2011


On Tue, Apr 26, 2011 at 07:44:49PM +0200, Juergen Lock wrote:
> On Tue, Apr 26, 2011 at 08:32:52PM +0300, Andriy Gapon wrote:
> > on 26/04/2011 19:50 Andriy Gapon said the following:
> > > 
> > > Guys,
> > > 
> > > I reading this http://manuals.opensound.com/developer/SNDCTL_DSP_GETOPTR.html
> > > It says: "In mmap mode (only) the ptr field tells the location where the next
> > > sample will be recorded."
> > > In my opinion that means that we have a mistake in our code and the following
> > > patch should be applied.  But I am not sufficiently familiar with this code.
> > 
> > It seems that with this change linux alsa lib with oss plugin works for audio
> > recording now.  E.g. in skype.
> > Hope I wasn't sloppy with my testing again, so I will re-test.
> > 
> > Juergen,
> > will you be able to test this too?
> > 
> > > --- a/sys/dev/sound/pcm/dsp.c
> > > +++ b/sys/dev/sound/pcm/dsp.c
> > > @@ -1655,7 +1655,7 @@ dsp_ioctl
> > >  				/* XXX abusive DMA update: chn_rdupdate(rdch); */
> > >  	        		a->bytes = sndbuf_gettotal(bs);
> > >  	        		a->blocks = sndbuf_getblocks(bs) - rdch->blocks;
> > > -	        		a->ptr = sndbuf_getreadyptr(bs);
> > > +	        		a->ptr = sndbuf_getfreeptr(bs);
> > >  				rdch->blocks = sndbuf_getblocks(bs);
> > >  				CHN_UNLOCK(rdch);
> > >  	    		} else
> > > 
> > > P.S. leading (indenting) whitespace in this file is a mess.
> 
> Nice, I'll have a go.

Seems to work, yay! :)

 Thanx,
	Juergen

PS: the linux pulseaudio lib port can still be committed, right?
Because the updated rpm netchild built now also seems to no longer
need the symlink.


More information about the freebsd-multimedia mailing list