Merge pull request #6956 from heitbaum/snapserver11

Update snapserver to support AirPlay 2
This commit is contained in:
CvH 2022-11-20 08:41:27 +01:00 committed by GitHub
commit 7991e3dae3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 53 additions and 74 deletions

View File

@ -0,0 +1,13 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libsodium"
PKG_VERSION="e2bd4024008c73f1c0402e1c2f4db9a2300e9c95" # 1.0.18-stable 2022-09-24
PKG_SHA256="b5035fcc061e410291baded4098a3ab56da90eb7d47d82ba2d0e05e3d105b8f6"
PKG_LICENSE="ISC"
PKG_SITE="https://libsodium.org/"
PKG_URL="https://github.com/jedisct1/libsodium/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A modern, portable, easy to use crypto library"
PKG_CONFIGURE_OPTS_TARGET="--disable-shared"

View File

@ -0,0 +1,15 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="nqptp"
PKG_VERSION="c71b49a3556ba8547ee28482cb31a97fe99298aa"
PKG_SHA256="02ed710ed37269adbede06fcd4e12892cc0f9d14d5c68b7f45d67b8694bff1e4"
PKG_LICENSE="GPL-2.0"
PKG_SITE="https://github.com/mikebrady/nqptp"
PKG_URL="https://github.com/mikebrady/nqptp/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Not Quite PTP"
PKG_TOOLCHAIN="autotools"
PKG_BUILD_FLAGS="-sysroot"
PKG_CONFIGURE_OPTS_TARGET="--with-systemd-startup"

View File

@ -2,12 +2,12 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="shairport-sync"
PKG_VERSION="3.3.8"
PKG_SHA256="c92f9a2d86dd1138673abc66e0010c94412ad6a46da8f36c3d538f4fa6b9faca"
PKG_VERSION="4.1"
PKG_SHA256="951fc9f33a631736fe49d2ed040b27a417c93ffdf05a2d13116c6dda7628ea86"
PKG_LICENSE="OSS"
PKG_SITE="https://github.com/mikebrady/shairport-sync"
PKG_URL="https://github.com/mikebrady/shairport-sync/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain alsa-lib avahi libconfig libdaemon libsndfile openssl popt pulseaudio soxr"
PKG_DEPENDS_TARGET="toolchain alsa-lib avahi ffmpeg libconfig libdaemon libgcrypt libplist libsndfile libsodium nqptp openssl popt pulseaudio soxr util-linux"
PKG_LONGDESC="AirPlay audio player."
PKG_TOOLCHAIN="autotools"
PKG_BUILD_FLAGS="-sysroot"
@ -22,4 +22,5 @@ PKG_CONFIGURE_OPTS_TARGET="--with-alsa \
--with-soxr \
--with-ssl=openssl \
--with-stdout \
--without-configfiles"
--without-configfiles \
--with-airplay-2"

View File

@ -1,48 +0,0 @@
From ad22edb303a470b6f9eda9fd9d3f588bb2eff8cb Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 15 Oct 2021 08:02:23 +0200
Subject: [PATCH] configure.ac: fix build with automake 1.16.5
Fix the following build failure with convolution raised since automake
1.16.5 and
https://git.savannah.gnu.org/cgit/automake.git/commit/?id=f4a3a70f69e1dbccb6578f39ef47835098a04624:
configure.ac:305: error: AM_INIT_AUTOMAKE expanded multiple times
/home/giuliobenetti/autobuild/run/instance-1/output-1/host/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:6: the top level
/home/giuliobenetti/autobuild/run/instance-1/output-1/host/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:305: the top level
Fixes:
- http://autobuild.buildroot.org/results/464148bdccb705d8992dc860262bfdeb01b7e2a1
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/mikebrady/shairport-sync/pull/1314]
---
configure.ac | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index f77087c5..aa533a2d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
AC_PREREQ([2.50])
AC_INIT([shairport-sync], [3.3.8], [4265913+mikebrady@users.noreply.github.com])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([subdir-objects])
AC_CONFIG_SRCDIR([shairport.c])
AC_CONFIG_HEADERS([config.h])
AC_PROG_RANLIB
@@ -302,7 +302,6 @@ AM_CONDITIONAL([USE_PA], [test "x$with_pa" = "xyes"])
# Look for Convolution flag
AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP convolution support])])
if test "x$with_convolution" = "xyes" ; then
- AM_INIT_AUTOMAKE([subdir-objects])
AC_DEFINE([CONFIG_CONVOLUTION], 1, [Include audio DSP convolution support.])
AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!))
fi
--
2.33.0

