Commit Graph
129 Commits
Author SHA1 Message Date
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
Mike Brady 519135734f Calculate actual and nominal input frame rates more accurately, allowing for flush and resume events. 2018-08-14 12:13:02 +01:00
Mike Brady 2f58856268 Add source rate calculation based on source frame and timing information, calculated from start of play session. 2018-08-13 14:44:22 +01:00
Mike Brady a8cfc9915f display the number of samples used to calculcate drift, clean up the settings for the number of samples to skip at the start and for the minimum number of samples to use. Store 64 samples. 2018-08-13 14:06:40 +01:00