Commit Graph
361 Commits
Author SHA1 Message Date
Mike Brady 18c9e13a02 Clean up with clang-format 2021-01-24 21:32:57 +00:00
Mike Brady c27fb1c9b5 Fix a crash that occurred if metadata support is enabled during compilation but turned off in the configuration file.
Fix a crash that occurred playing from AirPower on Android.
2020-12-23 16:11:12 +00: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 46c47c01a6 Ensure the metadata pipe is created, if necessary, when the --with-metadata option is chosen without dbus or mpris 2020-09-11 16:54:34 +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 06c80713bb Open metadata and audio pipes with 666 permissions. 2020-07-27 09:40:05 +01:00
Mike Brady 19ec4dfd89 clean up a fatal error message 2020-06-22 10:32:07 +01:00
Mike Brady deee20758a quieten a debug message 2020-06-22 10:15:35 +01:00
Mike Brady 98005fd18f quieten some debug messages 2020-06-21 13:50:21 +01:00
Mike Brady dd0d24b255 The metadata threads were not terminating properly due to multiple errors. Quietened a few debug messages too. 2020-06-21 13:17:57 +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 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 18b9116d97 Separate metadata multicast from metadata pipe. 2020-06-02 19:37:05 +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 b915c2f527 temporarily disable the metadata pipe feed. 2020-05-28 19:50:03 +01:00
Mike Brady 16ecb5f378 debug mods 2020-05-28 17:41:49 +01:00
Mike Brady 9e34b1334b Stop using home-brew non-blocking write. Instead, having opened the pipe non-blocking, change to blocking. 2020-05-27 15:02:49 +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 a6acb6062a If the DACP port is zero, do a zeroconf re-broswe every two seconds in case it has been missed. 2020-03-25 10:16:21 +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 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 e0ffb18dbf Modify behaviour when receiving an invalid RTSP packet to be the same as a genuine AirPort Express, but time out after two minutes anyway. Also move the retain_artwork flag to diagnostics. 2019-10-26 16:11:54 +01:00
Mike Brady eec0639726 Fix crash when a non-RTSP packet is sent to the session's RTSP port. 2019-10-26 10:40:10 +01: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
Angus71 bf4bd8ef04 Clean up 2019-08-25 09:50:40 +02:00
Angus71 333e3904e7 Fixed seg. fault with ALAC and incomplete a:fmtp 2019-08-24 22:02:33 +02: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 175ae0a650 Fix a bug that sometimes caused a crash when a service name was specified in the configuration file. The fix was to be more systematic in allocating and deallocating memory for termporary strings. Thanks to Chris Boot, Ari Sovijarvi and Jeroen Massar for the bug report. Fixes Debian Bug report #925577.
Allow the rtsp_listen_loop to exit if the RTSP port (usually port 5000) is not available. This allows the system to exit cleanly rather than abort.
2019-07-21 09:06:37 +02: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 d883575916 Add tentative raw PCM input facility. Clean up some messages. 2019-03-27 11:44:58 +00: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 89340f20c9 3.3 release candidate 0 2019-03-04 12:38:20 +00:00
Mike Brady 621f70a4df Remove a change that proved unnecessary to replay a write() with a non-blocking write(). 2019-02-27 11:58:03 +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 b26d815529 Add indication of dacp-id, source and self IP numbers to some diagnostics. 2019-02-25 11:38:08 +00:00
Mike Brady ca325d0459 Fix an error in non_blocking_write, expose a more general version of it, use it when writing an RTSP response with a three-second timeout. 2019-02-24 13:16:55 +00:00
Mike Brady cae8bc0f3c Stop increasing the debugging verbosity when a watchdog timeout occurs 2019-02-17 10:13:48 +00:00
Mike Brady 405a028f33 quieten some exiting debug messages 2019-02-16 19:44:25 +00:00
Mike Brady 617d4bc228 Turn up debug level to 3 when too long a silence occurs 2019-02-16 14:56:34 +00:00
Mike Brady 79e22063ef check that the systems are started before trying to stop them, duh. 2019-02-05 15:51:16 +00:00
Mike Brady 9239a7c56e Include the mbedtls version.h file so that conditional compilation can be done right 2019-02-02 15:27:26 +00:00
Mike Brady 4fb88a3aa5 allow for updated or old mbedtls library 2019-02-02 15:03:27 +00:00
Mike Brady cf03983694 Fix warnings about deprecated mbedtls API calls 2019-02-02 13:05:49 +00:00
Mike Brady 08e84ece27 add a volume control mutex to serialise multiple attempts to change the volume 2019-02-01 21:07:13 +00:00
Mike Brady 02bc269a4a Fix a situation where cancellation could lose a malloced buffer. 2019-02-01 16:17:53 +00:00
Mike Brady c807513422 quieten a few debug messages, bring a standard one forward. 2019-01-24 16:33:50 +00:00
Mike Brady 2e4428538d Add an "active" mode that can time out after a period -- 10 seconds by default -- after play ends. 2019-01-21 21:43:55 +00:00
Mike Brady 604ca8dee4 Hook up active mode stuff to metadata, add two four-char codes, improve external command calling. 2019-01-21 21:18:40 +00:00