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