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
Mike Brady
1ee806a53a
Fix display of drift -- the sign is correct now. All timing is relative to the local clock. Add a rough estimate of the correction necessary. Use the most recent 128 timing samples.
2018-08-22 13:02:42 +01:00
Mike Brady
d5197081ef
Fix a stupid divide-by-zero error and remove unrecognised warning options for FreeBSD
2018-08-20 19:53:16 +01:00
Mike Brady
ac336974b6
Quieten a debug message
2018-08-15 15:56:14 +01:00
Mike Brady
5141e2f5dc
Format tidy-up
2018-08-14 12:14:49 +01:00
Mike Brady
519135734f
Calculate actual and nominal input frame rates more accurately, allowing for flush and resume events.
2018-08-14 12:13:02 +01:00
Mike Brady
2f58856268
Add source rate calculation based on source frame and timing information, calculated from start of play session.
2018-08-13 14:44:22 +01:00
Mike Brady
a8cfc9915f
display the number of samples used to calculcate drift, clean up the settings for the number of samples to skip at the start and for the minimum number of samples to use. Store 64 samples.
2018-08-13 14:06:40 +01:00
Mike Brady
95bb10a6c3
Remove or comment out some extraneous code, quieten some debug messages.
2018-08-08 09:03:53 +01:00
Mike Brady
78f1cd614c
Allow for different output rates in the new calculations
2018-08-06 09:48:36 +01:00
Mike Brady
3870195cf9
Begin to use a unified and more accurate scheme for translating between local time and rtp timestamp, taking clock drift and actualt source rate into account if available. Not dealing with highes output rates yet.
2018-08-05 17:23:07 +01:00