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
Mike Brady
ca8acb4a3f
Move the soxr timer checker to run as soon as the system powers up.
2019-04-16 12:59:02 +01:00
Mike Brady
d0917fc304
Add code to time soxr_oneshot without playing anything. It's in the wrong place, but it's a start.
2019-04-16 09:10:45 +01:00
Mike Brady
8cdb4dc70e
a bit less noisy debug/timing of soxr!
2019-04-15 17:22:52 +01:00
Mike Brady
3a96a5a62d
very noisy debug of soxr!
2019-04-15 17:16:30 +01:00
Mike Brady
2dd184165a
add soxr interpolation statistics gathering.
2019-04-15 11:52:01 +01: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
5e143fe691
relate initial silence buffer size to the ilent leadin time available
2019-04-02 12:52:36 +01:00
Mike Brady
539dea7d3d
Some messages made a bit more useful
2019-04-02 12:28:01 +01:00
Mike Brady
c687dadd14
change how the initials size of the silence sent to the dac is calculated, to make it pretty large
2019-04-02 12:24:02 +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
042d940415
Remove the AUTO bit-depth setting. It's a hack and needs more consideration.
2019-02-28 14:21:05 +00:00
Mike Brady
20967812ad
Fix a bug in the activity_monitor software that could lock up a player thread so that it couln't be cancelled. If a player was cancelled while performing an activity script, the activity_monitor_mutex would remain locked.
2019-02-26 15:23:11 +00:00
Mike Brady
1fc1247bb0
Quieten an incorrect compiler warning
2019-02-05 12:18:16 +00:00