From ca5afe1ed3b1d905c3d36db5a9aa9d9a153bd738 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 1 Dec 2009 01:04:51 +0000 Subject: Adjust version tagging. --- .hgtags | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/.hgtags b/.hgtags index f054f132c..aff801c83 100644 --- a/.hgtags +++ b/.hgtags @@ -76,3 +76,77 @@ e33280bcaa3b1f3f5b93e633e2225e2440ecfd7c xine-lib-1_1_16-release 01fac0a015581bbdf7e38561ad2a95405e2ca785 xine-lib-1_1_16_1-release ff19463729d8f9bbea35171d641c5f28cdacc7c8 xine-lib-1_1_16_2-release fc1aecbb9d80a32d9c802a5208dfdc012f1ba9d5 xine-lib-1_1_16_3-release +ce6d51906ecaac64f0465a79642a592347b64676 0-5-3.release +b66f22564aa439192b3f9aa0f9cb1babda84b4da 0.5.0 +0caef15bddcefa51b941b3233c59158d64fd740c 0.5.1 +4922366db9ebf2e54f8e5828824e266c779daab4 0.5.2 +bdf384fc9565e02be8566a2679b739bf42c83f79 0.9.0 +c4808dda1232c5a5ddb330ef54bd74a502695629 0.9.1 +9c168852e1cc292c7e1df0e49426d8e0106d1e25 0.9.2 +6cf80db29dc216d4baf95702538f288e5e4649d2 0.9.3 +378fe2fd99b5e31f9a93180859d6b6816fdcac48 0.9.4 +e08fd1b5462bc6b5c7a3f07db9f0551defc67e1f 0.9.5 +0c06707cc353fd89544c12044bf602ba1ae86b0b 0.9.6 +3e7e161d4ee8cce39368f8cf076e7365cae0d3b4 0.9.7 +b2d393b19af6af301c5372739013fd73fe1aa920 0.9.8 +92f41526811f87d93e64f87c471ad14431fb60fa 0.9.9 +4a8d2fe2ff9df78e0341e3466c6ae4b2648b2fa8 0.9.10 +5ce64126f81231a79a89bdee8c5fde9e2cd8c1b5 0.9.11 +c81224c37a55b06a365b184774baab0a5f780e51 0.9.12 +e12750bf1fe5f99ba32aa06faa035376b33557e2 0.9.13 +eb5fc809821ba1ed65cb9c4345254a69e879e858 0.9.14-norelease +e9550955ba6d47c7e965e117ee6039857095c4c2 1-alpha0 +2c65ec9c8037a0282433fba4f3fb1f6184dd31e5 1-alpha1 +c0124a3f26c40d54f58806175968caacbfafbc95 1-alpha2 +9e6a51d993fad6229605a5d86d7e750a638f4f23 1-beta0 +bba445d4d6e6bbc71d83fb5e01e9c3eb3693e826 1-beta1 +c0dd293ca501989bbec7c56e18a4a292564d3bd5 1-beta10 +77a33d365788a22af1cf06e8f32aca82bdae9986 1-beta11 +22213499ad56cdebaab0339ccdd1764067bc3741 1-beta12 +3496a6be02bee3f32c5d10b17c54a0971baeea57 1-beta2 +ccd00281e7c213ddf8eb47a34b4743c999dd6616 1-beta3 +f1a2861399059cba07e916afee432bbb31df4249 1-beta4 +3e25fe0cfbba9731b9dd888589668402b359fd69 1-beta5 +0315580865123cd22265aecdf5a18f398dbd9692 1-beta6 +78c57d5e78d6fbaaa07694535fe3760c413e69af 1-beta7 +6dcd38bb815a77f1d10d8688822cab033b191493 1-beta8 +66c898586866cf123330dcf08e9e82ebbd2f2019 1-beta9 +70dc8b636f983685a031311cb1003946d5849772 1-rc0 +cf1c786bccc3327e10f56386048d2659210aabbf 1-rc0a +c03194421e33a817ea3b17398c938fc5ae98943e 1-rc1 +6b6e18e988281d38b5a9d4a93bf5d9e410849229 1-rc2 +9a23b3c5244c3d47617b4beca6fa32a734c489bb 1-rc3 +d43bccdfd36162eef7719cf14c9c2e85cbe6d158 1-rc3a +06f9da67d47e60d77437ce14fe5d6eb4e471383d 1-rc3b +2899f4f1abdec3eadae9d9739fb36d3faca59807 1-rc3c +111735d0b1bf71c63fcd73d587ed942b6262e09e 1-rc4 +b458da9319099a13f5107dc058c4de48b7136c84 1-rc4a +1dc5aab206ddbe8d77ca8fde54d0def2a01c3381 1-rc5 +9fa822c32a4029a1073aa9c8f7e9dc9dc641fd7a 1-rc6 +e795857a490acb12c1f1ebba82f7d6807cdde29f 1-rc6a +29315957aa894cfbbe6ef3a7f8d5d9cbae9f4e88 1-rc7 +bc6971d3877898e29369f1336c0bdcd86308133a 1-rc8 +cb879bf132294eae159fc67148005c338dd12186 1.0 +eb7068fcbc340c1074f9ff916d3843ac19ea94fa 1.1.0 +e0826840e0b81dfc8a78bae7df21fe0e3bfd9fc1 1.1.1 +73a7021e83a96df403a7fc3fbbf65b3e5170d254 1.1.2 +462ca6874836385e719b7da07044b09604385b1a 1.1.3 +a7007ee5c2f21e5a5841f505c7b8f9a32174660f 1.1.4 +204b8e92463b592e5c220b56f186a6d4d1007cf9 1.1.5 +7b60f85a95345c41fb074dc5e3f7355d9e72968e 1.1.6 +ab1531337553ad5eac24a69ac665eae33916b423 1.1.7 +e0a332b9d3e8bb3fad4d7feac1e519292b062056 1.1.8 +b6be674453e922114b55d4613cb197c77d19f094 1.1.9 +9438947f88ad2bed1832385301c6b4e62709625a 1.1.9.1 +7f1232425c6d715c404e6df1292075b33ecb8305 1.1.10 +0e9e4df266f639ac7ba9e0c204f205686b56d5f9 1.1.10.1 +10a6bc10e58f45f6cb79f634bdb6b7daa3167742 1.1.11 +2a2cc543b27b64a6587dfaef4f1d986eb2f2710a 1.1.11.1 +66e1654718fb0581846d60c60bc09ae3b6b8c0cf 1.1.12 +492f87e6963a8d244df32c40d66a6349aabc4420 1.1.13 +9b383441a18fb49ccd5a07465d3e3db8821cccf6 1.1.14 +17f8ed16524ba779af42913e51667e89b83a1887 1.1.15 +e33280bcaa3b1f3f5b93e633e2225e2440ecfd7c 1.1.16 +01fac0a015581bbdf7e38561ad2a95405e2ca785 1.1.16.1 +ff19463729d8f9bbea35171d641c5f28cdacc7c8 1.1.16.2 +fc1aecbb9d80a32d9c802a5208dfdc012f1ba9d5 1.1.16.3 -- cgit v1.2.3 From 08a01b18e3d6195471a6b51614feeef557eca081 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 1 Dec 2009 01:27:27 +0000 Subject: Authors update. --- AUTHORS | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/AUTHORS b/AUTHORS index 52758d0cf..d4c757f3e 100644 --- a/AUTHORS +++ b/AUTHORS @@ -17,13 +17,23 @@ Thibaut Mattern demuxer cleanups and fixes, mms input plugin fixes, xml parser, mmsh protocol support -project administrator / release manager -======================================= +project administrator +===================== Siegfried Langauf Debian package, user support, project administration, plugin loader +Diego 'Flameeyes' Pettenò + build system improvements, LE_64/BE_64 macro fixes, lots of clean-up + +project admin / release manager +=============================== + +Darren Salt + Debian packaging, bug fixes, some clean-up, various minor features, + patch handler + developers ========== @@ -80,8 +90,8 @@ František Dvořák czech translations and multilanguage support (xine lib/ui), RIP Input Plugin, WIN32 porting, lots of other improvements and bugfixes -Darren Salt - occasional misc bug fixes +Reinhard Tartler + Debian packaging, bug fixes xine is using ============= @@ -550,9 +560,6 @@ Keenan Pepper Dams Nadé gcc4 patches -Diego 'Flameeyes' Pettenò - build system improvements, LE_64/BE_64 macro fixes - Jason Tackaberry plugin loader fixes, expand plugin fixes and non-4/3 display support -- cgit v1.2.3 From 0788850a343aedac79b5db636e99a8545bb4214e Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 1 Dec 2009 01:33:30 +0000 Subject: Fork failure messages shouldn't be debug-only. --- src/input/input_pvr.c | 2 +- src/xine-engine/audio_out.c | 2 +- src/xine-engine/broadcaster.c | 2 +- src/xine-engine/events.c | 2 +- src/xine-engine/video_out.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/input/input_pvr.c b/src/input/input_pvr.c index 7b08ef5ea..5e7f7bca9 100644 --- a/src/input/input_pvr.c +++ b/src/input/input_pvr.c @@ -1453,7 +1453,7 @@ static int pvr_plugin_open (input_plugin_t *this_gen ) { if ((err = pthread_create (&this->pvr_thread, NULL, pvr_loop, this)) != 0) { - xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, + xprintf (this->stream->xine, XINE_VERBOSITY_NONE, "input_pvr: can't create new thread (%s)\n", strerror(err)); _x_abort(); } diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c index 601af196a..4f68b8975 100644 --- a/src/xine-engine/audio_out.c +++ b/src/xine-engine/audio_out.c @@ -2285,7 +2285,7 @@ xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, if ((err = pthread_create (&this->audio_thread, &pth_attrs, ao_loop, this)) != 0) { - xprintf (this->xine, XINE_VERBOSITY_DEBUG, + xprintf (this->xine, XINE_VERBOSITY_NONE, "audio_out: can't create thread (%s)\n", strerror(err)); xprintf (this->xine, XINE_VERBOSITY_LOG, _("audio_out: sorry, this should not happen. please restart xine.\n")); diff --git a/src/xine-engine/broadcaster.c b/src/xine-engine/broadcaster.c index 22390459e..a554337a3 100644 --- a/src/xine-engine/broadcaster.c +++ b/src/xine-engine/broadcaster.c @@ -343,7 +343,7 @@ broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) this->running = 1; if ((err = pthread_create (&this->manager_thread, NULL, manager_loop, (void *)this)) != 0) { - xprintf (stream->xine, XINE_VERBOSITY_DEBUG, + xprintf (stream->xine, XINE_VERBOSITY_NONE, "broadcaster: can't create new thread (%s)\n", strerror(err)); _x_abort(); } diff --git a/src/xine-engine/events.c b/src/xine-engine/events.c index cf35f96b4..a51813adc 100644 --- a/src/xine-engine/events.c +++ b/src/xine-engine/events.c @@ -244,7 +244,7 @@ void xine_event_create_listener_thread (xine_event_queue_t *queue, if ((err = pthread_create (queue->listener_thread, NULL, listener_loop, queue)) != 0) { - xprintf (queue->stream->xine, XINE_VERBOSITY_DEBUG, + xprintf (queue->stream->xine, XINE_VERBOSITY_NONE, "events: can't create new thread (%s)\n", strerror(err)); _x_abort(); } diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index 1ecd59225..0b6d8f7a1 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -1910,7 +1910,7 @@ xine_video_port_t *_x_vo_new_port (xine_t *xine, vo_driver_t *driver, int grabon if ((err = pthread_create (&this->video_thread, &pth_attrs, video_out_loop, this)) != 0) { - xprintf (this->xine, XINE_VERBOSITY_DEBUG, "video_out: can't create thread (%s)\n", strerror(err)); + xprintf (this->xine, XINE_VERBOSITY_NONE, "video_out: can't create thread (%s)\n", strerror(err)); /* FIXME: how does this happen ? */ xprintf (this->xine, XINE_VERBOSITY_LOG, _("video_out: sorry, this should not happen. please restart xine.\n")); -- cgit v1.2.3 From 96b594fd1c2ace84eec5770ff720948d4ca974d0 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 1 Dec 2009 01:52:53 +0000 Subject: 1.1.17. --- configure.ac | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index c9a8557df..df262cc26 100644 --- a/configure.ac +++ b/configure.ac @@ -17,9 +17,9 @@ dnl XINE_SUB += 1; XINE_PATCH = ''; continue with XINE_LT_* values below dnl XINE_MAJOR=1 XINE_MINOR=1 -XINE_SUB=16 +XINE_SUB=17 dnl XINE_PATCH should be left empty or set to ".1" or ".2" or something similar -XINE_PATCH=.3 +XINE_PATCH= dnl Release series number (usually $XINE_MAJOR.$XINE_MINOR) XINE_SERIES=1.1 @@ -54,9 +54,9 @@ dnl are platform dependent dnl * in Linux, the library will be named dnl libname.so.(XINE_LT_CURRENT - XINE_LT_AGE).XINE_LT_AGE.XINE_LT_REVISION -XINE_LT_CURRENT=27 -XINE_LT_REVISION=1 -XINE_LT_AGE=26 +XINE_LT_CURRENT=28 +XINE_LT_REVISION=0 +XINE_LT_AGE=27 dnl for a release tarball do "rm .cvsversion" before "make dist" if test -f "${srcdir-.}/.cvsversion"; then -- cgit v1.2.3 From a8cff2130f70a07cb537b6e63658041effe28652 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 1 Dec 2009 01:52:56 +0000 Subject: Added tag 1.1.17 for changeset ff764395a361 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index aff801c83..0ee760235 100644 --- a/.hgtags +++ b/.hgtags @@ -150,3 +150,4 @@ e33280bcaa3b1f3f5b93e633e2225e2440ecfd7c 1.1.16 01fac0a015581bbdf7e38561ad2a95405e2ca785 1.1.16.1 ff19463729d8f9bbea35171d641c5f28cdacc7c8 1.1.16.2 fc1aecbb9d80a32d9c802a5208dfdc012f1ba9d5 1.1.16.3 +ff764395a361257b11d73583a0e0851e0f5f2ee5 1.1.17 -- cgit v1.2.3 From d1db29bc1bae0941ca98129a14286eb39bc505b3 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 1 Dec 2009 02:30:01 +0000 Subject: Release date... --- ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3f37ddd20..6cca39351 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -xine-lib (1.1.17) 2009-??-?? +xine-lib (1.1.17) 2009-12-01 * Add support for Matroska SIMPLEBLOCK. * Add support for sndio (OpenBSD sound API). * Correct invalid MIME info in the MOD demuxer. -- cgit v1.2.3 From 01519cbc4d6ee1f05778265f50d200938bbb7dd3 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Wed, 2 Dec 2009 18:35:24 +0000 Subject: PNG optimisation. --- misc/xine_logo.png | Bin 46649 -> 44337 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/misc/xine_logo.png b/misc/xine_logo.png index dbdd49800..7e555ae3d 100644 Binary files a/misc/xine_logo.png and b/misc/xine_logo.png differ -- cgit v1.2.3 From 54f924caa91b80827a370043436c759bfec6f0de Mon Sep 17 00:00:00 2001 From: Carlo Bramini Date: Thu, 3 Dec 2009 13:03:56 +0100 Subject: Linkage error on minggw+msys when building demux_mpeg: libintl_printf is undefined. --- src/demuxers/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/demuxers/Makefile.am b/src/demuxers/Makefile.am index bcf812e03..027f6750f 100644 --- a/src/demuxers/Makefile.am +++ b/src/demuxers/Makefile.am @@ -62,7 +62,7 @@ xineplug_dmx_mpeg_block_la_SOURCES = demux_mpeg_block.c xineplug_dmx_mpeg_block_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) xineplug_dmx_mpeg_la_SOURCES = demux_mpeg.c -xineplug_dmx_mpeg_la_LIBADD = $(XINE_LIB) +xineplug_dmx_mpeg_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) xineplug_dmx_mpeg_elem_la_SOURCES = demux_elem.c xineplug_dmx_mpeg_elem_la_LIBADD = $(XINE_LIB) -- cgit v1.2.3 From 163c718082fb33be47f75f648203d8f011c8c35f Mon Sep 17 00:00:00 2001 From: Carlo Bramini Date: Thu, 3 Dec 2009 13:03:56 +0100 Subject: Compile error in xine_hdmv_decoder.c on mingw+msys: ERROR is a reserved macro. TRACE and ERROR are now prefixed with XINE_HDMV_. --- src/libspuhdmv/xine_hdmv_decoder.c | 64 +++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/libspuhdmv/xine_hdmv_decoder.c b/src/libspuhdmv/xine_hdmv_decoder.c index ba4487bf6..e3a16439d 100644 --- a/src/libspuhdmv/xine_hdmv_decoder.c +++ b/src/libspuhdmv/xine_hdmv_decoder.c @@ -45,9 +45,9 @@ # include #endif -#define TRACE(x...) printf(x) +#define XINE_HDMV_TRACE(x...) printf(x) /*#define TRACE(x...) */ -#define ERROR(x...) fprintf(stderr, "spuhdmv: " x) +#define XINE_HDMV_ERROR(x...) fprintf(stderr, "spuhdmv: " x) /*#define ERROR(x...) lprintf(x) */ /* @@ -252,7 +252,7 @@ static void segbuf_parse_segment_header(segment_buffer_t *buf) if ( buf->segment_type < 0x14 || ( buf->segment_type > 0x18 && buf->segment_type != 0x80)) { - ERROR("unknown segment type, resetting\n"); + XINE_HDMV_ERROR("unknown segment type, resetting\n"); segbuf_reset(buf); } } else { @@ -291,9 +291,9 @@ static void segbuf_skip_segment(segment_buffer_t *buf) segbuf_parse_segment_header(buf); - TRACE(" skip_segment: %d bytes left\n", (uint)buf->len); + XINE_HDMV_TRACE(" skip_segment: %d bytes left\n", (uint)buf->len); } else { - ERROR(" skip_segment: ERROR - %d bytes queued, %d required\n", + XINE_HDMV_ERROR(" skip_segment: ERROR - %d bytes queued, %d required\n", (uint)buf->len, buf->segment_len); segbuf_reset (buf); } @@ -319,7 +319,7 @@ static uint8_t segbuf_get_u8(segment_buffer_t *buf) { if (!(buf->error = ++buf->segment_data > buf->segment_end)) return buf->segment_data[-1]; - ERROR("segbuf_get_u8: read failed (end of segment reached) !"); + XINE_HDMV_ERROR("segbuf_get_u8: read failed (end of segment reached) !"); return 0; } @@ -341,7 +341,7 @@ static uint8_t *segbuf_get_string(segment_buffer_t *buf, size_t len) if (buf->segment_data <= buf->segment_end) return val; } - ERROR("segbuf_get_string(%d): read failed (end of segment reached) !", (int)len); + XINE_HDMV_ERROR("segbuf_get_string(%d): read failed (end of segment reached) !", (int)len); buf->error = 1; return NULL; } @@ -363,11 +363,11 @@ static subtitle_clut_t *segbuf_decode_palette(segment_buffer_t *buf) return NULL; if (len % 5) { - ERROR(" decode_palette: segment size error (%d ; expected %d for %d entries)\n", + XINE_HDMV_ERROR(" decode_palette: segment size error (%d ; expected %d for %d entries)\n", (uint)len, (uint)(5 * entries), (uint)entries); return NULL; } - TRACE("decode_palette: %d items (id %d, version %d)\n", + XINE_HDMV_TRACE("decode_palette: %d items (id %d, version %d)\n", (uint)entries, palette_id, palette_version_number); /* convert to xine-lib clut */ @@ -457,7 +457,7 @@ static subtitle_object_t *segbuf_decode_object(segment_buffer_t *buf) uint8_t version = segbuf_get_u8 (buf); uint8_t seq_desc = segbuf_get_u8 (buf); - TRACE(" decode_object: object_id %d, version %d, seq 0x%x\n", + XINE_HDMV_TRACE(" decode_object: object_id %d, version %d, seq 0x%x\n", object_id, version, seq_desc); //LIST_FIND(); @@ -470,7 +470,7 @@ static subtitle_object_t *segbuf_decode_object(segment_buffer_t *buf) obj->width = segbuf_get_u16(buf); obj->height = segbuf_get_u16(buf); - TRACE(" object length %d bytes, size %dx%d\n", data_len, obj->width, obj->height); + XINE_HDMV_TRACE(" object length %d bytes, size %dx%d\n", data_len, obj->width, obj->height); segbuf_decode_rle (buf, obj); @@ -480,7 +480,7 @@ static subtitle_object_t *segbuf_decode_object(segment_buffer_t *buf) } } else { - ERROR(" TODO: APPEND RLE, length %d bytes\n", buf->segment_len - 4); + XINE_HDMV_ERROR(" TODO: APPEND RLE, length %d bytes\n", buf->segment_len - 4); /* TODO */ free_subtitle_object(obj); return NULL; @@ -500,7 +500,7 @@ static window_def_t *segbuf_decode_window_definition(segment_buffer_t *buf) wnd->width = segbuf_get_u16 (buf); wnd->height = segbuf_get_u16 (buf); - TRACE(" window: [%02x %d] %d,%d %dx%d\n", a, + XINE_HDMV_TRACE(" window: [%02x %d] %d,%d %dx%d\n", a, wnd->id, wnd->xpos, wnd->ypos, wnd->width, wnd->height); if (buf->error) { @@ -517,7 +517,7 @@ static int segbuf_decode_video_descriptor(segment_buffer_t *buf) uint16_t height = segbuf_get_u16(buf); uint8_t frame_rate = segbuf_get_u8 (buf); - TRACE(" video_descriptor: %dx%d fps %d\n", width, height, frame_rate); + XINE_HDMV_TRACE(" video_descriptor: %dx%d fps %d\n", width, height, frame_rate); return buf->error; } @@ -526,7 +526,7 @@ static int segbuf_decode_composition_descriptor(segment_buffer_t *buf, compositi descr->number = segbuf_get_u16(buf); descr->state = segbuf_get_u8 (buf); - TRACE(" composition_descriptor: number %d, state %d\n", descr->number, descr->state); + XINE_HDMV_TRACE(" composition_descriptor: number %d, state %d\n", descr->number, descr->state); return buf->error; } @@ -555,7 +555,7 @@ static composition_object_t *segbuf_decode_composition_object(segment_buffer_t * return NULL; } - TRACE(" composition_object: id: %d, win: %d, position %d,%d crop %d forced %d\n", + XINE_HDMV_TRACE(" composition_object: id: %d, win: %d, position %d,%d crop %d forced %d\n", cobj->object_id_ref, cobj->window_id_ref, cobj->xpos, cobj->ypos, cobj->cropped_flag, cobj->forced_flag); @@ -574,7 +574,7 @@ static presentation_segment_t *segbuf_decode_presentation_segment(segment_buffer seg->palette_id_ref = segbuf_get_u8 (buf); seg->object_number = segbuf_get_u8 (buf); - TRACE(" presentation_segment: object_number %d, palette %d\n", + XINE_HDMV_TRACE(" presentation_segment: object_number %d, palette %d\n", seg->object_number, seg->palette_id_ref); for (index = 0; index < seg->object_number; index++) { @@ -694,7 +694,7 @@ static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, uin while (clut && clut->id != palette_id_ref) clut = clut->next; if (!clut) { - TRACE(" show_overlay: clut %d not found !\n", palette_id_ref); + XINE_HDMV_TRACE(" show_overlay: clut %d not found !\n", palette_id_ref); return -1; } @@ -703,7 +703,7 @@ static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, uin while (obj && obj->id != cobj->object_id_ref) obj = obj->next; if (!obj) { - TRACE(" show_overlay: object %d not found !\n", cobj->object_id_ref); + XINE_HDMV_TRACE(" show_overlay: object %d not found !\n", cobj->object_id_ref); return -1; } @@ -712,7 +712,7 @@ static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, uin while (wnd && wnd->id != cobj->window_id_ref) wnd = wnd->next; if (!wnd) { - TRACE(" show_overlay: window %d not found !\n", cobj->window_id_ref); + XINE_HDMV_TRACE(" show_overlay: window %d not found !\n", cobj->window_id_ref); return -1; } @@ -745,7 +745,7 @@ static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, uin overlay.hili_left = -1; overlay.hili_right = -1; - TRACE(" -> overlay: %d,%d %dx%d\n", + XINE_HDMV_TRACE(" -> overlay: %d,%d %dx%d\n", overlay.x, overlay.y, overlay.width, overlay.height); @@ -780,7 +780,7 @@ static void hide_overlays(spuhdmv_decoder_t *this, int64_t pts) int i = 0; while (this->overlay_handles[i] >= 0) { - TRACE(" -> HIDE %d\n", i); + XINE_HDMV_TRACE(" -> HIDE %d\n", i); video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager(this->stream->video_out); metronom_t *metronom = this->stream->metronom; @@ -819,7 +819,7 @@ static void update_overlays(spuhdmv_decoder_t *this) for (i = 0; i < pseg->object_number; i++) { if (!cobj) { - ERROR("show_overlays: composition object %d missing !\n", i); + XINE_HDMV_ERROR("show_overlays: composition object %d missing !\n", i); } else { show_overlay(this, cobj, pseg->palette_id_ref, i, pseg->pts, !pseg->shown); cobj = cobj->next; @@ -843,40 +843,40 @@ static void free_objs(spuhdmv_decoder_t *this) static void decode_segment(spuhdmv_decoder_t *this) { - TRACE("*** new segment, pts %010ld: 0x%02x (%8d bytes)", + XINE_HDMV_TRACE("*** new segment, pts %010ld: 0x%02x (%8d bytes)", this->pts, (uint)this->buf->segment_type, (uint)this->buf->segment_len); switch (this->buf->segment_type) { case 0x14: - TRACE(" segment: PALETTE\n"); + XINE_HDMV_TRACE(" segment: PALETTE\n"); decode_palette(this); break; case 0x15: - TRACE(" segment: OBJECT\n"); + XINE_HDMV_TRACE(" segment: OBJECT\n"); decode_object(this); break; case 0x16: - TRACE(" segment: PRESENTATION SEGMENT\n"); + XINE_HDMV_TRACE(" segment: PRESENTATION SEGMENT\n"); decode_presentation_segment(this); break; case 0x17: - TRACE(" segment: WINDOW DEFINITION\n"); + XINE_HDMV_TRACE(" segment: WINDOW DEFINITION\n"); decode_window_definition(this); break; case 0x18: - TRACE(" segment: INTERACTIVE\n"); + XINE_HDMV_TRACE(" segment: INTERACTIVE\n"); break; case 0x80: - TRACE(" segment: END OF DISPLAY\n"); + XINE_HDMV_TRACE(" segment: END OF DISPLAY\n"); /* drop all cached objects */ free_objs(this); break; default: - ERROR(" segment type 0x%x unknown, skipping\n", this->buf->segment_type); + XINE_HDMV_ERROR(" segment type 0x%x unknown, skipping\n", this->buf->segment_type); break; } if (this->buf->error) { - ERROR("*** DECODE ERROR ***\n"); + XINE_HDMV_ERROR("*** DECODE ERROR ***\n"); } update_overlays (this); -- cgit v1.2.3 From a7f2871ace40de278ff6099d5c48e75ca84abf15 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Thu, 3 Dec 2009 15:21:19 +0000 Subject: Use unsigned int, not uint. Fix up format strings where (uint)size_t was used. --- src/libspuhdmv/xine_hdmv_decoder.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/libspuhdmv/xine_hdmv_decoder.c b/src/libspuhdmv/xine_hdmv_decoder.c index e3a16439d..be5e6b638 100644 --- a/src/libspuhdmv/xine_hdmv_decoder.c +++ b/src/libspuhdmv/xine_hdmv_decoder.c @@ -73,7 +73,7 @@ struct subtitle_object_s { uint16_t width, height; rle_elem_t *rle; - uint num_rle; + unsigned int num_rle; size_t data_size; #if 0 @@ -150,7 +150,7 @@ struct presentation_segment_s { #define LIST_REPLACE(list, obj, FREE_FUNC) \ do { \ - uint id = obj->id; \ + unsigned int id = obj->id; \ \ /* insert to list */ \ obj->next = list; \ @@ -291,10 +291,10 @@ static void segbuf_skip_segment(segment_buffer_t *buf) segbuf_parse_segment_header(buf); - XINE_HDMV_TRACE(" skip_segment: %d bytes left\n", (uint)buf->len); + XINE_HDMV_TRACE(" skip_segment: %zd bytes left\n", buf->len); } else { - XINE_HDMV_ERROR(" skip_segment: ERROR - %d bytes queued, %d required\n", - (uint)buf->len, buf->segment_len); + XINE_HDMV_ERROR(" skip_segment: ERROR - %zd bytes queued, %d required\n", + buf->len, buf->segment_len); segbuf_reset (buf); } } @@ -341,7 +341,7 @@ static uint8_t *segbuf_get_string(segment_buffer_t *buf, size_t len) if (buf->segment_data <= buf->segment_end) return val; } - XINE_HDMV_ERROR("segbuf_get_string(%d): read failed (end of segment reached) !", (int)len); + XINE_HDMV_ERROR("segbuf_get_string(%zd): read failed (end of segment reached) !", len); buf->error = 1; return NULL; } @@ -363,12 +363,12 @@ static subtitle_clut_t *segbuf_decode_palette(segment_buffer_t *buf) return NULL; if (len % 5) { - XINE_HDMV_ERROR(" decode_palette: segment size error (%d ; expected %d for %d entries)\n", - (uint)len, (uint)(5 * entries), (uint)entries); + XINE_HDMV_ERROR(" decode_palette: segment size error (%zd ; expected %zd for %zd entries)\n", + len, (5 * entries), entries); return NULL; } - XINE_HDMV_TRACE("decode_palette: %d items (id %d, version %d)\n", - (uint)entries, palette_id, palette_version_number); + XINE_HDMV_TRACE("decode_palette: %zd items (id %d, version %d)\n", + entries, palette_id, palette_version_number); /* convert to xine-lib clut */ subtitle_clut_t *clut = calloc(1, sizeof(subtitle_clut_t)); @@ -681,7 +681,7 @@ static int decode_presentation_segment(spuhdmv_decoder_t *this) return 0; } -static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, uint palette_id_ref, +static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, unsigned int palette_id_ref, int overlay_index, int64_t pts, int force_update) { video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager(this->stream->video_out); @@ -844,7 +844,7 @@ static void free_objs(spuhdmv_decoder_t *this) static void decode_segment(spuhdmv_decoder_t *this) { XINE_HDMV_TRACE("*** new segment, pts %010ld: 0x%02x (%8d bytes)", - this->pts, (uint)this->buf->segment_type, (uint)this->buf->segment_len); + this->pts, this->buf->segment_type, this->buf->segment_len); switch (this->buf->segment_type) { case 0x14: -- cgit v1.2.3 From ec67ad7ba434b00631406a18d77b6c4872a6cd21 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Fri, 4 Dec 2009 17:08:24 +0000 Subject: Changelog header for the next release. --- ChangeLog | 2 ++ debian/changelog | 11 +++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6cca39351..0e6d134dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,5 @@ +xine-lib (1.1.1?) 20??-??-?? + xine-lib (1.1.17) 2009-12-01 * Add support for Matroska SIMPLEBLOCK. * Add support for sndio (OpenBSD sound API). diff --git a/debian/changelog b/debian/changelog index c71e640f1..7dec249a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,13 +1,8 @@ -xine-lib (1.1.17~hg-0) unstable; urgency=low +xine-lib (1.1.18~hg-0) unstable; urgency=low - [ Darren Salt ] - * Hg snapshot. - - [ Reinhard Tartler ] - * remove gs from build-dependencies - * change the maintainer field to xine-devel@lists.sourceforge.net. + * Hg snapshot (dev build). Changelog is irrelevant :-) - -- Darren Salt Mon, 12 Jan 2009 19:36:45 +0000 + -- Darren Salt Fri, 04 Dec 2009 17:15:06 +0000 xine-lib (1.1.5~cvs-0) unstable; urgency=low -- cgit v1.2.3 From 0353446472d7641c79b28c22cb1136ee98235cbb Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Fri, 4 Dec 2009 17:06:04 +0000 Subject: Bump the FLAC decoder's priority above ffmpegaudio, and build it by default. --- ChangeLog | 2 ++ configure.ac | 4 ++-- src/combined/decoder_flac.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0e6d134dc..eee0753b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ xine-lib (1.1.1?) 20??-??-?? + * Bump the FLAC decoder's priority above ffmpegaudio. This should fix + various problems with FLAC playback. xine-lib (1.1.17) 2009-12-01 * Add support for Matroska SIMPLEBLOCK. diff --git a/configure.ac b/configure.ac index df262cc26..5317a4be1 100644 --- a/configure.ac +++ b/configure.ac @@ -1262,10 +1262,10 @@ dnl check for libFLAC dnl --------------------------------------------- AC_ARG_WITH([libflac], - AS_HELP_STRING([--with-libflac], [build libFLAC-based decoder and demuxer])) + AS_HELP_STRING([--without-libflac], [don't build libFLAC-based decoder and demuxer])) have_libflac="no" -if test "x$with_libflac" = "xyes"; then +if test "x$with_libflac" != "xno"; then AM_PATH_LIBFLAC([have_libflac="yes"]) fi diff --git a/src/combined/decoder_flac.c b/src/combined/decoder_flac.c index e9a7fbb25..b774e0b90 100644 --- a/src/combined/decoder_flac.c +++ b/src/combined/decoder_flac.c @@ -426,7 +426,7 @@ static uint32_t audio_types[] = { static const decoder_info_t dec_info_audio = { audio_types, /* supported types */ - 5 /* priority */ + 8 /* priority */ }; const plugin_info_t xine_plugin_info[] EXPORTED = { -- cgit v1.2.3 From 605f33efdd3852f0f09bcaac3e2b25cea6e6c808 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sat, 5 Dec 2009 01:50:52 +0000 Subject: Build fix (undefined symbol) for when using older ffmpeg. --- ChangeLog | 1 + src/combined/ffmpeg/ff_video_decoder.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index eee0753b0..ee81985fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ xine-lib (1.1.1?) 20??-??-?? * Bump the FLAC decoder's priority above ffmpegaudio. This should fix various problems with FLAC playback. + * Build fix (undefined symbol) for when using older ffmpeg. xine-lib (1.1.17) 2009-12-01 * Add support for Matroska SIMPLEBLOCK. diff --git a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c index 093ca4776..727508847 100644 --- a/src/combined/ffmpeg/ff_video_decoder.c +++ b/src/combined/ffmpeg/ff_video_decoder.c @@ -1180,6 +1180,7 @@ static void ff_check_pts_tagging(ff_video_decoder_t *this, uint64_t pts) } } } +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ static int ff_vc1_find_header(ff_video_decoder_t *this, buf_element_t *buf) { @@ -1224,7 +1225,6 @@ static int ff_check_extradata(ff_video_decoder_t *this, unsigned int codec_type, return 1; } -#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { uint8_t *chunk_buf = this->buf; AVRational avr00 = {0, 1}; -- cgit v1.2.3 From f9ea010689310758463cc071e42f743553d17edf Mon Sep 17 00:00:00 2001 From: Kelvie Wong Date: Sat, 5 Dec 2009 19:12:21 +0000 Subject: Add mimetypes for the TTA demuxer I've noticed that a lot of the demuxers don't have mimetypes -- Nokia and KDE's Phonon (when using the Xine backend, and consequently this bothers all Amarok users) depend on the mimetypes to see what types of files it can process. This adds support for the True Audio data type, which scratches my itch; I'm sure there are several other demuxers that need a similar change. --- src/demuxers/demux_tta.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index 9edad08bd..2626ca8e8 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -303,7 +303,8 @@ static const char *get_extensions (demux_class_t *this_gen) { } static const char *get_mimetypes (demux_class_t *this_gen) { - return NULL; + return "audio/x-tta: tta: True Audio;" + "audio/tta: tta: True Audio;"; } static void class_dispose (demux_class_t *this_gen) { -- cgit v1.2.3 From e33024ef319f71aa173eca716bb1ffa6bfb47ea8 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 6 Dec 2009 14:41:26 +0000 Subject: Fix XShm detection in the absence of pkgconfig or x11.pc. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 5317a4be1..c3270fec4 100644 --- a/configure.ac +++ b/configure.ac @@ -538,7 +538,7 @@ if test "x$with_x" != "xno"; then ac_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" AC_CHECK_HEADERS([X11/extensions/XShm.h], [true], - [AC_MSG_ERROR([XShm extension is required])]) + [AC_MSG_ERROR([XShm extension is required])], [[#include ]]) AC_CHECK_LIB([Xext], [main], [true], [AC_MSG_ERROR([libXext is required])], [$X_LIBS]) CPPFLAGS="$ac_save_CPPFLAGS" -- cgit v1.2.3 From d46dc89d77af8947ee6e4e005afbb0b324a9d720 Mon Sep 17 00:00:00 2001 From: Kelvie Wong Date: Sun, 6 Dec 2009 03:12:00 -0800 Subject: Fix a couple of memory leaks. --- src/demuxers/demux_flac.c | 1 + src/demuxers/demux_tta.c | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) --HG-- extra : transplant_source : C%21X%B8%E1p%D2%8E%E0%26%CA%3E%09%8B%09%16%19%C1CQ --- src/demuxers/demux_flac.c | 1 + src/demuxers/demux_tta.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/demuxers/demux_flac.c b/src/demuxers/demux_flac.c index 885e440a1..976656016 100644 --- a/src/demuxers/demux_flac.c +++ b/src/demuxers/demux_flac.c @@ -471,6 +471,7 @@ static void demux_flac_dispose (demux_plugin_t *this_gen) { demux_flac_t *this = (demux_flac_t *) this_gen; free(this->seekpoints); + free(this); } static int demux_flac_get_status (demux_plugin_t *this_gen) { diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index 2626ca8e8..11fcdd387 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -212,6 +212,7 @@ static int demux_tta_seek (demux_plugin_t *this_gen, static void demux_tta_dispose (demux_plugin_t *this_gen) { demux_tta_t *this = (demux_tta_t *) this_gen; + free(this->seektable); free(this); } -- cgit v1.2.3 From 6190e8a7282f7f19816c8b1df742e7fb69b33379 Mon Sep 17 00:00:00 2001 From: Kelvie Wong Date: Sun, 6 Dec 2009 03:12:09 -0800 Subject: Finish implementing the TTA demuxer * Return the correct stream length * Return the current time * Implement seeking --- src/demuxers/demux_tta.c | 47 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 41 insertions(+), 6 deletions(-) --HG-- extra : transplant_source : D%27%B7%5C%C4%95Ra%90E%DD%99IG%CF%5D%21%27zN --- src/demuxers/demux_tta.c | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index 11fcdd387..d5217477d 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -19,6 +19,8 @@ * * True Audio demuxer by Diego Pettenò * Inspired by tta libavformat demuxer by Alex Beregszaszi + * + * Seek + time support added by Kelvie Wong */ #ifdef HAVE_CONFIG_H @@ -28,6 +30,10 @@ #define LOG_MODULE "demux_tta" #define LOG_VERBOSE +// This is from the TTA spec, the length (in seconds) of a frame +// http://www.true-audio.com/TTA_Lossless_Audio_Codec_-_Format_Description +#define FRAME_TIME 1.04489795918367346939 + #include "xine_internal.h" #include "xineutils.h" #include "demux.h" @@ -47,6 +53,8 @@ typedef struct { uint32_t totalframes; uint32_t currentframe; + off_t datastart; + int status; union { @@ -82,7 +90,7 @@ static int open_tta_file(demux_tta_t *this) { if ( this->input->read(this->input, this->header.buffer, sizeof(this->header)) != sizeof(this->header) ) return 0; - framelen = 1.04489795918367346939 * le2me_32(this->header.tta.samplerate); + framelen = (uint32_t)(FRAME_TIME * le2me_32(this->header.tta.samplerate)); this->totalframes = le2me_32(this->header.tta.data_length) / framelen + ((le2me_32(this->header.tta.data_length) % framelen) ? 1 : 0); this->currentframe = 0; @@ -97,6 +105,9 @@ static int open_tta_file(demux_tta_t *this) { /* Skip the CRC32 */ this->input->seek(this->input, 4, SEEK_CUR); + /* Store the offset after the header for seeking */ + this->datastart = this->input->get_current_pos(this->input); + return 1; } @@ -127,7 +138,7 @@ static int demux_tta_send_chunk(demux_plugin_t *this_gen) { (int) ((double) this->currentframe * 65535 / this->totalframes); /* Set time */ - /* buf->extra_info->input_time = this->current_sample / this->samplerate; */ + buf->extra_info->input_time = (int)(FRAME_TIME * this->currentframe)*1000; bytes_read = this->input->read(this->input, buf->content, ( bytes_to_read > buf->max_size ) ? buf->max_size : bytes_to_read); if (bytes_read < 0) { @@ -196,6 +207,9 @@ static void demux_tta_send_headers(demux_plugin_t *this_gen) { static int demux_tta_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing) { demux_tta_t *this = (demux_tta_t *) this_gen; + uint32_t start_frame; + uint32_t frame_index; + off_t start_off = this->datastart; /* if thread is not running, initialize demuxer */ if( !playing ) { @@ -203,6 +217,27 @@ static int demux_tta_seek (demux_plugin_t *this_gen, /* send new pts */ _x_demux_control_newpts(this->stream, 0, 0); + this->status = DEMUX_OK; + + } else { + + /* Get the starting frame */ + if( start_pos ) + start_frame = start_pos * this->totalframes / 65535; + else + start_frame = (uint32_t)((double)start_time/ 1000.0 / FRAME_TIME); + + /* Now we find the offset */ + for( frame_index = 0; frame_index < start_frame; frame_index++ ) + start_off += le2me_32(this->seektable[frame_index]); + + /* Let's seek! We store the current frame internally, so let's update that + * as well */ + _x_demux_flush_engine(this->stream); + this->input->seek(this->input, start_off, SEEK_SET); + this->currentframe = start_frame; + _x_demux_control_newpts(this->stream, (int)(FRAME_TIME * start_frame) * 90000, BUF_FLAG_SEEK); + this->status = DEMUX_OK; } @@ -223,9 +258,8 @@ static int demux_tta_get_status (demux_plugin_t *this_gen) { } static int demux_tta_get_stream_length (demux_plugin_t *this_gen) { -// demux_tta_t *this = (demux_tta_t *) this_gen; - - return 0; + demux_tta_t *this = (demux_tta_t *) this_gen; + return (int)(FRAME_TIME * this->totalframes * 1000); } static uint32_t demux_tta_get_capabilities(demux_plugin_t *this_gen) { -- cgit v1.2.3 From 060cd555436116e5f4f70425d05cbf6421c528f2 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Fri, 11 Dec 2009 19:24:00 +0000 Subject: Changelog entry for the TTA changes. --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index ee81985fa..5f088804f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ xine-lib (1.1.1?) 20??-??-?? * Bump the FLAC decoder's priority above ffmpegaudio. This should fix various problems with FLAC playback. * Build fix (undefined symbol) for when using older ffmpeg. + * TTA demuxer fixes; allow seeking. xine-lib (1.1.17) 2009-12-01 * Add support for Matroska SIMPLEBLOCK. -- cgit v1.2.3 From d6e3f2809541eb3b0753222a582d30bc13c31b55 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Fri, 11 Dec 2009 23:03:42 +0000 Subject: Extra meta-info identifiers. --- ChangeLog | 1 + include/xine.h.in | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5f088804f..d779dfad5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ xine-lib (1.1.1?) 20??-??-?? various problems with FLAC playback. * Build fix (undefined symbol) for when using older ffmpeg. * TTA demuxer fixes; allow seeking. + * More meta-information tags. (Nothing sets these yet, though.) xine-lib (1.1.17) 2009-12-01 * Add support for Matroska SIMPLEBLOCK. diff --git a/include/xine.h.in b/include/xine.h.in index 1b4ddbd64..0a3121bee 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -986,7 +986,7 @@ const char *xine_get_meta_info (xine_stream_t *stream, int info) XINE_PROTECTE #define XINE_META_INFO_ARTIST 2 #define XINE_META_INFO_GENRE 3 #define XINE_META_INFO_ALBUM 4 -#define XINE_META_INFO_YEAR 5 +#define XINE_META_INFO_YEAR 5 /* may be full date */ #define XINE_META_INFO_VIDEOCODEC 6 #define XINE_META_INFO_AUDIOCODEC 7 #define XINE_META_INFO_SYSTEMLAYER 8 @@ -994,6 +994,20 @@ const char *xine_get_meta_info (xine_stream_t *stream, int info) XINE_PROTECTE #define XINE_META_INFO_CDINDEX_DISCID 10 #define XINE_META_INFO_TRACK_NUMBER 11 #define XINE_META_INFO_COMPOSER 12 +/* post-1.1.17; taken from the list at http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html on 2009-12-11 */ +#define XINE_META_INFO_PUBLISHER 13 +#define XINE_META_INFO_COPYRIGHT 14 +#define XINE_META_INFO_LICENSE 15 +#define XINE_META_INFO_ARRANGER 16 +#define XINE_META_INFO_LYRICIST 17 +#define XINE_META_INFO_AUTHOR 18 +#define XINE_META_INFO_CONDUCTOR 19 +#define XINE_META_INFO_PERFORMER 20 +#define XINE_META_INFO_ENSEMBLE 21 +#define XINE_META_INFO_OPUS 22 +#define XINE_META_INFO_PART 23 +#define XINE_META_INFO_PARTNUMBER 24 +#define XINE_META_INFO_LOCATION 25 /********************************************************************* -- cgit v1.2.3