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