Hi, I recently upgrade mpd, and have now trouble with the raop_output. When raop_output is the only output present, mpd crashes on every 'next song', or 'pause'/'play'. I trace this to a raop_session inbalance. I tried to fix this:
raop_output: fixed raop_session inbalance raop_session_free must be called from raop_output_finish, not from raop_output_remove. In raop_output_remove, do close the ntp_server & control port. Signed-off-by: Kurt Van Dijck <kurt.van.di...@skynet.be> diff --git a/src/output/raop_output_plugin.c b/src/output/raop_output_plugin.c index 68d6897..6177b9b 100644 --- a/src/output/raop_output_plugin.c +++ b/src/output/raop_output_plugin.c @@ -770,6 +770,11 @@ raop_output_finish(struct audio_output *ao) g_mutex_free(rd->control_mutex); ao_base_finish(&rd->base); g_free(rd); + + if (raop_session->raop_list == NULL) { + raop_session_free(raop_session); + raop_session = NULL; + } } #define RAOP_VOLUME_MIN -30 @@ -870,8 +875,9 @@ raop_output_remove(struct raop_data *rd) g_mutex_unlock(raop_session->list_mutex); if (raop_session->raop_list == NULL) { - raop_session_free(raop_session); - raop_session = NULL; + ntp_server_close(&raop_session->ntp); + close(raop_session->ctrl.fd); + raop_session->ctrl.fd = -1; } } ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team