From d4e003805c4129cc7db8a217f64c62b79b541716 Mon Sep 17 00:00:00 2001 From: Mike Brady <4265913+mikebrady@users.noreply.github.com> Date: Mon, 26 Jun 2023 07:13:45 +0100 Subject: [PATCH] Ensure the metadata associated with active_end is sent before quitting the app gracefully. (Up to now, the metadata systems would be shutdown before the active_end was done. --- shairport.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/shairport.c b/shairport.c index efcfaa0f..db5bf2c0 100644 --- a/shairport.c +++ b/shairport.c @@ -1593,6 +1593,16 @@ void exit_function() { #endif */ + debug(2, "Stopping the activity monitor."); + activity_monitor_stop(0); + debug(2, "Stopping the activity monitor done."); + +#ifdef CONFIG_DACP_CLIENT + debug(2, "Stopping DACP Monitor"); + dacp_monitor_stop(); + debug(2, "Stopping DACP Monitor Done"); +#endif + #if defined(CONFIG_DBUS_INTERFACE) || defined(CONFIG_MPRIS_INTERFACE) /* Actually, there is no stop_mpris_service() function. @@ -1618,11 +1628,6 @@ void exit_function() { } #endif -#ifdef CONFIG_DACP_CLIENT - debug(2, "Stopping DACP Monitor"); - dacp_monitor_stop(); - debug(2, "Stopping DACP Monitor Done"); -#endif #ifdef CONFIG_METADATA_HUB debug(2, "Stopping metadata hub"); @@ -1635,9 +1640,6 @@ void exit_function() { metadata_stop(); // close down the metadata pipe debug(2, "Stopping metadata done"); #endif - debug(2, "Stopping the activity monitor."); - activity_monitor_stop(0); - debug(2, "Stopping the activity monitor done."); if ((config.output) && (config.output->deinit)) { debug(2, "Deinitialise the audio backend.");