Commit Graph
345 Commits
Author SHA1 Message Date
Mike Brady b9854d3fdc Version 3.3.8 is 3.3.8rc7. 2021-04-26 11:23:13 +01:00
Mike Brady b8f348d459 Restore compatibility with AirPower on Android. 2020-12-07 14:04:22 +00:00
Mike Brady 5146efd768 Bugfix -- don't try to create the metadata pipe or output metadata to it when metadata has not been enabled. 2020-12-05 18:00:47 +00:00
Mike Brady 54cb9de183 Handle active_remote_id as a string rather than an unsigned 32-bit number -- seems ROON uses a longer character sequence.
Tidy up some error messages about which backend is selected.
    Tighten up memory allocatons in DACP.c.
    Add a default name for the pipe backend: /tmp/shairport-sync-audio
    Ensure the metadata pipe is created, if necessary, when the --with-metadata option is chosen without dbus or mpris
    Make the first output backend in the list of backends the default and make its name the default output_name. Clang-format everything
    Add the word 'jack' to the version string if Jack Audio support is compiled in.
    Fix a flaw in resyncing -- a flush is set up but not triggered.
    Open metadata and audio pipes with 666 permissions.
    Ensure metadata and cover art are enabled if metadata support is included at compilation.
    Reword some misleading error messages.
    Set convolution defaults even if no configuration file is found.
2020-09-30 15:02:35 +01:00
Mike Brady 27faeaf696 Squashed commit of the following:
Use a  gentler flush process for resyncing.
    Potentially fix a flaw in resyncing. The problem was that a flush is set up but not triggered.
    Open metadata and audio pipes with 666 permissions for easier integration with other audio sources to give them permission to write to the audio pipe later.
    Ensure metadata and cover art are enabled if metadata support is included at compilation.
    Reword some misleading error messages.
    Set convolution defaults even if no configuration file is found.
    Quieten a few debug messages.
2020-08-21 10:43:09 +01:00
Mike Brady bdc2dca3ec 3.3.7rc0 2020-07-06 17:09:15 +01:00
Mike Brady 02224666da Squashed commit of the following:
Don't use strndup as old versions of OpenWrt don't seem to have it
    Update FREEBSD.md
    Fix comparison between old and new metadata strings by checking they have equal lengths as well.
    Remove a redundant definition to prevent use on an uninitialised copy, clean up some of the less-used backends
    Remove some unwanted and unused variable declarations from audio_dummy.c and audio_soundio.c
    Add the -fno-common flag to compilation.
    Treat the "mper" attribute as the 64-bit item that it is rather than a 32-bit item as hithereto. Output it as a hexadecimal number to correspond with the format of the track id obtained from AppleScript
    Make changes to that it compiles under gcc-10 with -fno-common
    Add a SIGCHLD handler to reap zombie processes generated after script invocations where wait_for_completion is set to "no".
    Update and rename CONTRIBUTING.md to REPORTING ISSUES.md
    Add a few more commands and clarify some text.
    Change from talking about a server to talking about a client. Technically, e.g. iTunes is a client of Shairport Sync.
    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.
    Add or update some of the copyright notices
    Add the ability to set the volume directly to the D-Bus RemoteControl interface and to the MPRIS interface. Both use the recently-discovered ability to set the device_volume.
    Merge in Pieter De Gendt's work on resampling on the jack backend.
    Merge pull request #939 from pdgendt/feature/jack-soxr-resampling
    Add SetAirplayVolume to the D-Bus RemoteControl interface.
    Add SetVolume to the MPRIS interface.
    Hook up the Volume property in the MPRIS interface.
    Modify RemoteCommand in the D-Bus interface to return the HTTP status and response.
    Change the type of airplay_volume from int to double in the metadata hub.
    Add a few sample commands in the D-Bus document.
2020-02-20 21:32:35 +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
Mike Brady 61c870bac1 make OpenSSL routines un-cancellable, in case there is a possible memory leak 2019-01-18 16:32:31 +00:00
Mike Brady 4483037719 Block on command_execute for unfixable errors. 2019-01-15 08:30:00 +00:00
Mike Brady 68f20fe8db Add an error message if an RTSP thread can not be created. 2019-01-13 13:14:39 +00:00
Mike Brady 93cae8a5d1 Quieten the msg_ debug messages. 2019-01-13 10:17:34 +00:00
Mike Brady 9fbdc062b4 Change how rtsp_messages are memory managed. Add some diagnostics. 2019-01-12 21:44:52 +00:00
Mike Brady ca72645cb8 If a message is dropped because the pc queue is busy, free any data that might be associated with it as well as just the rtsp message. 2019-01-12 19:17:43 +00:00
Mike Brady c3668b3fc0 INcrease the delay between reading chunks of the RTSP message, may it less likely to overwhelm the CPU. 2019-01-08 13:00:00 +00:00
Mike Brady c35fb69e33 Fix parsing error with progress 'prgr' metadata 2019-01-03 10:48:54 +00:00
Mike Brady ad6c721d5a Format 2018-12-27 14:04:31 +00:00
Mike Brady 6e5f84d2a0 Always leave space for, and put a NULL at the end of an RTSP packet. 2018-12-27 13:59:20 +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 7cc434e989 Experimentally, add the ability to prevent the DAC making popping noises by feeding it with silence instead of allowing it to stop. 2018-12-13 14:47:52 +00:00
Mike Brady e454572dc7 Further debug tidy-ups and update the configuration file. 2018-12-11 11:26:39 +00:00
Mike Brady 45ce909214 Tidy up some debug messages and warnings, remove old diagnostic codes and settings. 2018-12-11 10:56:36 +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 e5452e5172 Make the idle timeout on the RTSP link the same as the overall timeout -- 30 seconds is a bit short. Add checks to the alsa interface timing -- 15 ms to write a packet of frames, 1 ms to ask for the delay. 2018-12-08 14:12:33 +00:00