From ba07000b886802909a52810568705897d600263a Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 8 Sep 2013 06:32:48 +0200 Subject: demux: refactor tag handling Make the code somewhat reuseable, instead of bound to a single demuxer instance. The plan is to add support for per-chapter tags later. --- demux/demux.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'demux/demux.h') diff --git a/demux/demux.h b/demux/demux.h index 6976982e15..00758ea012 100644 --- a/demux/demux.h +++ b/demux/demux.h @@ -111,6 +111,12 @@ typedef struct demuxer_desc { int (*control)(struct demuxer *demuxer, int cmd, void *arg); } demuxer_desc_t; +struct mp_tags { + char **keys; + char **values; + int num_keys; +}; + typedef struct demux_chapter { int original_index; @@ -185,8 +191,9 @@ typedef struct demuxer { // If the file is a playlist file struct playlist *playlist; + struct mp_tags *metadata; + void *priv; // demuxer-specific internal data - char **info; // metadata struct MPOpts *opts; struct demuxer_params *params; } demuxer_t; @@ -282,4 +289,9 @@ double demux_packet_list_duration(struct demux_packet **pkts, int num_pkts); struct demux_packet *demux_packet_list_fill(struct demux_packet **pkts, int num_pkts, int *current); +void mp_tags_set_str(struct mp_tags *tags, const char *key, const char *value); +void mp_tags_set_bstr(struct mp_tags *tags, bstr key, bstr value); +char *mp_tags_get_str(struct mp_tags *tags, const char *key); +char *mp_tags_get_bstr(struct mp_tags *tags, bstr key); + #endif /* MPLAYER_DEMUXER_H */ -- cgit v1.2.3