config BR2_PACKAGE_SHAIRPORT_SYNC
	bool "shairport-sync"
	depends on BR2_USE_MMU # libdaemon
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
	depends on BR2_INSTALL_LIBSTDCPP
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_MIXER
	select BR2_PACKAGE_LIBCONFIG
	select BR2_PACKAGE_LIBDAEMON
	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
	select BR2_PACKAGE_POPT
	help
	  Shairport Sync emulates an AirPort Express for the purpose
	  of streaming audio from iTunes, iPods, iPhones, iPads and
	  AppleTVs.  Audio played by a Shairport Sync-powered device
	  stays in synchrony with the source and thus with other
	  devices that are playing the same source
	  synchronously. Thus, for example, synchronised multi-room
	  audio is possible without difficulty.

	  https://github.com/mikebrady/shairport-sync

if BR2_PACKAGE_SHAIRPORT_SYNC

config BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR
	bool "libsoxr support"
	select BR2_PACKAGE_LIBSOXR
	help
	  Enable support for libsoxr, the SoX Resampler library.

	  Briefly, Shairport Sync keeps in step with the audio source
	  by deleting or inserting frames of audio into the stream as
	  needed. This "interpolation" is normally inaudible, but it
	  can be heard in some circumstances. Libsoxr allows this
	  interpolation to be done much more smoothly and subtly.

endif

comment "shairport-sync needs a toolchain w/ C++, NPTL"
	depends on BR2_USE_MMU
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
