Commit Graph
205 Commits
Author SHA1 Message Date
Mike Brady bdc2dca3ec 3.3.7rc0 2020-07-06 17:09:15 +01: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
Mike Brady 76c5dd9285 Stop using SIGUSR1 for cancelling threads, use pthread_cancel and friends instead, fix some memory leaks, add accurate ouput rate calculation to statistics, add "quit" verb to MPRIS and native d-bus interfaces. Probably still buggy. 2018-07-30 10:07:11 +01:00
Mike Brady f1d4503431 Try to add proper cancellation code to all threads -- not complete, buggy. 2018-07-20 13:50:38 +01:00