output_thread: unlock the mutex while calling cancel()
The method may take longer, and we shouldn't be holding the lock.
This commit is contained in:
@@ -640,8 +640,13 @@ static gpointer audio_output_task(gpointer arg)
|
|||||||
|
|
||||||
case AO_COMMAND_CANCEL:
|
case AO_COMMAND_CANCEL:
|
||||||
ao->chunk = NULL;
|
ao->chunk = NULL;
|
||||||
if (ao->open)
|
|
||||||
|
if (ao->open) {
|
||||||
|
g_mutex_unlock(ao->mutex);
|
||||||
ao_plugin_cancel(ao->plugin, ao->data);
|
ao_plugin_cancel(ao->plugin, ao->data);
|
||||||
|
g_mutex_lock(ao->mutex);
|
||||||
|
}
|
||||||
|
|
||||||
ao_command_finished(ao);
|
ao_command_finished(ao);
|
||||||
|
|
||||||
/* the player thread will now clear our music
|
/* the player thread will now clear our music
|
||||||
|
Reference in New Issue
Block a user