From 1800bde3038f6af07d4b9383f30580c3da95c210 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 29 May 2009 23:34:51 +0200 Subject: player_thread: reinitialize music_buffer in !NDEBUG To check for leaked music_chunk objects, free the music buffer on CLOSE_AUDIO. This invokes an assertion check which ensures that all chunks have been returned to the buffer. --- src/player_thread.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/player_thread.c b/src/player_thread.c index 4ea23020d..f00d1aba8 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -780,6 +780,15 @@ static gpointer player_task(G_GNUC_UNUSED gpointer arg) case PLAYER_COMMAND_CLOSE_AUDIO: audio_output_all_close(); player_command_finished(); + +#ifndef NDEBUG + /* in the DEBUG build, check for leaked + music_chunk objects by freeing the + music_buffer */ + music_buffer_free(player_buffer); + player_buffer = music_buffer_new(pc.buffer_chunks); +#endif + break; case PLAYER_COMMAND_EXIT: -- cgit v1.2.3