Mike Brady [Wed, 28 Sep 2022 10:32:37 +0000 (11:32 +0100)]
Tidy up the Dockerfile for AP2 and replace the AP1 Docker stuff with a derivative of the AP2 stuff to add the s6 overlay. The argument for invoking Shairport Sync on both should be 'shairport-sync --log-to-syslog' plus whatever command line arguments you want.
Mike Brady [Fri, 23 Sep 2022 16:02:26 +0000 (17:02 +0100)]
Add in code to detect the iOS 16 discontinuity but not to do anything about it. Delaying everything by 2112 frames after the discontinuity removes it, but the result seems to be that playback is delayed by 2112 frames. One approach would be to advance everything prior to the discontinuity by 2112 frames, but that would require checking what version of software the source was using, so hardly worth the trouble.
Mike Brady [Thu, 22 Sep 2022 15:28:51 +0000 (16:28 +0100)]
Skip the out-of-date frames at the start of a session in AirPLay 2 Buffered Streams in iOS 16.0 / Ventura beta / iOS 16.1 beta. Only skip two blocks to avoid AAC transients and substitute silent for them.
Mike Brady [Fri, 16 Sep 2022 19:02:32 +0000 (20:02 +0100)]
Add in, but comment out, some code to investigate discontinuities in timestamps of audio coming from iOS 16.0 devices. Also clean up code to supress initial AAC transients when skipping or scrubbing. There must be a nicer way to do this.
Mike Brady [Thu, 15 Sep 2022 13:09:33 +0000 (14:09 +0100)]
Make the RTSP idle checker a bit more resilient -- wait for the full timeout even if interrupted. Also signal to NQPTP when to stop listening and when to start w.r.t. idle and when a session stop.
Mike Brady [Mon, 12 Sep 2022 14:19:52 +0000 (15:19 +0100)]
Squashed commit of the following:
Add three parameters to the backend play() function call -- (1) a flag indicating whether the samples are timed or not. If timed, (2) the timestamp and (3) the local time at which the first frame should be heard.
Update missing pipewire library message.
Makefile.am fix.
Update the SHM version and fix the SHM name so that it works with FreeBSD.
Remove redundant (?) AC_HEADER_STDC check.
Fix compilation and installation under FreeBSD -- changes to allow building in a separate directory broke the FreeBSD build process.
Add AC_CHECK_LIB for gcrypt in case PKG_CHECK_MODULES fails to find it.
Find gcrypt using pkg-config
Add code to detect when the RTSP channel goes idle for a period, and use it to reset clocks and timings, etc. so that SPS resumes correctly where the source has gone to sleep while playing a realtime stream and has subsequently woken up.
Don't exit if a UDP Clock Control packet is empty. Also check minimum packet size.
Remove some very experimental code which may cause memory and port leaks.
Strip file path from the filename used in debug messages, information messages, warnings and fatal error messages.
BB fix to Makefile.am -- overwriting the DBUS stuff with MPRIS definitions, duh.
Fix some problems building on FreeBSD and tidy up the use of the "sed" editor.
Fix some problems building on picore.
Fix an uninitialised variable
start using the "nqptp" SMI
Mike Brady [Wed, 31 Aug 2022 11:55:42 +0000 (12:55 +0100)]
Wait for a longer period for a realtime control packet before concluding that the sender is gone. Also, don't exit if the packet is empty. Also check minimum packet size.