the diff was forgotten, it's discussed here: http://marc.info/?l=openbsd-ports&m=145505706611958
It's about playing 24-bit files with full precision (assuming audio sub-system supports it), i.e. without converting samples to 16-bit first and loosing 8-bits of precision. OK? Index: Makefile =================================================================== RCS file: /cvs/ports/audio/sox/Makefile,v retrieving revision 1.65 diff -u -p -r1.65 Makefile --- Makefile 12 Sep 2016 22:20:36 -0000 1.65 +++ Makefile 14 Sep 2016 06:22:03 -0000 @@ -5,6 +5,7 @@ BROKEN-hppa = bend.c:155:12: internal co COMMENT= Sound eXchange, the Swiss Army knife of audio manipulation DISTNAME= sox-14.4.2 +REVISION= 0 SHARED_LIBS += sox 4.0 # 3.0 CATEGORIES= audio Index: patches/patch-src_sndio_c =================================================================== RCS file: patches/patch-src_sndio_c diff -N patches/patch-src_sndio_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_sndio_c 14 Sep 2016 06:22:03 -0000 @@ -0,0 +1,25 @@ +$OpenBSD$ +--- src/sndio.c.orig Mon Jan 30 04:01:44 2012 ++++ src/sndio.c Tue Feb 9 23:23:00 2016 +@@ -113,8 +113,6 @@ static int startany(sox_format_t *ft, unsigned mode) + else + reqpar.rchan = ft->signal.channels; + } +- if (ft->signal.precision > 0) +- reqpar.bits = ft->signal.precision; + switch (ft->encoding.encoding) { + case SOX_ENCODING_SIGN2: + reqpar.sig = 1; +@@ -127,6 +125,12 @@ static int startany(sox_format_t *ft, unsigned mode) + } + if (ft->encoding.bits_per_sample > 0) + reqpar.bits = ft->encoding.bits_per_sample; ++ else if (ft->signal.precision > 0) ++ reqpar.bits = ft->signal.precision; ++ else ++ reqpar.bits = SOX_DEFAULT_PRECISION; ++ reqpar.bps = (reqpar.bits + 7) / 8; ++ reqpar.msb = 1; + if (ft->encoding.reverse_bytes != sox_option_default) { + reqpar.le = SIO_LE_NATIVE; + if (ft->encoding.reverse_bytes)