summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgtags75
-rw-r--r--AUTHORS21
-rw-r--r--ChangeLog9
-rw-r--r--debian/changelog11
-rw-r--r--include/xine.h16
-rw-r--r--misc/xine_logo.pngbin46649 -> 44337 bytes
-rw-r--r--src/combined/flac_decoder.c2
-rw-r--r--src/demuxers/Makefile.am2
-rw-r--r--src/demuxers/demux_flac.c9
-rw-r--r--src/demuxers/demux_tta.c53
-rw-r--r--src/input/input_pvr.c2
-rw-r--r--src/spu_dec/spuhdmv_decoder.c78
-rw-r--r--src/xine-engine/audio_out.c2
-rw-r--r--src/xine-engine/broadcaster.c2
-rw-r--r--src/xine-engine/events.c2
-rw-r--r--src/xine-engine/video_out.c2
16 files changed, 216 insertions, 70 deletions
diff --git a/.hgtags b/.hgtags
index c631f75e4..8b79c5a23 100644
--- a/.hgtags
+++ b/.hgtags
@@ -81,3 +81,78 @@ 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
+ff764395a361257b11d73583a0e0851e0f5f2ee5 1.1.17
diff --git a/AUTHORS b/AUTHORS
index 52758d0cf..d4c757f3e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -17,13 +17,23 @@ Thibaut Mattern <tmattern@noos.fr>
demuxer cleanups and fixes, mms input plugin fixes, xml parser,
mmsh protocol support
-project administrator / release manager
-=======================================
+project administrator
+=====================
Siegfried Langauf <siggi@users.sourceforge.net>
Debian package, user support, project administration,
plugin loader
+Diego 'Flameeyes' Pettenò <flameeyes@gentoo.org>
+ build system improvements, LE_64/BE_64 macro fixes, lots of clean-up
+
+project admin / release manager
+===============================
+
+Darren Salt <linux@youmustbejoking.demon.co.uk>
+ Debian packaging, bug fixes, some clean-up, various minor features,
+ patch handler
+
developers
==========
@@ -80,8 +90,8 @@ František Dvořák <valtri@atlas.cz>
czech translations and multilanguage support (xine lib/ui),
RIP Input Plugin, WIN32 porting, lots of other improvements and bugfixes
-Darren Salt <dsalt@users.sourceforge.net>
- occasional misc bug fixes
+Reinhard Tartler <siretart@tauware.de>
+ Debian packaging, bug fixes
xine is using
=============
@@ -550,9 +560,6 @@ Keenan Pepper <keenanpepper@gmail.com>
Dams Nadé <anvil@livna.org>
gcc4 patches
-Diego 'Flameeyes' Pettenò <flameeyes@gentoo.org>
- build system improvements, LE_64/BE_64 macro fixes
-
Jason Tackaberry <tack@sault.org>
plugin loader fixes, expand plugin fixes and non-4/3 display support
diff --git a/ChangeLog b/ChangeLog
index 18aea9fda..2ac66a72c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -68,7 +68,14 @@ xine-lib (1.1.90) (Unreleased)
* Report more video output capabilities via (port)->get_capabilities():
colour controls, zooming, colour keying.
-xine-lib (1.1.17) 2009-??-??
+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.
+ * More meta-information tags. (Nothing sets these yet, though.)
+
+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.
diff --git a/debian/changelog b/debian/changelog
index 06afa2a1f..3a9d8a453 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,16 +5,11 @@ xine-lib-1.2 (1.2.0~hg-0) experimental; urgency=low
-- Darren Salt <linux@youmustbejoking.demon.co.uk> Tue, 17 Apr 2007 16:50:37 +0100
-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 <linux@youmustbejoking.demon.co.uk> Mon, 12 Jan 2009 19:36:45 +0000
+ -- Darren Salt <linux@youmustbejoking.demon.co.uk> Fri, 04 Dec 2009 17:15:06 +0000
xine-lib (1.1.5~cvs-0) unstable; urgency=low
diff --git a/include/xine.h b/include/xine.h
index c82b9a4fd..b57a6d8e5 100644
--- a/include/xine.h
+++ b/include/xine.h
@@ -939,7 +939,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
@@ -947,6 +947,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
/*********************************************************************
diff --git a/misc/xine_logo.png b/misc/xine_logo.png
index dbdd49800..7e555ae3d 100644
--- a/misc/xine_logo.png
+++ b/misc/xine_logo.png
Binary files differ
diff --git a/src/combined/flac_decoder.c b/src/combined/flac_decoder.c
index 94c0d30f2..312749c7b 100644
--- a/src/combined/flac_decoder.c
+++ b/src/combined/flac_decoder.c
@@ -404,7 +404,7 @@ static const 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 = {
diff --git a/src/demuxers/Makefile.am b/src/demuxers/Makefile.am
index 95d143095..39ce2ebb3 100644
--- a/src/demuxers/Makefile.am
+++ b/src/demuxers/Makefile.am
@@ -62,7 +62,7 @@ xineplug_dmx_mpeg_block_la_CFLAGS = $(AM_CFLAGS) $(AVUTIL_CFLAGS)
xineplug_dmx_mpeg_block_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(AVUTIL_LIBS)
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)
diff --git a/src/demuxers/demux_flac.c b/src/demuxers/demux_flac.c
index 508a8264b..0c2545441 100644
--- a/src/demuxers/demux_flac.c
+++ b/src/demuxers/demux_flac.c
@@ -466,6 +466,13 @@ static int demux_flac_seek (demux_plugin_t *this_gen,
return this->status;
}
+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) {
demux_flac_t *this = (demux_flac_t *) this_gen;
@@ -509,7 +516,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str
this->demux_plugin.send_headers = demux_flac_send_headers;
this->demux_plugin.send_chunk = demux_flac_send_chunk;
this->demux_plugin.seek = demux_flac_seek;
- this->demux_plugin.dispose = default_demux_plugin_dispose;
+ this->demux_plugin.dispose = demux_flac_dispose;
this->demux_plugin.get_status = demux_flac_get_status;
this->demux_plugin.get_stream_length = demux_flac_get_stream_length;
this->demux_plugin.get_capabilities = demux_flac_get_capabilities;
diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c
index 8e7462d66..8f8f954d5 100644
--- a/src/demuxers/demux_tta.c
+++ b/src/demuxers/demux_tta.c
@@ -19,6 +19,8 @@
*
* True Audio demuxer by Diego Pettenò <flameeyes@gentoo.org>
* Inspired by tta libavformat demuxer by Alex Beregszaszi
+ *
+ * Seek + time support added by Kelvie Wong <kelvie@ieee.org>
*/
#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/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/demux.h>
@@ -48,6 +54,8 @@ typedef struct {
uint32_t totalframes;
uint32_t currentframe;
+ off_t datastart;
+
int status;
union {
@@ -81,7 +89,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;
@@ -96,6 +104,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;
}
@@ -126,7 +137,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) {
@@ -195,6 +206,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,11 +217,39 @@ static int demux_tta_seek (demux_plugin_t *this_gen,
_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;
}
return this->status;
}
+static void demux_tta_dispose (demux_plugin_t *this_gen) {
+ demux_tta_t *this = (demux_tta_t *) this_gen;
+
+ free(this->seektable);
+ free(this);
+}
+
static int demux_tta_get_status (demux_plugin_t *this_gen) {
demux_tta_t *this = (demux_tta_t *) this_gen;
@@ -215,9 +257,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) {
@@ -241,7 +282,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str
this->demux_plugin.send_headers = demux_tta_send_headers;
this->demux_plugin.send_chunk = demux_tta_send_chunk;
this->demux_plugin.seek = demux_tta_seek;
- this->demux_plugin.dispose = default_demux_plugin_dispose;
+ this->demux_plugin.dispose = demux_tta_dispose;
this->demux_plugin.get_status = demux_tta_get_status;
this->demux_plugin.get_stream_length = demux_tta_get_stream_length;
this->demux_plugin.get_capabilities = demux_tta_get_capabilities;
diff --git a/src/input/input_pvr.c b/src/input/input_pvr.c
index 813ec4c1e..288434c47 100644
--- a/src/input/input_pvr.c
+++ b/src/input/input_pvr.c
@@ -1454,7 +1454,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/spu_dec/spuhdmv_decoder.c b/src/spu_dec/spuhdmv_decoder.c
index bcd52ee3f..93e232678 100644
--- a/src/spu_dec/spuhdmv_decoder.c
+++ b/src/spu_dec/spuhdmv_decoder.c
@@ -37,9 +37,9 @@
#include <xine/video_out.h>
#include <xine/video_overlay.h>
-#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) */
/*
@@ -65,7 +65,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
@@ -142,7 +142,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; \
@@ -244,7 +244,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 {
@@ -283,10 +283,10 @@ 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: %zd bytes left\n", buf->len);
} else {
- 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);
}
}
@@ -311,7 +311,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;
}
@@ -333,7 +333,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(%zd): read failed (end of segment reached) !", len);
buf->error = 1;
return NULL;
}
@@ -355,12 +355,12 @@ 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",
- (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;
}
- 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));
@@ -449,7 +449,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();
@@ -462,7 +462,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);
@@ -472,7 +472,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;
@@ -492,7 +492,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) {
@@ -509,7 +509,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;
}
@@ -518,7 +518,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;
}
@@ -547,7 +547,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);
@@ -566,7 +566,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++) {
@@ -673,7 +673,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);
@@ -686,7 +686,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;
}
@@ -695,7 +695,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;
}
@@ -704,7 +704,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;
}
@@ -737,7 +737,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);
@@ -772,7 +772,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;
@@ -811,7 +811,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;
@@ -835,40 +835,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)",
- this->pts, (uint)this->buf->segment_type, (uint)this->buf->segment_len);
+ XINE_HDMV_TRACE("*** new segment, pts %010ld: 0x%02x (%8d bytes)",
+ this->pts, this->buf->segment_type, 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);
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c
index c9daa4e4e..3a11aa238 100644
--- a/src/xine-engine/audio_out.c
+++ b/src/xine-engine/audio_out.c
@@ -2287,7 +2287,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 24f2ef636..f5ac0156f 100644
--- a/src/xine-engine/broadcaster.c
+++ b/src/xine-engine/broadcaster.c
@@ -344,7 +344,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 3c2c28f6d..33d9988be 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 59975bab0..0c593b9d9 100644
--- a/src/xine-engine/video_out.c
+++ b/src/xine-engine/video_out.c
@@ -1958,7 +1958,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"));