Mike Brady
5d4d75ad4e
add a place to store the groupContainsGroupLeader from SETUP
2021-08-31 17:43:56 +01:00
Mike Brady
90740694ba
When an unrecognised SETUP message is received, just say okay and ignore it. Remove reduncant client_setup_plist from the conn data structure.
2021-07-28 12:58:20 +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
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
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
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
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 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
04c7f84564
Improve NQPTP clock diagnostics, tidy up some messages.
2021-05-10 14:16:57 +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
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
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
6760bab493
Compile with AP2 flag set
2021-04-30 12:30:12 +01:00
Mike Brady
bdfb1c6ed6
player.c compiles and everything builds and runs with the airplay 2 flag off. With airplay_2 flag on, rtp.c won't build, but we know that.
2021-04-29 16:51:29 +01:00
Mike Brady
8a73d5972c
rtp meged with lots of AP2 stuff still commented out. But it still works.
2021-04-29 15:04:50 +01: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
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
f8c24c5f2b
clean up flush detection code
2020-06-12 17:12:50 +01:00
Mike Brady
1312772bc8
Remove a redundant field from a time ping record
2020-06-09 11:33:32 +01:00
Mike Brady
efec3cc7e5
Make the list of remote to local timing values a power of 2 -- necessary later for allowing headroom for calculations.
2020-06-09 09:36:12 +01:00
Mike Brady
759b87f2a2
Move the statistics array from the stack into the heap.
2020-05-23 20:31:54 +01:00
Mike Brady
034dd53af5
Calculate the delay and sync error modulo the output frame numbers. Duh! A long-standing bug.
2020-05-23 10:18:23 +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
72d7153529
Fix calculation of latency -- honour the signs of the offset and account for the DAC buffer size.
2020-05-14 19:51:32 +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
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
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
e2294decb1
Squashed commit of the following:
...
commit 3dda7928b6df6ba7febc20f22faff5c8be024ef4
Author: Mike Brady <mikebrady@eircom.net >
Date: Sun Sep 22 20:59:50 2019 +0100
Update RELEASENOTES-DEVELOPMENT.md
commit 153eb84cff292bd127c516e6486ba9c1f9a3ce16
Author: Mike Brady <mikebrady@eircom.net >
Date: Sat Sep 21 19:30:26 2019 +0100
Update RELEASENOTES-DEVELOPMENT.md
commit b574d49b37f874cc7b91163a81fcb9dc6c760ef4
Author: Mike Brady <mikebrady@eircom.net >
Date: Sat Sep 21 19:03:13 2019 +0100
Update RELEASENOTES-DEVELOPMENT.md
commit bce0613283e233ddfa24d080adff3450b4ddd909
Author: Mike Brady <mikebrady@eircom.net >
Date: Sat Sep 21 18:59:18 2019 +0100
Update configure.ac
commit 7dc145361186806a560495d8171a387f5856f2f0
Author: Mike Brady <mikebrady@eircom.net >
Replace the code for determining when resends should be sent for missing audio packets.
Multiple sequential resend requests are now rolled up into one.
Should address Issue #865 .
2019-09-22 21:04:07 +01:00
Chris Boot
b9cf91b2bb
More typo fixes across the tree
...
Previously I have made spelling changes as caught by Debian's lintian
tool, which has a short list of common misspellings that it tests for.
This time I decided to run codespell against the source and fix all the
obvious problems it came up with. It also uses a list of misspellings
but it's much larger than lintian's, but also has some false positives
so I went over the list by hand.
The command I used to do check the source was:
git ls-tree -rz --name-only HEAD | xargs -0 codespell -L minimise,errorstring
2019-07-27 00:05:38 -03: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
5a7b7c011b
Add the ability to receive uncompressed 16 bit big-endian (?) / 44,100 fps / interleaved stereo PCM.
2019-03-18 11:21:27 +00:00
Mike Brady
46d117b69a
add a volume control mutex to serialise multiple attempts to change the volume
2019-02-01 21:07:35 +00:00
Mike Brady
c5ff0dfed0
Rebuild the volume control calculations. Implement software mute. Try to delay alsa initialisation as long as possible.
2019-01-30 09:24:10 +00:00
Mike Brady
3434761517
Add code for calculating and recognising the interpolation threshold.
2019-01-04 17:10:57 +00:00
Mike Brady
4046c0e73d
Fix dither, add dither to silences during lead-in, interpolatied frames and keeping out of standby, only if the output device doesn't use a mixer. Check configuration at initialisation.
2018-12-14 15:07:00 +00:00
Mike Brady
9d5ff22f2d
Connect up the stall response to the external command calling -- add a single argument to the unfixable error call.
2018-12-10 22:28:52 +00:00
Mike Brady
277d401d24
Ensure watchdog always starts with the starting time of the thread. Add watchdog bark count. On the third bark, execute an unfixable error script if present.
2018-12-04 17:25:15 +00:00
Mike Brady
78da7c453c
Make the stop requester volatile, duh.
2018-12-03 18:01:54 +00:00
Mike Brady
4bb29bc198
Make sure that shared watchdog count is correctly updated in the rtsp_conn_info structure!
2018-12-03 16:52:32 +00:00
Mike Brady
76ee6d5e43
Add new watchdog thread for the player -- should be more reliable than the existing code.
2018-11-26 19:33:22 +00:00