Commit Graph
521 Commits
Author SHA1 Message Date
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 a8caa0f913 Move latency calculations to rtp.c. Remove checks for infeasible latencies from player.c. 2021-04-28 13:03:27 +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 919e4d6ac1 A gentler flush process for resyncing. 2020-08-13 20:41:30 +01:00
Mike Brady 65391a6916 Potentially fix a flaw in resyncing. A flush is set up but not triggered. 2020-08-13 17:44:35 +01:00
Mike Brady 0dbc37ea94 Quieten a noisy flush debug message 2020-07-08 21:24:44 +01:00
Mike Brady 320baa4db9 quieten some debug messages 2020-06-15 12:16:59 +01:00
Mike Brady 31486a36f3 don't suppress the sending of a pfls token until some frames have been seen. 2020-06-13 14:38:27 +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 8dfaaf8d8d Add some detail to a debug message. 2020-06-12 19:20:58 +01:00
Mike Brady 34d0a4df8b Fix a debug message 2020-06-12 18:17:44 +01:00
Mike Brady e39f86dc10 remove some unnecessary code for deleting flushed frames 2020-06-12 17:54:02 +01:00
Mike Brady f8c24c5f2b clean up flush detection code 2020-06-12 17:12:50 +01:00
Mike Brady 74894261f5 quieten some debug messages 2020-06-09 09:33:10 +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 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 9ae649fa9a change some debugging messages 2020-05-28 15:39:10 +01:00
Mike Brady 9280e1430b Clean up statistics display for backends with no sync. Flush pipe and stdout backends when play stops. 2020-05-24 09:45:03 +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 4f5ff881a5 Tidy up some of the modulo arithmetic stuff, including tidying up how to deal with out-of-order packet arrival. 2020-05-23 13:54:21 +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 012dd26c77 Add the ability to set the silent lead-in parameters initial_period, minimum number of adjustments and adjustment interval, and give them sensible defaults. 2020-05-17 12:48:25 +01:00
Mike Brady bca704d5b7 Quieten a few debug messages. 2020-05-16 12:54:18 +01:00
Mike Brady a4edc649f8 Add code to do calculations involving the audio_backend_latency_offset_in_seconds and audio_backend_silent_lead_in_time settings correctly. Clean up the audio_backend_silent_lead_in_time setting by adding an "auto" setting. 2020-05-16 12:23:08 +01:00
Tucker Kern f0f6276d64 Use signed integers when calculating backend latency adjustment 2020-04-27 15:25:46 -06:00
Mike Brady 8bd6d8d45f Fix calculation of initial delay 2020-02-25 14:44:13 +00: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 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 b88c9255b7 Fix a few compilation bugs. Thanks Travis. 2019-11-11 22:06:44 +00:00
Mike Brady f2930387b3 Add D-Bus convolution filter controls; enable convolution filters to be turned on and off or changed; enable convolution gain to be checked and changed. 2019-11-11 21:45:29 +00:00
Mike Brady 2f2442f4aa Fix D-Bus loudness switch silencing output. Rename LoudnessFiulterActive to Loudness. Add Convolution, ConvolutionGain and ConvolutionImpulseResponseFile properties to the D-Bus interface. 2019-11-10 18:05:59 +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
sidneys a1137064a4 fix(player.c): increase the log level of the constantly repeated resend check startup message ("check start") from "2" to "3" as to maintain readabiility of log verbosity level 2. 2019-09-25 22:46:04 +02:00
Mike Brady cd25d6a836 Set the debug level of the silent frame message to 2. 2019-09-22 21:09:57 +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
Mike Brady e8a92d3c3b ensure alsa mixer is initialised before trying to set volume. Normalise the 'pvol' volume mesasages to the hardware devices' maximum volume when using combined hardware and software attenuation. 2019-09-10 13:03:54 +01:00
Mike Brady b59dd4229e fix regression no volume metadata was being sent if configured to ignore volume control -- issue #903. 2019-09-10 09:56:25 +01:00
Mike Brady 185000d0bd Remove some old code and clean up the exit cleanup function so that it works better with libdaemon and its parent and child processes 2019-09-08 17:03:36 +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 c8b0be30b4 find . \( -name \*.cpp -or -name \*.h -or -name \*.c \) -exec clang-format -i -style='{BasedOnStyle: llvm, IndentWidth: 2, ColumnLimit: 100}' '{}' \; 2019-06-19 19:06:54 +01:00
Mike Brady 85cc1bdd97 Fix the dither calculation -- it was 12 dB too high, really noticable on the U8 setting. 2019-06-02 17:56:47 +01:00
Mike Brady d91e41d976 Add missing support for S32_LE, S32_BE, S24_LE and S24_LE formats. 2019-05-29 17:26:44 +01:00
Mike Brady f96a04ae1b quieten the soxr_oneshot timer 2019-05-22 13:25:44 +01:00
Mike Brady b2c6b8f537 fix another harmless (?) possible divide by zero 2019-05-20 09:40:25 +01:00
Mike Brady 83c0405d03 Add automatic bit depth and speed selection for alsa devices. Set rate and format to "auto" by default. Always look for the greatest bit depth, but the lowest multiple of 44,100.
Improve support for big-endian CPUs by adding support for explicit -endian formats, i.e. S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE.

For the "disable_standby_mode" setting, change "while_active" to "auto".
2019-05-07 10:19:04 +01:00
Mike Brady 1d32976d07 Improve support for bigendian devices. Add support for S16_LE, S16_BE, S24_LE, S24_BE, S32_LE and S32_BE formats. Make the default S16_LE. Allow precision timing only on alsa devices with names beginning with "hw:". Use snd_pcm_hw_params_is_monotonic() to see if clock is monotonic. 2019-05-01 11:01:15 +01:00
Mike Brady 7ad8907356 quieten a debug message 2019-04-17 16:43:18 +01:00
Mike Brady 9aa8f91c0e Add a new interpolation setting -- "auto" which will choose soxr if supported and the soxr delay is less or equal to the threshold of 30 (milliseconds). 2019-04-16 16:40:56 +01:00