From 7f9402bd22f02a46b32d53560094622493f33f37 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 31 Jul 2013 00:26:55 +0200 Subject: Tag: add method Clear() Allow reusing Tag instances. --- src/decoder/FlacDecoderPlugin.cxx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/decoder/FlacDecoderPlugin.cxx') diff --git a/src/decoder/FlacDecoderPlugin.cxx b/src/decoder/FlacDecoderPlugin.cxx index 4140d14f7..fc0925610 100644 --- a/src/decoder/FlacDecoderPlugin.cxx +++ b/src/decoder/FlacDecoderPlugin.cxx @@ -172,11 +172,10 @@ flac_decoder_loop(struct flac_data *data, FLAC__StreamDecoder *flac_dec, data->first_frame = t_start; while (true) { - if (data->tag != nullptr && !data->tag->IsEmpty()) { + if (!data->tag.IsEmpty()) { cmd = decoder_tag(data->decoder, data->input_stream, - std::move(*data->tag)); - delete data->tag; - data->tag = new Tag(); + std::move(data->tag)); + data->tag.Clear(); } else cmd = decoder_get_command(decoder); @@ -260,7 +259,6 @@ flac_decode_internal(struct decoder * decoder, return; struct flac_data data(decoder, input_stream); - data.tag = new Tag(); FLAC__StreamDecoderInitStatus status = stream_init(flac_dec, &data, is_ogg); -- cgit v1.2.3