Commit Graph
100 Commits
Author SHA1 Message Date
Mike Brady e3131c5394 Add tinyhttp as a subdirectory and not a submodule for ease of switching from master to development 2021-07-06 19:41:24 +01:00
Mike Brady d4a625cf9c Check that a git archive actually exists as well as the git app being installed. 2021-07-06 19:24:51 +01:00
Mike Brady 365cecd35d Remove tinyhttp as a submodule 2021-07-06 19:19:10 +01:00
Mike BradyandGitHub cfd27f0a69 Update RELEASENOTES-DEVELOPMENT.md 2021-07-06 17:24:19 +01:00
Mike BradyandGitHub d388cdc8ce Update RELEASENOTES-DEVELOPMENT.md 2021-07-06 15:02:51 +01:00
Mike BradyandGitHub e2f7f1ed0f Update RELEASENOTES-DEVELOPMENT.md 2021-07-06 14:38:11 +01:00
Mike BradyandGitHub 70594bffd0 Update RELEASENOTES-DEVELOPMENT.md
Beginning to enter release notes.
2021-07-06 12:49:35 +01:00
Mike Brady 1ca4ebcf02 Make some more error conditions terminate the program. 2021-06-30 10:13:13 +01:00
Mike Brady fcfa55504e Forgot pull.
Merge branch 'development' of github.com:aillwee/shairport-sync into development
2021-06-30 10:03:04 +01:00
Mike Brady f923e99f98 Terminate the program if the specified output device can not be found. 2021-06-30 10:02:46 +01:00
Mike BradyandGitHub 9013c68a98 Merge pull request #21 from aillwee/charles-dev
Added libgcrypt and documentation additions. Thanks Charles!
2021-06-30 09:50:24 +01:00
Mike Brady 5c08ccd4d0 Correct the information in a non-available frame rate error message from audio_alsa.c. 2021-06-30 09:49:16 +01:00
Mike Brady 6e24897d4d Correct the information in a non-available frame rate error message from audio_alsa.c. 2021-06-30 09:46:41 +01:00
Mike Brady 5850696ac0 Switch over to AC_CHECK_LIB from PKG_CHECK_MODULES for checking for libgcrypt. 2021-06-29 10:55:21 +01:00
Mike Brady 1a21a1aaae Switch to libgcrypt for the pairing library for compatibility with Ubuntu on an M1. 2021-06-29 10:23:56 +01:00
Mike Brady 14487f6872 Online documentation update.
Merge branch 'development' of github.com:aillwee/shairport-sync into development
2021-06-24 10:45:42 +01:00
Mike Brady 33dd3037da Wait a little longer to allow the master clock to stabilise. 2021-06-24 10:45:32 +01:00
Mike BradyandGitHub 6a40c73fc8 Merge pull request #19 from aillwee/charles-dev
README updates.
2021-06-24 09:43:43 +01:00
Mike BradyandGitHub c3faddde47 Update README.md 2021-06-23 20:09:39 +01:00
Mike BradyandGitHub a6ac3f63e9 Update BUILDFORAP2.md 2021-06-23 20:06:58 +01:00
Mike BradyandGitHub 136bf13a36 Update README.md 2021-06-23 20:01:03 +01:00
Mike Brady ce49f3a9fd Quieten the PTP informatin age checking code. 2021-06-23 17:54:51 +01:00
Mike Brady 7b8e68650f Fix the rtptime modulo calculations -- the SIGNEX idea doesn't seem to be portable, so it has to be done the hard way. 2021-06-23 14:40:38 +01:00
Mike Brady 861455f703 Add some information about the length of time a new clock master has been monitored for ("history") and warn if the PTP information hasn't been updated for more than a second (not extensively tested). 2021-06-23 12:18:04 +01:00
Mike Brady 767bed6b9f Sometimes the output_rtptime_mask seems to be calculated in 32-bit arithmetic (?), so do it all explicitly in 64-bit signed int as soon as the output_rtptime_sign_bit is calculated. 2021-06-23 11:21:32 +01:00
Mike BradyandGitHub 861ef69302 Update README.md 2021-06-22 20:28:21 +01:00
Mike BradyandGitHub e4d0c2181d Update README.md 2021-06-22 20:21:04 +01:00
Mike BradyandGitHub 7c2b46f31e Update README.md 2021-06-22 20:20:31 +01:00
Mike BradyandGitHub 6761a4e382 Update README.md 2021-06-22 20:06:42 +01:00
Mike Brady 0c7d385f35 Keep an eye on DAC underrun recoveries 2021-06-22 14:09:09 +01:00
Mike Brady e925e196c8 Changes to allow it to compile in FreeBSD and fix a few issues that were picked up by clang 10. 2021-06-22 13:49:11 +01:00
Mike BradyandGitHub 6295b35338 Merge pull request #18 from aillwee/charles-dev
Attempted fix for docker git describe & docker README changes.
Thanks Charles. Apologies for the delay!
2021-06-19 17:38:31 +01:00
Mike Brady ad3412f5c2 Ensure a new master clock is at least 1.1 seconds in mastership before using it. Remember that the mastership can be backdated. 2021-06-17 18:17:24 +01:00
Mike Brady 0ac00359f7 remove those warnings 2021-06-17 18:16:15 +01:00
Mike Brady c37ee4542d Add code to skip packets of buffered audio that are late or too early. 2021-06-09 19:35:08 +01:00
Mike Brady aa8d251aef Check for a version of libplist that is recent enough. 2021-06-08 14:14:23 +01:00
Mike Brady f6a9f634c7 Accept a new master clock immediately. Don't truncate the first three blocks if it's a normal start. Hacky. 2021-06-06 15:53:55 +01:00
Mike Brady 5c48580db9 Get it working for multiples of 44100 again. It's stuck accepting only 44,100 fps input for the moment. 2021-06-06 15:51:39 +01:00
Mike Brady 93aefbd8ea get the activity monitor working for the different types of stream 2021-06-06 15:50:05 +01:00
Mike Brady 6edaa58595 increase the wait time for the shm access mutex. 2021-06-06 15:49:03 +01:00
Mike Brady 0f1118c142 Exit immediately if the speed or format cannot be set. 2021-06-06 15:48:09 +01:00
Mike Brady 142478933f Move the activity monitor calls to enable active mode correctly for buffered audio. 2021-06-04 09:42:31 +01:00
Mike Brady e4c82b7700 Add some comments and a new debug message about underrun 2021-06-04 09:41:15 +01:00
Mike Brady d33de05ae9 change some debug messages 2021-06-04 09:40:24 +01:00
Mike Brady 516a6b2105 Align some of the statistics better. 2021-06-03 09:52:38 +01:00
Mike Brady 13eccc3039 Quieten a debug message. 2021-06-03 09:52:05 +01:00
Mike Brady 7a26139c44 Shorten some arbitrary delays, quieten some debug messages, add (and comment out) disgnostic code to introduce a timing error. Make the buffer size 0.4 sec -- so that if a timing error of 150 ms is detected, enough frames are immediately available to be used. 2021-06-03 09:24:26 +01:00
Mike Brady bcad9d5998 Add 100 ms to the amount to flush after a large positive sync error to give the system a better chance to recover in one attempt. 2021-06-03 09:21:14 +01:00
Mike Brady 8bee92a4e6 Clean up the statistics output to make it provide information for the stream type. Parameterise it so that it's a bit easier to manage. 2021-06-02 17:17:54 +01:00
Mike Brady 5b8d76cfbe When the master clock returns to what the real anchor clock is, the difference between the actual and estimate is calculated and logged. Might have to actually use it... 2021-06-01 22:30:31 +01:00
Mike Brady deeabbfbc5 Quieten a rather chatty message. 2021-06-01 15:24:31 +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 7df6ff0a55 Exit if the requested output format is not available. 2021-06-01 09:51:14 +01:00
Mike Brady d4ea91aa65 Rough and hacky but works with the bit depth of the output DAC to automatically choose the correct AAC decoding sample size. Allocation of rotating buffers is fixed and profligate. 2021-06-01 08:56:47 +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 5e498173e1 Add a little information and remove a little ambiguity from a diagnostic message about anchor and master clocks especially relevant in Realtime Audio streams. 2021-05-30 12:12:40 +01:00
Mike Brady 4b5e9787b7 Log information when anchor or master clock changes occur. 2021-05-30 12:04:06 +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 7c68f97d7f flaky but some interesting stuff 2021-05-29 15:59:11 +01:00
Mike Brady 9cf4ef032d Improving the flush behaviour. 2021-05-29 10:54:44 +01:00
Mike Brady 2986b282d3 Does pretty well with flushing. Sometimes misses a flush on a repeat one. 2021-05-28 22:20:11 +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 9b5bbbf361 Merge branch 'development' of github.com:aillwee/shairport-sync into development
Forgot web updates
2021-05-27 08:32:24 +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 BradyandGitHub c8fca686bd Merge pull request #16 from aillwee/charles-dev
Updated docker image to use COPY instead of git clone.
2021-05-24 15:41:40 +01:00
Mike Brady e1034e1131 Advertise the _raop._tcp service as well as the _airplay._tcp service. Use a real MAC as the basis for the device ID. 2021-05-24 12:07:05 +01:00
Mike Brady 3143e9983a Updates to pair_ap 2021-05-23 10:13:14 +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 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 2203d6a335 Start using automatic git-based versioning 2021-05-14 22:49:17 +01:00
Mike Brady 661b2e0238 Merge branch 'development' of github.com:aillwee/shairport-sync into development
Documentation Update
2021-05-14 22:38:56 +01:00
Mike Brady 056b37020c Was 4.0d4 with some extras. Moving to git-based semantic versioning. 2021-05-14 14:23:10 +01:00
Mike Brady db6cadb05c Always update the systemd shairport-sync.service file. 2021-05-14 12:26:25 +01:00
Mike Brady c8e45b3206 Bump for changes to missing clock and flushing. 2021-05-13 21:16:58 +01:00
Mike Brady 7592e237d8 quieten a debug message 2021-05-13 21:07:56 +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 bb226a4184 fix flush of a large sync error, hopefully. 2021-05-13 20:10:38 +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 4a0849b942 Fix a compilation bug and quieten a debug message. 2021-05-12 11:00:09 +01:00
Mike Brady 171001ffd8 fix calculation of offset with a negative offset 2021-05-12 10:59:33 +01:00
Mike Brady a27f43cf92 Remove some obsolete error checking code. 2021-05-12 10:58:29 +01:00
Mike Brady e8e81a8b07 fix a couple of compilation errors. 2021-05-12 10:57:50 +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 BradyandGitHub ca0c625b22 Update BUILDFORAP2.md 2021-05-10 16:07:24 +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 d2d35cc758 Quieten speed and size debug message 2021-05-10 09:36:14 +01:00
Mike Brady 7ae72d795f add plist cleanup for pthread cleanup 2021-05-10 09:01:25 +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 BradyandGitHub e270f8a9a5 Update configure.ac
Bumped for an update to `pair_ap`.
2021-05-08 15:29:54 +01:00
Mike BradyandGitHub fb3278a7a8 Merge pull request #3 from ejurgensen/pair_errors1
Return same pairing errors as Airplay devices + announce actual public key
2021-05-08 09:57:05 +01:00