On Mon Oct 04, 2021 at 04:48:51AM +0100, David CARLIER wrote:
> ok by me.

Committed, Thanks

> 
> cheers.
> 
> On Mon, 4 Oct 2021 at 03:31, Brad Smith <[email protected]> wrote:
> >
> > Fix for a bug in the sndio backend with the capture support.
> >
> >
> > Index: Makefile
> > ===================================================================
> > RCS file: /home/cvs/ports/audio/openal/Makefile,v
> > retrieving revision 1.57
> > diff -u -p -u -p -r1.57 Makefile
> > --- Makefile    20 Aug 2021 21:54:22 -0000      1.57
> > +++ Makefile    4 Oct 2021 02:23:13 -0000
> > @@ -6,7 +6,7 @@ V =             1.21.1
> >  EPOCH =                0
> >  DISTNAME =     openal-soft-$V
> >  PKGNAME =      openal-$V
> > -REVISION =     1
> > +REVISION =     2
> >  CATEGORIES =   audio
> >
> >  SHARED_LIBS =  openal  4.1
> > Index: patches/patch-alc_backends_sndio_cpp
> > ===================================================================
> > RCS file: 
> > /home/cvs/ports/audio/openal/patches/patch-alc_backends_sndio_cpp,v
> > retrieving revision 1.3
> > diff -u -p -u -p -r1.3 patch-alc_backends_sndio_cpp
> > --- patches/patch-alc_backends_sndio_cpp        20 Aug 2021 21:54:22 -0000  
> >     1.3
> > +++ patches/patch-alc_backends_sndio_cpp        4 Oct 2021 02:25:36 -0000
> > @@ -6,6 +6,8 @@ Simplify channel handling in the sndio b
> >  Use non-block mode for sndio capture
> >  1fd4c865fc084f134363db5155361d5483679235
> >
> > +Fix crashes in SndioCapture::recordProc
> > +a4b0a3d7b3ec271243cfda4780e567e49f2b37b7
> >
> >  Index: alc/backends/sndio.cpp
> >  --- alc/backends/sndio.cpp.orig
> > @@ -269,7 +271,19 @@ Index: alc/backends/sndio.cpp
> >       RingBufferPtr mRing;
> >
> >       std::atomic<bool> mKillNow{true};
> > -@@ -326,37 +309,53 @@ int SndioCapture::recordProc()
> > +@@ -323,40 +306,65 @@ int SndioCapture::recordProc()
> > +
> > +     const uint frameSize{mDevice->frameSizeFromFmt()};
> > +
> > ++    int nfds_pre{sio_nfds(mSndHandle)};
> > ++    if (nfds_pre <= 0)
> > ++    {
> > ++        mDevice->handleDisconnect("Incorrect return value from 
> > sio_nfds(): %d", nfds_pre);
> > ++        return 1;
> > ++    }
> > ++
> > ++    mFds.resize(nfds_pre);
> > ++
> >       while(!mKillNow.load(std::memory_order_acquire)
> >           && mDevice->Connected.load(std::memory_order_acquire))
> >       {
> > @@ -345,7 +359,7 @@ Index: alc/backends/sndio.cpp
> >       }
> >
> >       return 0;
> > -@@ -371,76 +370,80 @@ void SndioCapture::open(const char *name)
> > +@@ -371,76 +379,80 @@ void SndioCapture::open(const char *name)
> >           throw al::backend_exception{al::backend_error::NoDevice, "Device 
> > name \"%s\" not found",
> >               name};
> >
> 

Reply via email to