From cbd38327e7f6948647768227ac4836f64e5ccd51 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 31 Jul 2013 00:34:22 +0200 Subject: DecoderAPI: pass rvalue reference to decoder_tag() Avoid duplicating the tag. --- src/DecoderAPI.cxx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/DecoderAPI.cxx') diff --git a/src/DecoderAPI.cxx b/src/DecoderAPI.cxx index c7a12c68a..a4bdf37c4 100644 --- a/src/DecoderAPI.cxx +++ b/src/DecoderAPI.cxx @@ -471,19 +471,18 @@ decoder_data(struct decoder *decoder, enum decoder_command decoder_tag(G_GNUC_UNUSED struct decoder *decoder, struct input_stream *is, - const Tag *tag) + Tag &&tag) { G_GNUC_UNUSED const struct decoder_control *dc = decoder->dc; enum decoder_command cmd; assert(dc->state == DECODE_STATE_DECODE); assert(dc->pipe != NULL); - assert(tag != NULL); /* save the tag */ delete decoder->decoder_tag; - decoder->decoder_tag = new Tag(*tag); + decoder->decoder_tag = new Tag(tag); /* check for a new stream tag */ @@ -509,7 +508,7 @@ decoder_tag(G_GNUC_UNUSED struct decoder *decoder, struct input_stream *is, delete merged; } else /* send only the decoder tag */ - cmd = do_send_tag(decoder, *tag); + cmd = do_send_tag(decoder, *decoder->decoder_tag); return cmd; } -- cgit v1.2.3