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
Mike Brady
c27fb1c9b5
Fix a crash that occurred if metadata support is enabled during compilation but turned off in the configuration file.
...
Fix a crash that occurred playing from AirPower on Android.
2020-12-23 16:11:12 +00:00
Mike Brady
3fc9570489
Clang Format
2020-09-27 10:45:22 +01:00
Mike Brady
6857d06bd6
Handle active_remote_id as a string rather than an unsigned 32-bit number. It seems ROON uses a longer character sequence. Tidy up some error messages aboout which backend is selected.
2020-09-27 10:44:12 +01:00
Mike Brady
46c47c01a6
Ensure the metadata pipe is created, if necessary, when the --with-metadata option is chosen without dbus or mpris
2020-09-11 16:54:34 +01:00
Mike Brady
ca56287254
Make the first output backend in the list of backends the default and make its name the default output_name. Clang-format everything
2020-09-03 09:53:13 +01:00
Mike Brady
06c80713bb
Open metadata and audio pipes with 666 permissions.
2020-07-27 09:40:05 +01:00
Mike Brady
19ec4dfd89
clean up a fatal error message
2020-06-22 10:32:07 +01:00
Mike Brady
deee20758a
quieten a debug message
2020-06-22 10:15:35 +01:00
Mike Brady
98005fd18f
quieten some debug messages
2020-06-21 13:50:21 +01:00
Mike Brady
dd0d24b255
The metadata threads were not terminating properly due to multiple errors. Quietened a few debug messages too.
2020-06-21 13:17:57 +01:00
Mike Brady
4f9f3331e3
Remove the flsr flush request token -- sometimes it's bogus -- add the frame number to the pfls token. Add a little documentation.
2020-06-13 10:41:48 +01:00
Mike Brady
dfd90bac6b
Clean up code for the silent lead-in on a non-syncing back end e.g. a pipe. Clean up pipe creation and initial opening and associated error messages. Fix error with warning/die messages. Tidy up some debug messages.
2020-06-05 17:22:53 +01:00
Mike Brady
18b9116d97
Separate metadata multicast from metadata pipe.
2020-06-02 19:37:05 +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
b915c2f527
temporarily disable the metadata pipe feed.
2020-05-28 19:50:03 +01:00
Mike Brady
16ecb5f378
debug mods
2020-05-28 17:41:49 +01:00
Mike Brady
9e34b1334b
Stop using home-brew non-blocking write. Instead, having opened the pipe non-blocking, change to blocking.
2020-05-27 15:02:49 +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
a6acb6062a
If the DACP port is zero, do a zeroconf re-broswe every two seconds in case it has been missed.
2020-03-25 10:16:21 +00:00
Mike Brady
67e9b1b6cd
partial move to using a nanosecond-based system timer. More to come.
2020-02-24 19:40:44 +00:00
Mike Brady
f771774519
Compiles under gcc-10 with -fno-common
2020-02-13 17:37:41 +00:00
Mike Brady
27e42a666a
Store the UserAgent so as to recognise forked-daapd so as to always send a revision_number of 1 when asking for playerstatus of forked-daapd.
2020-01-10 17:20:25 +00:00