610 Commits
Author SHA1 Message Date
Mike Brady 707204e7e8 Quieten a few temporary wanrings. 2021-07-22 12:43:21 +01:00
Mike Brady a85a9ac0e4 Add a dummy handler for the POST /feedback request. 2021-07-22 11:03:32 +01:00
Mike Brady 4e6f1e5e65 Pick up active Remote information as well as DACP-ID. 2021-07-19 21:51:47 +01:00
Mike Brady 9748297737 Pick up the DACP-ID for AP2 streams. Move the mdns txt string globals around a bit. 2021-07-19 17:13:27 +01:00
Mike Brady 4c9d1f7904 Make mDNS txt record arrays global and permanent. We hope to be able to modify them dynamically later. 2021-07-19 12:07:14 +01:00
Mike Brady 3a6297bc9a Honour max_output_db setting even when ignore_volume_control is true. Spell out "Shairport Sync" in the Home app information. 2021-07-16 15:04:51 +01:00
ejurgensen 1a64a56c3f Add Homekit pairing methods (pair-add/list/remove + configure)
Also change the features flag to match airplay2-receiver
2021-07-15 23:23:08 +02:00
Mike Brady a07ece496e Quieten a few more debug messages. 2021-07-14 09:23:50 +01:00
Mike Brady 58b8513ccd Spell out "Shairport Sync" explicitly so that it appears in the info in the Home app. Quieten a debug message. 2021-07-14 08:58:43 +01:00
ejurgensen e4901d6be2 Add Homekit pairing methods (pair-add/list/remove + configure)
Also change the features flag to match airplay2-receiver
2021-07-13 23:43:57 +02: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 93aefbd8ea get the activity monitor working for the different types of stream 2021-06-06 15:50:05 +01:00
Mike Brady 13eccc3039 Quieten a debug message. 2021-06-03 09:52:05 +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 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 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 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 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 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 4a0849b942 Fix a compilation bug and quieten a debug message. 2021-05-12 11:00:09 +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 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
ejurgensen f5cd4238f0 Announce the actual public key (pk) in Bonjour and GET /info
Same as other Airplay 2 devices do, even though it doesn't seem to be used
by any clients.
2021-05-07 19:26:48 +02:00
ejurgensen 0aa3b3fee3 Return same pairing errors as other Airplay devices
- 470 on general errors
- TLV-formatet authentication error on incorrect PIN/signature

The latter makes sure clients clear saved credentials, so the user isn't stuck
with a device that keeps using incorrect credentials.
2021-05-07 19:10:07 +02:00
Mike Brady fd4cc98aba Slightly better timing. Bumped version for ejurgensen's new pair_ap work. 2021-05-05 18:33:21 +01:00
ejurgensen ba73111a6f Support for pair-verify 2021-05-04 20:38:35 +02:00
ejurgensen 493e9604d3 Use pair_ap for pairing and rtsp encryption 2021-05-04 20:34:37 +02:00
Mike Brady 25a1303269 Only stop the player if you still have the playing conn. 2021-05-02 15:34:52 +01:00
Mike Brady 6a13062100 clang format 2021-05-02 14:35:31 +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 91b85a0207 Working for Realtime Audio Streams 2021-04-30 14:55:11 +01:00
Mike Brady 390eeae3df In AirPlay 2 mode it can be selected by players 2021-04-30 14:23:31 +01:00
Mike Brady 3a9af591f4 Compiles in AirPlay2 and AirPlay1 modes. Runs in AirPlay1 mode. Not tested in AirPlay2 mode. 2021-04-30 12:40:52 +01:00
Mike Brady 3d025af492 Compiles and runs in AirPlay 1 mode 2021-04-30 12:30:43 +01:00
Mike Brady b3cec5c690 move over to clock_realtime from clock_monotonic. Seems to work. 2021-04-30 10:12:59 +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 18c9e13a02 Clean up with clang-format 2021-01-24 21:32:57 +00:00