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

Reply via email to