From 44cb6424859b9410db18bb75d9f10489b238358b Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Mon, 22 Mar 2010 20:11:49 +0000 Subject: Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. --- ChangeLog | 1 + include/xine.h.in | 2 ++ src/demuxers/demux_ogg.c | 1 + src/demuxers/id3.c | 8 ++++++++ 4 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7a7c3656e..c572604c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ xine-lib (1.1.19) 2010-??-?? * Handle odd widths properly (for ffmpeg-decoded video). * Make buildable with current (external) libdvdnav & libdvdread. * Fix V4L2 check. + * Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/include/xine.h.in b/include/xine.h.in index 0a3121bee..3fcd5c4ec 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -1008,6 +1008,8 @@ const char *xine_get_meta_info (xine_stream_t *stream, int info) XINE_PROTECTE #define XINE_META_INFO_PART 23 #define XINE_META_INFO_PARTNUMBER 24 #define XINE_META_INFO_LOCATION 25 +/* post-1.1.18.1 */ +#define XINE_META_INFO_DISCNUMBER 26 /********************************************************************* diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index 1be5c0dcf..573baa593 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -426,6 +426,7 @@ static const struct ogg_meta { OGG_META (ARTIST, 0), OGG_META (PUBLISHER, 0), OGG_META (COPYRIGHT, 0), + OGG_META (DISCNUMBER, 0), OGG_META (LICENSE, 0), OGG_META (TITLE, 0), OGG_META_L (TRACKNUMBER, 0, TRACK_NUMBER), diff --git a/src/demuxers/id3.c b/src/demuxers/id3.c index 15599ffea..755decaf4 100644 --- a/src/demuxers/id3.c +++ b/src/demuxers/id3.c @@ -525,6 +525,10 @@ static int id3v23_interp_frame(input_plugin_t *input, _x_meta_info_set(stream, XINE_META_INFO_TRACK_NUMBER, buf + 1); break; + case FOURCC_TAG('T', 'P', 'O', 'S'): + _x_meta_info_set(stream, XINE_META_INFO_DISCNUMBER, buf + 1); + break; + default: lprintf("unhandled frame\n"); } @@ -783,6 +787,10 @@ static int id3v24_interp_frame(input_plugin_t *input, _x_meta_info_set(stream, XINE_META_INFO_TRACK_NUMBER, buf + 1); break; + case FOURCC_TAG('T', 'P', 'O', 'S'): + _x_meta_info_set(stream, XINE_META_INFO_DISCNUMBER, buf + 1); + break; + default: lprintf("unhandled frame\n"); } -- cgit v1.2.3