Mike Brady
7dc077e260
Clang format
2022-09-23 17:05:26 +01:00
Mike Brady
c433e2e87d
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.
2022-09-23 17:02:26 +01:00
Mike Brady
c6bb33dcaf
Roll back fix for extra frames -- it fixes sync issues but introduces transients or glitches. Not nice.
2022-09-22 18:19:46 +01:00
Mike Brady
b19dd9e93c
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.
2022-09-22 16:28:51 +01:00
Mike Brady
cae9492d0a
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.
2022-09-16 20:02:32 +01:00
Mike Brady
fd880056fb
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
2022-09-12 15:19:52 +01:00
Mike Brady
a617e607cb
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.
2022-08-31 12:55:42 +01:00
Mike Brady
174556f054
Remove a few causes of "possibly uninitialised" warnings.
2022-08-16 09:26:35 +01:00
Mike Brady
de8df93471
Comment out an unused variable.
2022-08-08 12:19:04 +01:00
Mike Brady
3cc1ec6abc
reset anchor time if realtime control message is missing.
2022-08-03 12:55:59 +01:00
Mike Brady
524a8a1203
Quieten a debug message.
2022-07-14 11:04:02 +01:00
Mike Brady
623b760ba5
Reinstate the 5.0 second settling time for a clock change.
2022-07-09 09:55:28 +01:00
Mike Brady
6bfeb49fba
Reduce the settling time given for a change in master clock from 5 sec to 0.75 sec.
2022-07-08 15:18:25 +01:00
Mike Brady
f551274a2e
Set the initial volume to 0.0 (full volume) if ignore_volume_control is selected. Add some code to explore remote_control. Still not even close to working.
2022-06-25 10:47:18 +01:00
Mike Brady
fb151915ae
Tidy up write encrypted. Explore some of the remote_control connections. Not working.
2022-06-23 09:40:30 +01:00
Mike Brady
6556a79dbc
Fix a bug that caused SPS to stop if another speaker with its own master clock (e.g. a HomePod mini) was included and then removed from the output group.
2022-06-19 13:13:09 +01:00
Mike Brady
3d9d9757ce
Add a const qualifier
2022-06-09 07:57:51 -07:00
Mike Brady
953b09560c
Remove the unnecessary fltp capability test; it should have been done at startup.
2022-05-24 15:20:54 +01:00
Mike Brady
645e17749e
Turn off AAC decoder checker.
2022-05-24 13:31:28 +01:00
Mike Brady
a1dabd79a7
Remove check for AAC decoder.
2022-05-24 10:17:01 +01:00
Mike Brady
2177daec13
Remove misleading (obselete) comment.
2022-05-22 15:36:39 +01:00
Mike Brady
086acbe5a4
Check that the AAC decoder can do fltp decoding. Need to do more of this kind of checking at startup!
2022-05-22 11:32:36 +01:00
Mike Brady
00bc837bef
quieten some debug messages.
2022-05-17 17:50:46 +01:00
Mike Brady
3b4a21f002
Quieten some debug messages. Remove some redundant code.
2022-05-17 15:49:01 +01:00
Mike Brady
aedc83978f
A little more debug information.
2022-05-17 13:51:29 +01:00
Mike Brady
8a2756b7f0
Greatly simplify dealing with a new anchor clock -- basically, accept a new anchor clock immediately, without delay. A new master clock is accepted after 5 seconds. If the anchor clock changes as it may in a realtime stream, it will change within one second of the master clock, and the 5 second delay will be skipped. Discard the first two seconds of audio within the first two seconds of a connection being made. This is to allow the clocks to settle and stabilise. Debug message changes.
2022-05-14 19:05:38 +10:00
Mike Brady
1dc481c3d3
Clean up some of the code for accepting or diacarding buffered audio depending on its timeliness.
2022-03-16 12:38:05 +11:00
Mike Brady
a382ac6672
Clang Format
2022-03-14 11:56:43 +11:00
Mike Brady
424c376b86
Remove a diagnostic setting.
2022-03-14 11:53:48 +11:00
Mike Brady
3c27849328
Quieten two debug messages.
2022-03-13 13:29:55 +11:00
Mike Brady
08afa822f5
Add buffer size to statistcs information for a Buffered Audio stream.
2022-03-13 12:33:53 +11:00
Mike Brady
2706a62304
Fix a diagnostic message.
2022-02-28 18:00:25 +11:00
Mike Brady
e07c202b76
Quieten a compiler warning -- might not work.
2022-02-07 12:37:49 +00:00
Mike Brady
c37f511319
Check certain 64-bit and 32-bit conversions.
2022-01-30 16:51:01 +00:00
Mike Brady
8d3bbe225b
Discard non-sentinel packets at the start of a Realtime play -- they might belong to the previous session.
2022-01-28 11:14:52 +00:00
Mike Brady
deb11654ab
Add some sanity checking of latency-affecting settings.
2022-01-24 10:17:07 +01:00
Mike Brady
703717a58a
Reset the realtime clock information when a realtimne stream play terminates.
2022-01-23 10:04:04 +01:00
Mike Brady
59d92db39f
Improve a few debug messages.
2022-01-01 19:01:20 +00:00
Mike Brady
966d68bdec
Begin to get SPS to give a unique shm interface name to nqptp. Also clang format
2021-12-27 12:19:01 +00:00
Mike Brady
8656149d68
Adjust the time needed to allow the clock to settle and the lead time.
2021-12-21 15:32:16 +00:00
Mike Brady
2e6eb23a04
Wait for 300 secodns before complaining about the age of a sync.
2021-12-21 15:03:28 +00:00
Mike Brady
6f7e894777
Set the minimum bus mastership time to two seconds. Turn on a debug message.
2021-12-20 12:15:59 +00:00
Mike Brady
b938064bae
Add client and server ip metadata for AP2. Remove timing peer list and DACP code only for a full AP2 teardown.
2021-12-07 21:34:53 +00:00
Mike Brady
3de7e9a5c5
Look for at least 0.1 seconds of leadtime, ensure a master clock is at least 0.275 seconds old before use, quieten a few debug messages.
2021-12-07 12:09:49 +00:00
Mike Brady
70821f8127
Clang Format
2021-12-06 18:45:25 +00:00
Mike Brady
0b21373c0e
Skip some invalid AAC packets, don't decode outdated frames, wait for timing information to be valid.
2021-12-06 18:13:20 +00:00
Mike Brady
56bef8e7dd
Use CLOCK_MONOLITHIC_RAW to avoid NTP effects, report raw and corrected timing from audio_alsa. Clean up statistics. Stop watchdog timing out AP2 sessions. CLean up some debug messages.
2021-11-28 16:08:48 +00:00
Mike Brady
14bfba2724
Add code to check divisions and mods for a potrntial divide by zero problem. MAy cause SPS to terminate but leave a log message.
2021-11-21 21:47:32 +00:00
Mike Brady
c0a3dacf30
Working to check for divide / mod by 0's
2021-11-17 10:35:21 +00:00
Mike Brady
5c418702d6
Quieten some debug messages.
2021-09-29 10:08:22 +01:00