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
Mike Brady
2e4428538d
Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends.
2019-01-21 21:43:55 +00:00
Mike Brady
1b3d64ce85
Quieten a debug message.
2019-01-08 12:59:04 +00:00
Mike Brady
e5452e5172
Make the idle timeout on the RTSP link the same as the overall timeout -- 30 seconds is a bit short. Add checks to the alsa interface timing -- 15 ms to write a packet of frames, 1 ms to ask for the delay.
2018-12-08 14:12:33 +00:00
Mike Brady
e49707e051
Ensure no pthread cancellation can occur during an ALSA-related call.
2018-12-03 12:44:57 +00:00
Mike Brady
a5c65ceced
Move UDP port cloure to the RTSP thread, don't allow calls to mdns_* to be cancelled. Remove usage of (p)select in rtsp thread handling.
2018-11-30 14:55:04 +00:00
Mike Brady
0eac2b9cb3
Move closing of ports to the player thread cleanup. They can be bound without the UDP threads ever having been called, so they must be closed when the player thread exits.
2018-11-29 22:03:49 +00:00
Mike Brady
4a5b0009a4
Quieten a debug message
2018-11-29 17:13:12 +00:00
Mike Brady
ca45d2ecbe
Clang formatted.
2018-11-29 12:18:07 +00:00
Mike Brady
c318796e55
Add an uncancellable usleep timer. Make the player and UDP thread cleanups uncancellable.
2018-11-29 11:37:56 +00:00
Mike Brady
7bf22b4265
Add some debug messages to closing the UDP ports.
2018-11-28 19:49:12 +00:00
Mike Brady
1cf28be647
Add SO_REUSEADDR to the UDP sockets. See if it makes any difference.
2018-11-28 19:39:11 +00:00
Mike Brady
22f3e3e318
Move watchdog to cover connection from start, not just from start of play. Start investigating UDP port allocation. Tidy up handling or RTSP write errors -- remove the pselect code from before a write.
2018-11-28 17:18:03 +00:00
Mike Brady
eaa98ea7d9
Quieten a few debug messages.
2018-11-27 17:40:07 +00:00
Mike Brady
3b4654df77
Make some alsa operation sequences un-cancellable. Make some cleanup sequences un-cancellable.
2018-11-24 22:28:52 +00:00
Mike Brady
998e7cea2c
clang-format
2018-11-24 11:16:57 +00:00
Mike Brady
d93aeec50a
Quieten a few debug messages.
2018-11-23 15:11:04 +00:00
Mike Brady
093bf1dd46
Rotate usage of UDP ports if a session is interrupted. Avoids out-of-date packets landing in a new session.
2018-11-23 13:29:09 +00:00
Mike Brady
3709ac8180
experimental
2018-11-23 08:53:27 +00:00
Mike Brady
303a85c3b5
Add back in the ability to interrupt a session. Clean up a few debug messages.
2018-11-21 21:32:18 +00:00
Mike Brady
ccc4fe09af
Tidy up the formats.
2018-11-20 22:56:53 +00:00
Mike Brady
29a37f44b9
Check timer values a bit more carefully and ignore crazy values.
2018-11-14 12:25:56 +00:00
Mike Brady
3cb359c747
Tighten up integer promotion checks to calculate large delays properly. Fix input rate calculation restarting.
2018-10-23 10:26:08 +00:00
Mike Brady
e0a4e5cde8
Format tidy-up
2018-10-21 17:10:23 +01:00
Mike Brady
a5f165d982
Use a parameter rather than a hard-wired input rate.
2018-10-21 16:31:55 +01:00
Mike Brady
d2dba7cdba
Seems to work for higher rates
2018-10-19 22:14:23 +01:00
Mike Brady
de071aeffc
Try to fix modulo calculations
2018-10-18 17:44:50 +01:00
Mike Brady
a7ee65cda0
Allow for changed AirPlay latencies in iOS 12 and mac OS Mojave (AirPlay version 371 and onwards)
2018-10-14 10:18:16 +01:00
Mike Brady
31499dcea8
Allow for a change in the sync time of AirPlay on Mojave and iOS 12.
2018-10-11 15:35:17 +01:00
Mike Brady
d2f6a446e1
Bring up to date with 3.3d2 from the raspberry pi
2018-08-22 14:41:03 +01:00
Mike Brady
754155ce0f
clang format
2018-08-22 13:07:04 +01:00