Commit Graph
579 Commits
Author SHA1 Message Date
Mike Brady 41f55ac1cb Stop clearing the timing peer list and stop removing the anchor clock info. 2021-12-06 18:03:42 +00:00
Mike Brady 231d5242d7 clang format only 2021-12-02 11:19:52 +00:00
Mike Brady 60f830bc75 Tidy up the statistics printout table and stop outputting (non existent) nominal fps for AP2 Realtime Streams. 2021-12-02 11:16:00 +00:00
Mike Brady 7b8e293f8b Change behaviour after an unrecoverable error -- if not handled, exit Shairport Sync. 2021-12-01 09:01:31 +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 dc5b8f1a11 Clang format 2021-11-26 18:02:23 +00:00
Mike Brady 7890188dcf Quieten some debug messages. 2021-11-26 18:01:36 +00:00
Mike Brady b9d3abfa24 Add some debug messages to help check the output rate calculations. 2021-11-26 15:18:27 +00:00
Mike Brady 87d887f412 Remove the commas in the statistics logs -- easier to get into a spreadsheet. 2021-11-25 18:13:56 +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 881a5ca25e Don't display output FPS, as it's not clear how accurate it is... 2021-11-20 15:11:57 +00:00
Mike Brady 1797b4164b Check for the stats function before allowing expanded stats info. 2021-11-20 14:18:13 +00:00
Mike Brady cd9da86fc3 Add a 'stats' function to the audio back ends to replace the 'rate_info' function. Zero all except the alsa back end. 2021-11-20 13:59:16 +00:00
Mike Brady 5f8e6e3989 attempt to increase the precision of the FPS timing 2021-11-20 12:14:23 +00:00
Mike Brady c0a3dacf30 Working to check for divide / mod by 0's 2021-11-17 10:35:21 +00:00
Mike Brady 4729b3ea71 Merge branch 'development' of git.aillwee.com:base/shairport-sync into development
Merge independent changes.
2021-11-14 15:13:54 +00:00
Mike Brady 3f6f09328d Fix a bug by ensuring certain ap2 variables are initialised by the player thread. 2021-11-14 11:18:39 +00:00
Mike Brady 04240708a9 Try using the monotonic clock for checking output rate... 2021-11-08 10:14:42 +00:00
Mike Brady 99c6638573 Ensure the frame rate calculator allows for silent frames added to disable standby. Clean up outmoded and unused stuff in audio_alsa.c. More to do. 2021-11-06 18:32:26 +00:00
Mike Brady d3c067d009 Honour the volume_range_db with a hardware attenuator, duh. 2021-09-29 09:26:46 +01:00
Mike Brady b24380d34b Move the release of the group UUID to when the connection ends, not when the play session ends. 2021-09-02 12:20:53 +01:00
Mike Brady 063b02cb11 Mark the airplay_gid free by nulling it. 2021-09-01 16:40:04 +01:00
Mike Brady 7d36f04025 If the airplay_gid is not NULL, free it before deleting the player. 2021-09-01 10:31:06 +01:00
Mike Brady 3a6297bc9a Honour max_output_db setting even when ignore_volume_control is true. Spell out "Shairport Sync" in the Home app information. 2021-07-16 15:04:51 +01:00
Mike Brady 27895723b9 Prevent a crash when statistics are requested over the D-Bus interface by preparing for them even when not initially requested. 2021-07-07 17:00:52 +00:00
Mike Brady 7b8e68650f Fix the rtptime modulo calculations -- the SIGNEX idea doesn't seem to be portable, so it has to be done the hard way. 2021-06-23 14:40:38 +01:00
Mike Brady 767bed6b9f Sometimes the output_rtptime_mask seems to be calculated in 32-bit arithmetic (?), so do it all explicitly in 64-bit signed int as soon as the output_rtptime_sign_bit is calculated. 2021-06-23 11:21:32 +01:00
Mike Brady 0ac00359f7 remove those warnings 2021-06-17 18:16:15 +01:00
Mike Brady c37ee4542d Add code to skip packets of buffered audio that are late or too early. 2021-06-09 19:35:08 +01:00
Mike Brady 5c48580db9 Get it working for multiples of 44100 again. It's stuck accepting only 44,100 fps input for the moment. 2021-06-06 15:51:39 +01:00
Mike Brady 142478933f Move the activity monitor calls to enable active mode correctly for buffered audio. 2021-06-04 09:42:31 +01:00
Mike Brady 516a6b2105 Align some of the statistics better. 2021-06-03 09:52:38 +01:00
Mike Brady bcad9d5998 Add 100 ms to the amount to flush after a large positive sync error to give the system a better chance to recover in one attempt. 2021-06-03 09:21:14 +01:00
Mike Brady 8bee92a4e6 Clean up the statistics output to make it provide information for the stream type. Parameterise it so that it's a bit easier to manage. 2021-06-02 17:17:54 +01:00
Mike Brady c5dafbd28b Remember the original anchor information so that if the master clock become equal to it in the future, it can be restored to those exact numbers and eliminate any intervening approximations. Add some diagnostics. 2021-06-01 14:51:17 +01:00
Mike Brady d4ea91aa65 Rough and hacky but works with the bit depth of the output DAC to automatically choose the correct AAC decoding sample size. Allocation of rotating buffers is fixed and profligate. 2021-06-01 08:56:47 +01:00
Mike Brady 1464c4ed04 Restore ability to compile without AIRPLAY-2 flag (duh). Begin to split player_play into player_prepare and player_play. 2021-05-31 17:12:20 +01:00
Mike Brady a109b587ec Flush seems to be working properly and reliably. Some audio glitches removed too by dropping the first two AAC blocks of any passage. Crude. Flush diagnostic linked list stuff left in place. 2021-05-30 11:17:06 +01:00
Mike Brady 7c68f97d7f flaky but some interesting stuff 2021-05-29 15:59:11 +01:00
Mike Brady 2986b282d3 Does pretty well with flushing. Sometimes misses a flush on a repeat one. 2021-05-28 22:20:11 +01:00
Mike Brady c645a03946 handle volume control requests in AP2 correctly. Don't reset timing peer lists when buffered audio is paused. 2021-05-15 12:18:37 +01:00
Mike Brady 7592e237d8 quieten a debug message 2021-05-13 21:07:56 +01:00
Mike Brady e41795f4da clang 2021-05-13 20:59:38 +01:00
Mike Brady bb226a4184 fix flush of a large sync error, hopefully. 2021-05-13 20:10:38 +01:00
Mike Brady a27f43cf92 Remove some obsolete error checking code. 2021-05-12 10:58:29 +01:00
Mike Brady e8e81a8b07 fix a couple of compilation errors. 2021-05-12 10:57:50 +01:00
Mike Brady 3f77994948 more closely check for time information being available. 2021-05-11 18:52:02 +01:00
Mike Brady 2b88215f09 Clean up some of the sync timing. Ignore a flush if playing AP2. Set the requested lead time to zero. 2021-05-11 10:46:56 +01:00
Mike Brady a563d5e847 Quieten some more debug messages. Fix a misleading clock status return. 2021-05-10 16:03:02 +01:00
Mike Brady 04c7f84564 Improve NQPTP clock diagnostics, tidy up some messages. 2021-05-10 14:16:57 +01:00