diff options
Diffstat (limited to 'src/input_stream.h')
-rw-r--r-- | src/input_stream.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/input_stream.h b/src/input_stream.h index 7ed0039a3..5761adc12 100644 --- a/src/input_stream.h +++ b/src/input_stream.h @@ -29,6 +29,7 @@ struct input_plugin { bool (*open)(struct input_stream *is, const char *url); void (*close)(struct input_stream *is); + struct tag *(*tag)(struct input_stream *is); int (*buffer)(struct input_stream *is); size_t (*read)(struct input_stream *is, void *ptr, size_t size); bool (*eof)(struct input_stream *is); @@ -46,8 +47,6 @@ struct input_stream { char *mime; void *data; - char *meta_name; - char *meta_title; void *archive; }; @@ -67,6 +66,15 @@ input_stream_seek(struct input_stream *is, off_t offset, int whence); void input_stream_close(struct input_stream *is); bool input_stream_eof(struct input_stream *is); +/** + * Reads the tag from the stream. + * + * @return a tag object which must be freed with tag_free(), or NULL + * if the tag has not changed since the last call + */ +struct tag * +input_stream_tag(struct input_stream *is); + /* return value: -1 is error, 1 inidicates stuff was buffered, 0 means nothing was buffered */ int input_stream_buffer(struct input_stream *is); |