From c7a374bdcbe85a794b047c638e57b9358d2d095b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 2 Nov 2008 17:01:00 +0100 Subject: music_pipe: add tag pointer to the music_chunk struct Each music chunk can now carry a tag object. Decoder plugins which support it (e.g. oggvorbis) may use this to inject decoded tags into their output. --- src/pipe.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/pipe.h') diff --git a/src/pipe.h b/src/pipe.h index 7d2912197..f65e12d49 100644 --- a/src/pipe.h +++ b/src/pipe.h @@ -42,6 +42,14 @@ struct music_chunk { /** the time stamp within the song */ float times; + /** + * An optional tag associated with this chunk (and the + * following chunks); appears at song boundaries. The tag + * object is owned by this chunk, and must be freed when this + * chunk is deinitialized in music_chunk_free() + */ + struct tag *tag; + /** the data (probably PCM) */ char data[CHUNK_SIZE]; }; @@ -148,6 +156,12 @@ size_t music_pipe_append(const void *data, size_t datalen, const struct audio_format *audio_format, float data_time, uint16_t bit_rate); +/** + * Send a tag. This is usually called when a new song within a stream + * begins. + */ +bool music_pipe_tag(const struct tag *tag); + void music_pipe_skip(unsigned num); #endif -- cgit v1.2.3