From: Mike Brady Date: Tue, 11 Dec 2018 11:26:39 +0000 (+0000) Subject: Further debug tidy-ups and update the configuration file. X-Git-Tag: 3.3RC0~103 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e454572dc789913d1c536784b02cd9f0683c841d;p=thirdparty%2Fshairport-sync.git Further debug tidy-ups and update the configuration file. --- diff --git a/mdns_avahi.c b/mdns_avahi.c index e1abe286..2d5cf569 100644 --- a/mdns_avahi.c +++ b/mdns_avahi.c @@ -98,7 +98,7 @@ static void resolve_callback(AvahiServiceResolver *r, AVAHI_GCC_UNUSED AvahiIfIn if (dacpid) { dacpid += strlen("iTunes_Ctrl_"); if (strcmp(dacpid, dbs->dacp_id) == 0) { - debug(1, "Client \"%s\"'s DACP port: %u.", dbs->dacp_id, port); + debug(3, "Client \"%s\"'s DACP port: %u.", dbs->dacp_id, port); #ifdef CONFIG_DACP_CLIENT dacp_monitor_port_update_callback(dacpid, port); #endif diff --git a/player.c b/player.c index 42985019..9259aaa4 100644 --- a/player.c +++ b/player.c @@ -1081,8 +1081,9 @@ static abuf_t *buffer_get_frame(rtsp_conn_info *conn) { if (config.cmd_unfixable) { command_execute(config.cmd_unfixable, "output_device_stalled"); } else { - warn("An unfixable error, \"output_device_stalled\", has been detected.", - conn->connection_number); + warn( + "an unrecoverable error, \"output_device_stalled\", has been detected.", + conn->connection_number); } } } diff --git a/rtsp.c b/rtsp.c index 30505008..12ac99f0 100644 --- a/rtsp.c +++ b/rtsp.c @@ -295,8 +295,7 @@ void *player_watchdog_thread_code(void *arg) { conn->unfixable_error_reported = 1; command_execute(config.cmd_unfixable, "unable_to_cancel_play_session"); } else { - warn("Connection %d: An unfixable error, code \"unable_to_cancel_play_session\" has " - "been detected.", + warn("an unrecoverable error, \"unable_to_cancel_play_session\", has been detected.", conn->connection_number); } } diff --git a/scripts/shairport-sync.conf b/scripts/shairport-sync.conf index 689f55ea..98cc9ba5 100644 --- a/scripts/shairport-sync.conf +++ b/scripts/shairport-sync.conf @@ -53,7 +53,9 @@ sessioncontrol = { // run_this_before_play_begins = "/full/path/to/application and args"; // make sure the application has executable permission. If it's a script, include the shebang (#!/bin/...) on the first line // run_this_after_play_ends = "/full/path/to/application and args"; // make sure the application has executable permission. If it's a script, include the shebang (#!/bin/...) on the first line -// run_this_if_an_unfixable_error_is_detected = "/full/path/to/application and args"; // if a problem occurs that can't be cleared. It might restart the whole device. +// run_this_if_an_unfixable_error_is_detected = "/full/path/to/application and args"; // if a problem occurs that can't be cleared by Shairport Sync itself, hook a program on here to deal with it. An error code-string is passed as the last argument. +// Many of these "unfixable" problems are caused by malfunctioning output devices, and sometimes it is necessary to restart the whole device to clear the problem. +// You could hook on a program to do this automatically, but beware -- the device may then power off and restart without warning! // wait_for_completion = "no"; // set to "yes" to get Shairport Sync to wait until the "run_this..." applications have terminated before continuing // allow_session_interruption = "no"; // set to "yes" to allow another device to interrupt Shairport Sync while it's playing from an existing audio source // session_timeout = 120; // wait for this number of seconds after a source disappears before terminating the session and becoming available again. @@ -74,8 +76,7 @@ alsa = // buffer_size = ; // Use this optional advanced setting to set the alsa buffer size near to this value // use_mmap_if_available = "yes"; // Use this optional advanced setting to control whether MMAP-based output is used to communicate with the DAC. Default is "yes" // use_hardware_mute_if_available = "no"; // Use this optional advanced setting to control whether the hardware in the DAC is used for muting. Default is "no", for compatibility with other audio players. -// maximum_interface_response_time = 0.001; // Use this optional advanced setting to control how long a response should be waited for on the interface between Shairport Sync and the ALSA subsystem. -// maximum_write_time = 0.015; // Use this optional advanced setting to control how long it should take to write audio data to the ALSA subsystem. +// maximum_stall_time = 0.200; // Use this optional advanced setting to control how long to wait for data to be consumed by the output device before considering it an error. It should never approach 200 ms. }; // Parameters for the "sndio" audio back end. All are optional.