From cb336ff666a8fb2958cfb35c36ffcf613b02cd70 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Sat, 14 Dec 2013 12:21:23 +0100
Subject: DecoderAPI: add function decoder_skip()

Move code from the "mad" plugin.
---
 src/DecoderAPI.cxx | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

(limited to 'src/DecoderAPI.cxx')

diff --git a/src/DecoderAPI.cxx b/src/DecoderAPI.cxx
index 4c6a6f918..b31066e17 100644
--- a/src/DecoderAPI.cxx
+++ b/src/DecoderAPI.cxx
@@ -306,6 +306,22 @@ decoder_read(Decoder *decoder,
 	return nbytes;
 }
 
+bool
+decoder_skip(Decoder *decoder, InputStream &is, size_t size)
+{
+	while (size > 0) {
+		char buffer[1024];
+		size_t nbytes = decoder_read(decoder, is, buffer,
+					     std::min(sizeof(buffer), size));
+		if (nbytes == 0)
+			return false;
+
+		size -= nbytes;
+	}
+
+	return true;
+}
+
 void
 decoder_timestamp(Decoder &decoder, double t)
 {
-- 
cgit v1.2.3