From 7267558ba1cba9338c78b41d11e2eadef6bb515b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 4 Jan 2013 22:02:52 +0100 Subject: DecoderThread: move code to destructor --- src/DecoderInternal.cxx | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/DecoderInternal.cxx') diff --git a/src/DecoderInternal.cxx b/src/DecoderInternal.cxx index d68f7856..c5884d35 100644 --- a/src/DecoderInternal.cxx +++ b/src/DecoderInternal.cxx @@ -24,10 +24,31 @@ #include "MusicBuffer.hxx" #include "MusicChunk.hxx" +extern "C" { +#include "tag.h" +} + #include "input_stream.h" #include +decoder::~decoder() +{ + /* caller must flush the chunk */ + assert(chunk == nullptr); + + if (song_tag != nullptr) + tag_free(song_tag); + + if (stream_tag != nullptr) + tag_free(stream_tag); + + if (decoder_tag != nullptr) + tag_free(decoder_tag); + + pcm_convert_deinit(&conv_state); +} + /** * All chunks are full of decoded data; wait for the player to free * one. -- cgit v1.2.3