Commit Graph
65 Commits
Author SHA1 Message Date
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 6c57ce97d5 Add two cover_art control settings -- the cache directory to use, (or the empty string to prevent caching) and a flag to retain all art work 2019-10-20 15:43:31 +01:00
Mike Brady e17a151f7a quieten a debug message 2019-09-10 13:14:11 +01:00
Mike Brady daab7a634c Clean up the scanning code for detecting either a standard DACP server or an advanced DACP server. 2019-09-04 20:24:34 +01:00
Mike Brady 86b6d7bfff Squashed commit of the following:
Fix Issue #890 -- https://github.com/mikebrady/shairport-sync/issues/890
    Recognise situation where a track has no artwork properly.
    Less likely to drop the 'availabile' property.
    Always output the full metadata whenever any part of it has changed.
    Metadata coming from dacp is now incorporated,
2019-08-29 11:47:49 +01: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 405a028f33 quieten some exiting debug messages 2019-02-16 19:44:25 +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 0697a40b08 fix crypto library flags 2019-01-23 22:21:43 +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 3566cf0caf remove unnecessary file includes 2019-01-18 16:30:21 +00:00
Mike Brady f5707d4f18 Stop dropping metadata with a zero id -- it's not infallible way of determining if the metadata is invalid. 2019-01-03 10:48:09 +00:00
Mike Brady 59b3abd965 quieten some dacp debug messages 2018-12-27 14:36:29 +00: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 63c447582f Fix a read-write mutex locking issue in the metadata hub. 2018-08-08 09:28:34 +01:00
Mike Brady 76c5dd9285 Stop using SIGUSR1 for cancelling threads, use pthread_cancel and friends instead, fix some memory leaks, add accurate ouput rate calculation to statistics, add "quit" verb to MPRIS and native d-bus interfaces. Probably still buggy. 2018-07-30 10:07:11 +01:00
Mike Brady 2eaaa9cdb3 Fix a bug where the dacp notification handlers are called 2018-07-21 15:35:07 +01:00
Mike Brady f1d4503431 Try to add proper cancellation code to all threads -- not complete, buggy. 2018-07-20 13:50:38 +01:00
Mike Brady 7d446832bf Quieten some debug messages 2018-06-21 18:04:24 +01:00
Mike Brady 365843faa6 beginning to add a progress string item to the native dbus interface 2018-06-21 17:44:26 +01:00
Mike Brady cf6b98df5f Only drop metadata if the dacp server transitions fron available to unavailable rahter than if it's unavailable. Add a few sample dbus-send commands. 2018-04-17 16:01:28 +01:00
Mike Brady 08a7d4ffb5 Use snprintf in place of sprintf. 2018-04-08 15:36:05 +01:00
Mike Brady aa69f52d04 Quiten some debug messages and some compiler warnings 2018-04-07 17:40:46 +01:00
Mike Brady 5e6f444339 Quieten scan debug messages 2018-04-07 14:01:03 +01:00
Mike Brady 4aab0a6f92 Improve the scanner to start and stop properly and to release track data when remote control becomes unavailable. 2018-04-07 13:22:38 +01:00
Mike Brady 670c6fbea9 Check long term behahiour of scanner and interaction with periodic wakeups and bac scans. Unfinished. 2018-04-06 08:22:38 +01:00
Mike Brady f9845d017b Fix problem when reconnecting to an itunes play session. 2018-04-03 22:32:43 +01:00
Mike Brady 8bf83c149f Modify latency detection to use the second word of a sync packet to decide whether to add an extra delay or not. Use all sync packets, not just one with the exception flag. Use 1024 buffers -- a bit profligate, but hey. 2018-04-02 16:42:46 +01:00
Mike Brady cb69c1dd2e Take in track metadata but discard it if it's invalid (i.e. has a given mper ID of 0. 2018-04-01 16:09:53 +01:00
Mike Brady 32c7a535a1 Make scanning for DACP port part of the dacp handler. Only emit 'clip' and 'svip' for a play connection, suppress 'pfls' until 'pffr' has been emitted 2018-03-31 17:34:59 +01:00
Mike Brady 69b3b5d776 Send rtsp events to the metadata thteread for handling. Begin to clean up signals. 2018-03-31 12:39:26 +01:00
Mike Brady cbbe84d8ba Add some more D-Bus facilities. Countermand faulty D-Bus commands. 2018-03-24 17:48:32 +00:00
Mike Brady 0993f3f15b Only report a client ip as metadata when a play session has started. 2018-03-20 21:24:47 +00:00
Mike Brady d692fab9e4 Clean up native dbus interface files and associated changes to existing files. 2018-03-20 16:31:59 +00:00
Mike Brady 13931664ed Check if locks are already acquired. 2018-03-16 15:57:35 +00:00
Mike Brady 7fa1d3cbee Add a prolog and epilog for safe reading of the metadata bundle 2018-03-09 16:26:09 +00:00
Mike Brady 722505dd2d Fix a debug message mislabeling of the 'asdt' tag -- it's supposely a Sond Description. 2018-03-08 12:51:31 +00:00
Mike Brady f8518af7e0 Remove some more causes of warnings. 2018-03-07 19:22:18 +00:00
Mike Brady c36a7822a3 Tidy up using clang-format 2018-03-07 14:35:25 +00:00
Mike Brady 07e46565ca Eliminate almost all warnings from -Wall 2018-03-07 14:29:14 +00:00
Mike Brady 7bb4506ce2 Make image fles created with group and world read permission 2018-03-04 16:56:05 +00:00
Mike Brady 64d36693d4 Add play/pause/stop MPRIS and quieten some debug messages 2018-02-21 18:30:32 +00:00
Mike Brady 091dcaace8 When track metadata is received, drop the previous metadata. 2018-02-19 21:08:57 +00:00