aboutsummaryrefslogtreecommitdiffstats
path: root/audio/sndio
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2018-08-01 03:40:24 +0800
committerTobias Kortkamp <tobik@FreeBSD.org>2018-08-01 03:40:24 +0800
commit587b9560db21368f7db6485daba2e851a2d934b0 (patch)
tree7ec8d782221741db187560128e57425508df6f30 /audio/sndio
parent7b27898b2d58a9571d23819bb861f0c1286070bb (diff)
downloadfreebsd-ports-gnome-587b9560db21368f7db6485daba2e851a2d934b0.tar.gz
freebsd-ports-gnome-587b9560db21368f7db6485daba2e851a2d934b0.tar.zst
freebsd-ports-gnome-587b9560db21368f7db6485daba2e851a2d934b0.zip
audio/sndio: Update to 1.5.0
Diffstat (limited to 'audio/sndio')
-rw-r--r--audio/sndio/Makefile2
-rw-r--r--audio/sndio/distinfo6
-rw-r--r--audio/sndio/files/patch-configure13
-rw-r--r--audio/sndio/files/patch-libsndio_sio.c11
-rw-r--r--audio/sndio/files/patch-libsndio_sio__oss.c154
-rw-r--r--audio/sndio/files/sndiod.in3
6 files changed, 5 insertions, 184 deletions
diff --git a/audio/sndio/Makefile b/audio/sndio/Makefile
index bd2011ff2306..3180302a95f3 100644
--- a/audio/sndio/Makefile
+++ b/audio/sndio/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= sndio
-PORTVERSION= 1.4.0
+PORTVERSION= 1.5.0
CATEGORIES= audio
MASTER_SITES= http://www.sndio.org/
diff --git a/audio/sndio/distinfo b/audio/sndio/distinfo
index abd3f9e14b93..0bf4af6bf01f 100644
--- a/audio/sndio/distinfo
+++ b/audio/sndio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1515842737
-SHA256 (sndio-1.4.0.tar.gz) = 68713db624797dbff69c0f4ce1b24054fb0803da340508edbc5e08d6778f9781
-SIZE (sndio-1.4.0.tar.gz) = 126007
+TIMESTAMP = 1533063551
+SHA256 (sndio-1.5.0.tar.gz) = 12c70044749ad9cb7eaeb26c936816aa6b314fe4be71ef479d12272e4c5ad253
+SIZE (sndio-1.5.0.tar.gz) = 125661
diff --git a/audio/sndio/files/patch-configure b/audio/sndio/files/patch-configure
deleted file mode 100644
index 7531c57cd8a6..000000000000
--- a/audio/sndio/files/patch-configure
+++ /dev/null
@@ -1,13 +0,0 @@
---- configure.orig 2018-01-11 20:57:37 UTC
-+++ configure
-@@ -80,8 +80,10 @@ case `uname` in
- -DHAVE_SOCK_CLOEXEC -DHAVE_CLOCK_GETTIME'
- ;;
- DragonFly|FreeBSD)
-+ oss=yes
- umidi=yes
- user=_sndio
-+ so_ldflags="-Wl,-soname=libsndio.so.\${MAJ}.\${MIN}"
- so_link="libsndio.so"
- defs='-DHAVE_ARC4RANDOM -DHAVE_ISSETUGID \\\
- -DHAVE_STRLCAT -DHAVE_STRLCPY -DHAVE_STRTONUM \\\
diff --git a/audio/sndio/files/patch-libsndio_sio.c b/audio/sndio/files/patch-libsndio_sio.c
deleted file mode 100644
index 8cdac7f1b678..000000000000
--- a/audio/sndio/files/patch-libsndio_sio.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libsndio/sio.c.orig 2016-11-06 11:21:59 UTC
-+++ libsndio/sio.c
-@@ -65,7 +65,7 @@ sio_open(const char *str, unsigned int m
- #if defined(USE_SUN)
- return _sio_sun_open("rsnd/0", mode, nbio);
- #elif defined(USE_OSS)
-- return _sio_oss_open("rsnd/0", mode, nbio);
-+ return _sio_oss_open(SIO_DEVANY, mode, nbio);
- #elif defined(USE_ALSA)
- return _sio_alsa_open("rsnd/0", mode, nbio);
- #else
diff --git a/audio/sndio/files/patch-libsndio_sio__oss.c b/audio/sndio/files/patch-libsndio_sio__oss.c
deleted file mode 100644
index 35b5422286cb..000000000000
--- a/audio/sndio/files/patch-libsndio_sio__oss.c
+++ /dev/null
@@ -1,154 +0,0 @@
---- libsndio/sio_oss.c.orig 2016-11-06 11:21:59 UTC
-+++ libsndio/sio_oss.c
-@@ -108,6 +108,8 @@ static int sio_oss_xrun(struct sio_oss_hdl *);
- static size_t sio_oss_read(struct sio_hdl *, void *, size_t);
- static size_t sio_oss_write(struct sio_hdl *, const void *, size_t);
- static void sio_oss_close(struct sio_hdl *);
-+static int sio_oss_setvol(struct sio_hdl *, unsigned int);
-+static void sio_oss_getvol(struct sio_hdl *);
-
- static struct sio_ops sio_oss_ops = {
- sio_oss_close,
-@@ -121,8 +123,8 @@ static struct sio_ops sio_oss_ops = {
- sio_oss_nfds,
- sio_oss_pollfd,
- sio_oss_revents,
-- NULL, /* setvol */
-- NULL, /* getvol */
-+ sio_oss_setvol,
-+ sio_oss_getvol,
- };
-
- /*
-@@ -228,12 +230,10 @@ sio_oss_getcap(struct sio_hdl *sh, struct sio_cap *cap
- }
-
- static int
--sio_oss_getfd(const char *str, unsigned int mode, int nbio)
-+_sio_oss_getdev(const char *str, char *path, size_t len)
- {
- const char *p;
-- char path[DEVPATH_MAX];
- unsigned int devnum;
-- int fd, flags, val;
-
- p = _sndio_parsetype(str, "rsnd");
- if (p == NULL) {
-@@ -253,7 +253,24 @@ sio_oss_getfd(const char *str, unsigned int mode, int
- DPRINTF("sio_oss_getfd: %s: number expected after '/'\n", str);
- return -1;
- }
-- snprintf(path, sizeof(path), DEVPATH_PREFIX "%u", devnum);
-+ snprintf(path, len, DEVPATH_PREFIX "%u", devnum);
-+ return 0;
-+}
-+
-+static int
-+sio_oss_getfd(const char *str, unsigned int mode, int nbio)
-+{
-+ char path[DEVPATH_MAX];
-+ int fd, flags, val;
-+ audio_buf_info bi;
-+
-+ if (strcmp(str, SIO_DEVANY) == 0) {
-+ /* Use /dev/dsp (the default device) directly */
-+ snprintf(path, sizeof(path), DEVPATH_PREFIX);
-+ } else if (_sio_oss_getdev(str, path, sizeof(path)) < 0) {
-+ return -1;
-+ }
-+
- if (mode == (SIO_PLAY | SIO_REC))
- flags = O_RDWR;
- else
-@@ -264,6 +281,19 @@ sio_oss_getfd(const char *str, unsigned int mode, int
- DPERROR(path);
- return -1;
- }
-+ /*
-+ * Check if the device supports playing/recording.
-+ * Unfortunately, it's possible for devices to be opened RDWR
-+ * even when they don't support playing/recording.
-+ */
-+ if (mode & SIO_PLAY && ioctl(fd, SNDCTL_DSP_GETOSPACE, &bi) < 0) {
-+ close(fd);
-+ return -1;
-+ }
-+ if (mode & SIO_REC && ioctl(fd, SNDCTL_DSP_GETISPACE, &bi) < 0) {
-+ close(fd);
-+ return -1;
-+ }
- val = 1;
- if (ioctl(fd, SNDCTL_DSP_LOW_WATER, &val) < 0) {
- DPERROR("sio_oss_start: LOW_WATER");
-@@ -383,13 +413,25 @@ sio_oss_setpar(struct sio_hdl *sh, struct sio_par *par
- struct sio_oss_hdl *hdl = (struct sio_oss_hdl *)sh;
- unsigned int i, round, bufsz;
- int frag_max, frag_shift, frag_count, frag;
-+ unsigned int le, sig, msb;
-
-+ le = par->le;
-+ sig = par->sig;
-+ msb = par->msb;
-+
-+ if (le == ~0U)
-+ le = 0;
-+ if (sig == ~0U)
-+ sig = 0;
-+ if (msb == ~0U)
-+ msb = 0;
-+
- hdl->fmt = AFMT_S16_LE;
- for (i = 0; i < sizeof(formats)/sizeof(formats[0]); i++) {
- if (formats[i].bits == par->bits &&
-- formats[i].le == par->le &&
-- formats[i].sig == par->sig &&
-- formats[i].msb == par->msb) {
-+ formats[i].le == le &&
-+ formats[i].sig == sig &&
-+ formats[i].msb == msb) {
- hdl->fmt = formats[i].fmt;
- break;
- }
-@@ -734,6 +776,42 @@ sio_oss_revents(struct sio_hdl *sh, struct pollfd *pfd
- hdl->odelta -= delta;
- }
- return revents;
-+}
-+
-+static int
-+sio_oss_setvol(struct sio_hdl *sh, unsigned int vol)
-+{
-+ struct sio_oss_hdl *hdl = (struct sio_oss_hdl *)sh;
-+ int newvol;
-+
-+ /* Scale to 0..100 */
-+ newvol = 1.0 * 100 * vol / SIO_MAXVOL;
-+ newvol = newvol | (newvol << 8);
-+
-+ if (ioctl(hdl->fd, SNDCTL_DSP_SETPLAYVOL, &newvol) < 0) {
-+ DPERROR("sio_oss_setvol");
-+ hdl->sio.eof = 1;
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+
-+static void
-+sio_oss_getvol(struct sio_hdl *sh)
-+{
-+ struct sio_oss_hdl *hdl = (struct sio_oss_hdl *)sh;
-+ int vol;
-+
-+ if (ioctl(hdl->fd, SNDCTL_DSP_GETPLAYVOL, &vol) < 0) {
-+ DPERROR("sio_oss_getvol");
-+ hdl->sio.eof = 1;
-+ return;
-+ }
-+
-+ /* Use left channel volume and scale to SIO_MAXVOL */
-+ vol = SIO_MAXVOL * 1.0 * (vol & 0x7f) / 100;
-+ _sio_onvol_cb(&hdl->sio, vol);
- }
-
- #endif /* defined USE_OSS */
diff --git a/audio/sndio/files/sndiod.in b/audio/sndio/files/sndiod.in
index 2300f2b85ec7..e001bc3627f5 100644
--- a/audio/sndio/files/sndiod.in
+++ b/audio/sndio/files/sndiod.in
@@ -14,9 +14,8 @@ rcvar=sndiod_enable
load_rc_config $name
-: ${sndiod_dev="rsnd/$($SYSCTL -n hw.snd.default_unit)"}
: ${sndiod_enable="NO"}
-: ${sndiod_flags="-f ${sndiod_dev} -c 0:7 -j off -s default -m mon -s monitor"}
+: ${sndiod_flags="-c 0:7 -j off -s default -m mon -s monitor"}
command="%%PREFIX%%/bin/sndiod"