diff options
Diffstat (limited to 'src/output_thread.c')
-rw-r--r-- | src/output_thread.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/output_thread.c b/src/output_thread.c index b97694169..035cf99c1 100644 --- a/src/output_thread.c +++ b/src/output_thread.c @@ -197,10 +197,18 @@ static gpointer audio_output_task(gpointer arg) case AO_COMMAND_OPEN: assert(!ao->open); - assert(ao->fail_timer == NULL); assert(ao->pipe != NULL); assert(ao->chunk == NULL); + if (ao->fail_timer != NULL) { + /* this can only happen when this + output thread fails while + audio_output_open() is run in the + player thread */ + g_timer_destroy(ao->fail_timer); + ao->fail_timer = NULL; + } + error = NULL; ret = ao_plugin_open(ao->plugin, ao->data, &ao->out_audio_format, |