Before this gets OK'd I'd like to see it confonted
with ratchov's recent patch to audio/sox's sndio.c
as it seems to address a similar problem (bits_per_sample).

        Jan


On Sep 22 19:34:39, tso...@gmail.com wrote:
> Hi,
> 
> The following diff from upstream fixes 24-bit/32-bit output
> support for cmus (I'm the maintainer).
> 
> Thanks to Tobias Kortkamp for the patch!
> 
> (I've also changed a pre-configure to pre-build, otherwise the first
> sed(1) could be applied twice if "make configure" is interrupted.
> Dunno if it's a really good idea.)
> 
> Tested on loongson.
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/audio/cmus/Makefile,v
> retrieving revision 1.12
> diff -u -p -r1.12 Makefile
> --- Makefile  12 Sep 2016 11:45:57 -0000      1.12
> +++ Makefile  22 Sep 2016 17:08:18 -0000
> @@ -7,6 +7,7 @@ V=                    2.7.1
>  DISTNAME=            cmus-${V}
>  PKGNAME-main=                ${PKGNAME}
>  PKGNAME-ffmpeg=              cmus-ffmpeg-${V}
> +REVISION=            0
>  
>  GH_ACCOUNT=          cmus
>  GH_PROJECT=          cmus
> @@ -78,7 +79,7 @@ WANTLIB-main+=              vorbis>=0 vorbisfile>=1
>  
>  NO_TEST=             Yes
>  
> -pre-configure:
> +pre-build:
>       sed -i s,/usr,${LOCALBASE}, ${WRKSRC}/Doc/cmus.txt
>       sed -i s,doc/cmus/examples,examples/cmus, ${WRKSRC}/Doc/cmus.txt
>  
> Index: patches/patch-sndio_c
> ===================================================================
> RCS file: patches/patch-sndio_c
> diff -N patches/patch-sndio_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-sndio_c     22 Sep 2016 17:08:18 -0000
> @@ -0,0 +1,29 @@
> +$OpenBSD$
> +
> +Support 32-bit/24-bit encoding
> +
> +84f33584be91 upstream
> +
> +--- sndio.c.orig     Mon Jul 13 12:00:56 2015
> ++++ sndio.c  Thu Sep 22 18:54:45 2016
> +@@ -20,7 +20,6 @@
> + 
> + #include <sys/types.h>
> + #include <sys/ioctl.h>
> +-#include <sys/audioio.h>
> + #include <sys/stat.h>
> + #include <errno.h>
> + #include <fcntl.h>
> +@@ -82,6 +81,12 @@ static int sndio_set_sf(sample_format_t sf)
> +             par.le = 1;
> + 
> +     switch (sf_get_bits(sndio_sf)) {
> ++    case 32:
> ++            par.bits = 32;
> ++            break;
> ++    case 24:
> ++            par.bits = 24;
> ++            break;
> +     case 16:
> +             par.bits = 16;
> +             break;
> 

Reply via email to