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
77e70e497f
tighten up on the availability of a clock before feeding audio into the player.
2021-05-16 13:02:19 +01:00
Mike Brady
e41795f4da
clang
2021-05-13 20:59:38 +01:00
Mike Brady
c7bdc2c409
Tidy up a message.
2021-05-13 20:58:03 +01:00
Mike Brady
2180c7147f
If a PTP clock isn't available, use existing timing data if it's still valid.
2021-05-13 20:12:12 +01:00
Mike Brady
a3a7fb4849
ask for at least 50 ms of a lead-in for buffered audio.
2021-05-12 11:32:18 +01:00
Mike Brady
fcf5c7f8d3
clang
2021-05-12 11:00:41 +01:00
Mike Brady
171001ffd8
fix calculation of offset with a negative offset
2021-05-12 10:59:33 +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
Mike Brady
829ea399fc
Player thread always gains play lock and keeps ut until terminated. Clean up termination code, add extra diagnistic information and quieten some debug messages.
2021-05-10 09:37:42 +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
Mike Brady
fd4cc98aba
Slightly better timing. Bumped version for ejurgensen's new pair_ap work.
2021-05-05 18:33:21 +01:00
Mike Brady
6a13062100
clang format
2021-05-02 14:35:31 +01:00
Mike Brady
04c0d97685
Resend requests now work in the AP1-compatible AP2 mode.
2021-05-02 14:33:47 +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
5f1cbf6d20
store the latency so that the resend requst timing computations can be done correctly in the realtime streaming mode.
2021-05-01 11:49:24 +01:00
Mike Brady
61b6b5934d
check that the clock is valid and reduce the Buffered Audio lead time to 0.25 seconds
2021-05-01 11:03:45 +01:00
Mike Brady
91b85a0207
Working for Realtime Audio Streams
2021-04-30 14:55:11 +01:00
Mike Brady
6760bab493
Compile with AP2 flag set
2021-04-30 12:30:12 +01:00
Mike Brady
3a02b79a62
Update the mdns stuff to work with a string, update audio_alsa rtp.c, rtsp.c and shairport.c to build and work in AirPlay 1 but with AirPlay 2 code in place. Some of it is #defined out.
2021-04-30 09:29:30 +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
a8caa0f913
Move latency calculations to rtp.c. Remove checks for infeasible latencies from player.c.
2021-04-28 13:03:27 +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
320baa4db9
quieten some debug messages
2020-06-15 12:16:59 +01:00
Mike Brady
9d6adc6f1f
one less debug message.
2020-06-14 14:29:55 +01:00
Mike Brady
f89830eb2c
Send more timing sync requests at the start. The debug messages are a bit noisy.
2020-06-14 14:26:22 +01:00
Mike Brady
ead6cfc4ad
Emphasise one debug message
2020-06-14 09:49:10 +01:00
Mike Brady
19a7bd4969
quieten some debug messages
2020-06-12 10:10:26 +01:00
Mike Brady
f5eceff6f7
Store clock drift information for each client based on its IP. This is stored in RAM, not on disk. Used at the start of a new session until new clock drift data is ready.
2020-06-11 12:09:55 +01:00
Mike Brady
92074c2b96
add code to calculate the diffusion multiplier based on the ending diffusion multiplier and the number of entries.
2020-06-10 20:04:03 +01:00
Mike Brady
0517a233c1
Fix the recording of the sample count if it's less than the threshold. Use the last gradient / drift if the number of samples is less than the threshold.
2020-06-10 14:21:29 +01:00
Mike Brady
9f9b36c01f
Clean up and bug-fix the code for estimating remote-to-local clock drift using least squares linear regression. Use the estimated remote-to-local difference and the calculated drift instead of just using the difference estimated from the last-exchanged timing message.
2020-06-09 11:37:24 +01:00
Mike Brady
5decc1bb06
Make the pipe, hub and mqtt separate threads with their own metadata queues. If one blocks, no new metadata is sent to it and the others are unaffected.
2020-05-30 15:49:00 +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
Mike Brady
40289ca6d3
functional with full removal of get_absolute_time_fp() but not quite starting correctly
2020-02-24 22:23:08 +00:00
Mike Brady
32427423af
update packet reception statistics to use nanosecond timing
2020-02-24 19:58:35 +00:00
Mike Brady
686fc2a5c1
Add missing frame status field, fix a bug with the first missing frame variable, expose the settings for resending, remove some commented out code.
2019-10-10 09:23:20 +01:00
Mike Brady
c8b0be30b4
find . \( -name \*.cpp -or -name \*.h -or -name \*.c \) -exec clang-format -i -style='{BasedOnStyle: llvm, IndentWidth: 2, ColumnLimit: 100}' '{}' \;
2019-06-19 19:06:54 +01:00
Mike Brady
9fd4a39729
check for a couple of divide-by-zero possiblities.
2019-05-19 13:53:25 +01:00
Mike Brady
223dfd7801
only need to ensure at least one packet has been received, it seems.
2019-04-02 16:33:30 +01:00
Mike Brady
40ed76b411
wait for packets to be received before starting to calculate the nominal remote input rate.
2019-04-02 16:29:17 +01:00
Mike Brady
1f45b8c006
allow calculation of nominal source frame rates even when the connection is error prone.
2019-04-02 15:37:38 +01:00
Mike Brady
89340f20c9
3.3 release candidate 0
2019-03-04 12:38:20 +00:00