View File

@ -1,20 +0,0 @@
--- a/configure.ac 2021-04-26 20:35:11.000000000 +1000
+++ b/configure.ac 2021-09-29 20:31:32.372329878 +1000
@@ -302,9 +302,16 @@
# Look for Convolution flag
AC_ARG_WITH(convolution, [AS_HELP_STRING([--with-convolution],[choose audio DSP convolution support])])
if test "x$with_convolution" = "xyes" ; then
+ if test "x${with_pkg_config}" = "xyes" ; then
+ PKG_CHECK_MODULES(
+ [sndfile], [sndfile],
+ [CFLAGS="${sndfile_CFLAGS} ${CFLAGS}"
+ LIBS="${sndfile_LIBS} ${LIBS}"], AC_MSG_ERROR(Convolution support requires the sndfile library.))
+ else
+ AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!))
+ fi
AC_DEFINE([CONFIG_CONVOLUTION], 1, [Include audio DSP convolution support.])
- AC_CHECK_LIB([sndfile], [sf_open], , AC_MSG_ERROR(Convolution support requires the sndfile library -- libsndfile1-dev suggested!))
fi
AM_CONDITIONAL([USE_CONVOLUTION], [test "x$with_convolution" = "xyes"])
# Look for dns_sd flag

View File

@ -0,0 +1,11 @@
--- a/server/streamreader/airplay_stream.cpp 2021-12-22 17:40:36.000000000 +0000
+++ b/server/streamreader/airplay_stream.cpp 2022-10-03 12:05:31.690039620 +0000
@@ -58,7 +58,7 @@
string devicename = uri_.getQuery("devicename", "Snapcast");
string password = uri_.getQuery("password", "");
- params_wo_port_ = "\"--name=" + devicename + "\" --output=stdout --use-stderr --get-coverart";
+ params_wo_port_ = "\"--name=" + devicename + "\" --output=stdout --use-stderr --get-coverart --mdns=avahi";
if (!password.empty())
params_wo_port_ += " --password \"" + password + "\"";
if (!params_.empty())

View File

@ -1,3 +1,7 @@
111
- Update shairport-sync to 4.1
- Add nqptp to support shairport-sync AirPlay 2
110
- Add options to set librespot devicename and zeroconf-port

View File

@ -3,10 +3,10 @@
PKG_NAME="snapserver"
PKG_VERSION="0.26.0"
PKG_REV="110"
PKG_REV="111"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_DEPENDS_TARGET="toolchain shairport-sync snapcast"
PKG_DEPENDS_TARGET="toolchain nqptp shairport-sync snapcast"
PKG_SECTION="service"
PKG_SHORTDESC="Snapserver: Synchronous multi-room audio server"
PKG_LONGDESC="Snapclient (${PKG_VERSION}) is a Snapcast server. Snapcast is a multi-room client-server audio system, where all clients are time synchronized with the server to play perfectly synced audioplays."
@ -21,6 +21,7 @@ PKG_MAINTAINER="Anton Voyl (awiouy)"
addon() {
mkdir -p "${ADDON_BUILD}/${PKG_ADDON_ID}/bin"
cp "$(get_install_dir shairport-sync)/usr/bin/shairport-sync" \
"$(get_install_dir nqptp)/usr/bin/nqptp" \
"$(get_install_dir snapcast)/usr/bin/snapserver" \
"${ADDON_BUILD}/${PKG_ADDON_ID}/bin"

View File

@ -48,6 +48,8 @@ else
enable_http=0
fi
nqptp &
HOME="$ADDON_HOME" \
nice -n "$ss_ni" \
snapserver \