SNDCTL_DSP_GETIPTR implementation
Juergen Lock
nox at jelal.kn-bremen.de
Tue Apr 26 17:47:59 UTC 2011
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.
Thanx!
Juergen
More information about the freebsd-multimedia
mailing list