From ad37c88f800a09b75ae3174269bcdf3584406837 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Wed, 14 Sep 2011 22:25:29 +0200
Subject: input_plugin: add method update()

Update the struct attributes, important for facades like the "rewind"
plugin.  To replace buffer().
---
 src/input/rewind_input_plugin.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

(limited to 'src/input')

diff --git a/src/input/rewind_input_plugin.c b/src/input/rewind_input_plugin.c
index f4c4fa606..9d3255cfe 100644
--- a/src/input/rewind_input_plugin.c
+++ b/src/input/rewind_input_plugin.c
@@ -105,6 +105,15 @@ input_rewind_close(struct input_stream *is)
 	g_free(r);
 }
 
+static void
+input_rewind_update(struct input_stream *is)
+{
+	struct input_rewind *r = (struct input_rewind *)is;
+
+	if (!reading_from_buffer(r))
+		copy_attributes(r);
+}
+
 static struct tag *
 input_rewind_tag(struct input_stream *is)
 {
@@ -210,6 +219,7 @@ input_rewind_seek(struct input_stream *is, goffset offset, int whence,
 
 static const struct input_plugin rewind_input_plugin = {
 	.close = input_rewind_close,
+	.update = input_rewind_update,
 	.tag = input_rewind_tag,
 	.buffer = input_rewind_buffer,
 	.read = input_rewind_read,
-- 
cgit v1.2.3