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
Mike Brady
54d761ff7d
Clean up some of the wording and layout of the configuration file
...
Clean up and improve the way lead-in sillence is used to give a more accurate sync time to the first packet of audio.
Allow very good sync to occur with 0.3 seconds of lead-in silence.
Improve the use of the buffer offset.
Format some other files.
2020-05-18 16:55:09 +01:00