aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/output/raop_output_plugin.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/output/raop_output_plugin.c b/src/output/raop_output_plugin.c
index a73ab2bdc..41ea8caa5 100644
--- a/src/output/raop_output_plugin.c
+++ b/src/output/raop_output_plugin.c
@@ -1287,6 +1287,7 @@ raop_output_open(void *data, struct audio_format *audio_format, GError **error_r
if ((raop_session->ctrl.fd = open_udp_socket(NULL, &raop_session->ctrl.port)) == -1) {
close(raop_session->ntp.fd);
raop_session->ctrl.fd = -1;
+ pthread_mutex_unlock(&raop_session->list_mutex);
return false;
}
}
@@ -1363,6 +1364,7 @@ raop_output_play(void *data, const void *chunk, size_t size,
iter = raop_session->raop_list;
while (iter) {
if (!send_control_command(&raop_session->ctrl, iter, &raop_session->play_state)) {
+ pthread_mutex_unlock(&raop_session->list_mutex);
g_set_error(error_r, raop_output_quark(), -1,
"Unable to send control command");
goto erexit;