Commit Graph
132 Commits
Author SHA1 Message Date
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
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 e5259e8764 Remove a few compiler warnings. 2018-10-21 17:00:56 +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 c9b3d2a2f4 Many changes to compilation and linking flags. Stop using HAVE_* flags except where necessary, use CONFIG_* for optional stuff, use HAS_* for immediate definitions, use USE_* for AM definitions. Probably introduced bgs, sigh. 2018-09-09 20:41:31 +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 5141e2f5dc Format tidy-up 2018-08-14 12:14:49 +01:00