Index | Thread | Search

From:
Klemens Nanni <kn@openbsd.org>
Subject:
audio/shairport-sync: test/update to 4.3.2
To:
ports@openbsd.org
Date:
Thu, 25 Jan 2024 01:14:02 +0000

Download raw body.

Thread
  • Klemens Nanni:

    audio/shairport-sync: test/update to 4.3.2

I noticed that 3.3.9 doesn't always start playback due to sync errors
when connecting;  it does not recover, but restarting the daemon and
reconnecting a few times works, then playback is stable.

With 4.3.2 I see the same behaviour, possibly more often.
Can someone else report how well/bad works for them?

To see any kind of log at all with either version, one can do
	# rcctl stop shairport_sync
	# su -fl -s /bin/sh _shairport
	$ shaiport --verbose --use-stderr

Still no AirPlay 2 support due to lack of NQPTP (Not Quite PTP)
in form of a separate daemon, otherwise lots of changes/fixes:
https://github.com/mikebrady/shairport-sync/releases

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/shairport-sync/Makefile,v
diff -u -p -r1.5 Makefile
--- Makefile	25 Jan 2024 00:23:07 -0000	1.5
+++ Makefile	25 Jan 2024 00:48:36 -0000
@@ -1,14 +1,6 @@
 COMMENT =	AirPlay audio player
 
-GH_ACCOUNT =	mikebrady
-GH_PROJECT =	shairport-sync
-GH_TAGNAME =	3.3.9
-REVISION =	3
-
-SITES.fix =		https://github.com/mikebrady/shairport-sync/commit/
-# "avoid recursive mutex acquisition in sndio backend" to fix crash on pause
-PATCHFILES.fix =	57af5f3c10c54947cf160fe46a580cf40669d412.patch
-PATCH_DIST_STRIP =	-p1
+DIST_TUPLE =	github	mikebrady	shairport-sync	4.3.2	.
 
 CATEGORIES =	audio
 
@@ -27,7 +19,8 @@ LIB_DEPENDS =	devel/libconfig \
 CONFIGURE_ENV +=	CFLAGS="${CFLAGS} -I${PREFIX}/include"
 
 CONFIGURE_STYLE =	autoreconf
-AUTOCONF_VERSION =	2.69
+SEPARATE_BUILD =	Yes
+AUTOCONF_VERSION =	2.71
 AUTOMAKE_VERSION =	1.16
 
 CONFIGURE_ARGS +=	--with-ssl=openssl \
Index: distinfo
===================================================================
RCS file: /cvs/ports/audio/shairport-sync/distinfo,v
diff -u -p -r1.2 distinfo
--- distinfo	22 Jan 2024 01:40:28 -0000	1.2
+++ distinfo	25 Jan 2024 00:48:36 -0000
@@ -1,4 +1,2 @@
-SHA256 (57af5f3c10c54947cf160fe46a580cf40669d412.patch) = oXgaUppVX6sT9ZLReDyLZ9pRxB/s43puBLDsvSlmsWQ=
-SHA256 (shairport-sync-3.3.9.tar.gz) = F5kMsmIFUcqgehw7NxiJ5VgDBx6q2gTpWMNWVHp+F5U=
-SIZE (57af5f3c10c54947cf160fe46a580cf40669d412.patch) = 2421
-SIZE (shairport-sync-3.3.9.tar.gz) = 426827
+SHA256 (mikebrady-shairport-sync-4.3.2.tar.gz) = 37SFwGAzmAMqAOUfhLh0dJu/FVslet2j0nDVmJ3gi/0=
+SIZE (mikebrady-shairport-sync-4.3.2.tar.gz) = 560574
Index: patches/patch-man_shairport-sync_7
===================================================================
RCS file: /cvs/ports/audio/shairport-sync/patches/patch-man_shairport-sync_7,v
diff -u -p -r1.1.1.1 patch-man_shairport-sync_7
--- patches/patch-man_shairport-sync_7	27 Apr 2022 02:19:25 -0000	1.1.1.1
+++ patches/patch-man_shairport-sync_7	25 Jan 2024 00:48:36 -0000
@@ -7,5 +7,5 @@ Index: man/shairport-sync.7
 -.TH shairport-sync 7 User Manuals
 +.TH shairport-sync 1 User Manuals
  .SH NAME
- shairport-sync \- Synchronised Audio Player for iTunes / AirPlay
+ shairport-sync \- AirPlay and AirPlay 2 Audio Player
  .SH SYNOPSIS
Index: patches/patch-rtsp_c
===================================================================
RCS file: patches/patch-rtsp_c
diff -N patches/patch-rtsp_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-rtsp_c	25 Jan 2024 00:48:36 -0000
@@ -0,0 +1,21 @@
+No per-socket TCP keep-alive on OpenBSD
+
+Index: rtsp.c
+--- rtsp.c.orig
++++ rtsp.c
+@@ -5601,6 +5601,7 @@ void *rtsp_listen_loop(__attribute((unused)) void *arg
+         size_of_reply = sizeof(SOCKADDR);
+         if (getsockname(conn->fd, (struct sockaddr *)&conn->local, &size_of_reply) == 0) {
+ 
++#if !defined(__OpenBSD__)
+           // Thanks to https://holmeshe.me/network-essentials-setsockopt-SO_KEEPALIVE/ for this.
+ 
+           // turn on keepalive stuff -- wait for keepidle + (keepcnt * keepinttvl time) seconds
+@@ -5635,6 +5636,7 @@ void *rtsp_listen_loop(__attribute((unused)) void *arg
+                          sizeof(keepAliveInterval))) {
+             debug(1, "can't set the keepidle missing count interval");
+           };
++#endif /* !defined(__OpenBSD__) */
+ 
+           // initialise the connection info
+           void *client_addr = NULL, *self_addr = NULL;
Index: pkg/shairport_sync.rc
===================================================================
RCS file: /cvs/ports/audio/shairport-sync/pkg/shairport_sync.rc,v
diff -u -p -r1.1.1.1 shairport_sync.rc
--- pkg/shairport_sync.rc	27 Apr 2022 02:19:25 -0000	1.1.1.1
+++ pkg/shairport_sync.rc	25 Jan 2024 00:48:36 -0000
@@ -6,4 +6,5 @@ daemon_user="_shairport"
 . /etc/rc.d/rc.subr
 
 rc_bg=YES
+
 rc_cmd $1