From 801d76fe006a64d07db7f5fc58222abe9af01f97 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 17 Apr 2013 15:31:54 +0200 Subject: Fix player state for unsupported audio file formats Player thread now sets its status correctly. Closes #360. --- src/player.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/player.c b/src/player.c index afd6eb4..16c94dc 100644 --- a/src/player.c +++ b/src/player.c @@ -488,9 +488,9 @@ void *BarPlayerThread (void *data) { #endif /* ENABLE_MAD */ default: - /* FIXME: leaks memory */ BarUiMsg (player->settings, MSG_ERR, "Unsupported audio format!\n"); - return PLAYER_RET_OK; + ret = (void *) PLAYER_RET_ERR; + goto cleanup; break; } @@ -522,7 +522,8 @@ void *BarPlayerThread (void *data) { #endif /* ENABLE_MAD */ default: - /* this should never happen: thread is aborted above */ + /* this should never happen */ + assert (0); break; } @@ -538,7 +539,8 @@ void *BarPlayerThread (void *data) { ret = (void *) PLAYER_RET_ERR; } - ao_close(player->audioOutDevice); +cleanup: + ao_close (player->audioOutDevice); WaitressFree (&player->waith); free (player->buffer); -- cgit v1.2.3