SNDCTL_DSP_GETIPTR implementation

Andriy Gapon avg at FreeBSD.org
Tue Apr 26 17:32:56 UTC 2011


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.


-- 
Andriy Gapon


More information about the freebsd-multimedia mailing list