Commit Graph
159 Commits
Author SHA1 Message Date
Mike Brady 4fa06bed6b Change playstart to a 64-but unsigned int. Store time of start of connection (for initial muting). Remove a redundant flag. 2022-05-14 18:58:05 +10:00
Mike Brady 9ae4dee5ae Simplify a comment. 2022-03-22 18:49:58 +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 deb11654ab Add some sanity checking of latency-affecting settings. 2022-01-24 10:17:07 +01:00
Mike Brady 04aba03b4f Stop storing the timing peer list. Clean up generation of device's timing addresses (and fix a bug). Use unique SMI interface for access to NQPTP. 2021-12-30 11:03:34 +00:00
Mike Brady e3faba141c log statsistics headers whenever verbosity goes on or off or whenever statistics are requested 2021-11-28 21:51:26 +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 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 4a82745561 Allocate, deallocate and NULL the rtp_event_thread memory space so that it is only deleted once! 2021-09-18 12:22:57 +01:00
Mike Brady 2e123cf39a Fix compilation errors that accumulated with no --with-airplay-2 flag set. 2021-09-09 11:24:23 +01:00
Mike Brady 7ff6d07c83 Don't need 'had_been_cancelled'. Remoted. 2021-09-06 11:02:59 +01:00
Mike Brady 1fc00e13e9 Seems to work better with iOS / HomePod mini speaker selection. Does not recover discarded rtsp stream memory! 2021-09-06 09:11:24 +01:00
Mike Brady ae1c4f1d29 redo handle_setup to identify ptp, ntp and remote control streams, returns 400 for remote control and unrecognised stuff. 2021-09-04 15:08:44 +01:00
Mike Brady fcd57227eb clang 2021-09-01 16:53:48 +01:00
Mike Brady e2153d275d Add new type of airplasy stream 2021-09-01 16:40:43 +01:00
Mike Brady d703314c06 Move group ID store to the conn. Fix the size of the groupContainsGroupLeader plist boolean store. 2021-09-01 10:28:30 +01:00
Mike Brady 5d4d75ad4e add a place to store the groupContainsGroupLeader from SETUP 2021-08-31 17:43:56 +01:00
Mike Brady 90740694ba When an unrecognised SETUP message is received, just say okay and ignore it. Remove reduncant client_setup_plist from the conn data structure. 2021-07-28 12:58:20 +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 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 ac515bbfa3 Deal with the possibility that the anchor information can be changed suddenly at the start of a Buffered Audio play. If the anchor info changes before the local_anchor info is mature enough (5 seconds), invalidate the local anchor info to force it to be immediately updated with the new anchor info. 2021-05-31 09:49:15 +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 2ea28c0661 Much better flushing. Delayed flushing only works for one delay. Noice artifacts removed when skipping. Pretty solid. 2021-05-29 21:24:33 +01:00
Mike Brady e258cca33a recognise two types of flush -- one with from and until information, the other with just until information. A flush with "with" information is not followed by a new set anchor, whereas a flush without the " with" information is alwasy followed by a new setanchor. 2021-05-28 19:16:37 +01:00
Mike Brady f4ba81ec5f remove redundant item 2021-05-26 19:36:31 +01:00
Mike Brady 637c8132e9 Move initial delay when using a new bus master to rtp.c and wait, if possible, whenever a new master comes along, to allow it to settle before using it. 2021-05-26 18:12:45 +01:00
Mike Brady 26ce13d511 a slightly more rational clock handling regime, I hope. Wait for 400 ms when a clock becomes master. Wait five seconds when you get a new master clock. 2021-05-26 16:48:25 +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 04c7f84564 Improve NQPTP clock diagnostics, tidy up some messages. 2021-05-10 14:16:57 +01:00
Mike Brady 953ad8ac14 Move AP2 player termination code from handle_teardown into the player cleanup function so that cancelling the player thread cleans up properly. 2021-05-08 17:46:13 +01:00
ejurgensen 493e9604d3 Use pair_ap for pairing and rtsp encryption 2021-05-04 20:34:37 +02:00
Mike Brady 25a1303269 Only stop the player if you still have the playing conn. 2021-05-02 15:34:52 +01:00
Mike Brady 6a13062100 clang format 2021-05-02 14:35:31 +01:00
Mike Brady c2940eb23b works in AP1-compatible AP2 mode, but resend isn't working. 2021-05-02 12:49:41 +01:00
Mike Brady a68f28ac2b clang format 2021-05-01 14:09:38 +01:00
Mike Brady 3a9af591f4 Compiles in AirPlay2 and AirPlay1 modes. Runs in AirPlay1 mode. Not tested in AirPlay2 mode. 2021-04-30 12:40:52 +01:00
Mike Brady 6760bab493 Compile with AP2 flag set 2021-04-30 12:30:12 +01:00
Mike Brady bdfb1c6ed6 player.c compiles and everything builds and runs with the airplay 2 flag off. With airplay_2 flag on, rtp.c won't build, but we know that. 2021-04-29 16:51:29 +01:00
Mike Brady 8a73d5972c rtp meged with lots of AP2 stuff still commented out. But it still works. 2021-04-29 15:04:50 +01:00
Mike Brady 3fc9570489 Clang Format 2020-09-27 10:45:22 +01:00
Mike Brady 6857d06bd6 Handle active_remote_id as a string rather than an unsigned 32-bit number. It seems ROON uses a longer character sequence. Tidy up some error messages aboout which backend is selected. 2020-09-27 10:44:12 +01:00
Mike Brady ca56287254 Make the first output backend in the list of backends the default and make its name the default output_name. Clang-format everything 2020-09-03 09:53:13 +01:00
Mike Brady f8c24c5f2b clean up flush detection code 2020-06-12 17:12:50 +01:00
Mike Brady 1312772bc8 Remove a redundant field from a time ping record 2020-06-09 11:33:32 +01:00
Mike Brady efec3cc7e5 Make the list of remote to local timing values a power of 2 -- necessary later for allowing headroom for calculations. 2020-06-09 09:36:12 +01:00
Mike Brady 759b87f2a2 Move the statistics array from the stack into the heap. 2020-05-23 20:31:54 +01:00
Mike Brady 034dd53af5 Calculate the delay and sync error modulo the output frame numbers. Duh! A long-standing bug. 2020-05-23 10:18:23 +01:00