xine-lib Log

Commit Date  
[6be52b] by Darren Salt Darren Salt

Update TODO.

2007-08-14 16:04:11 Tree
[d7c238] by Darren Salt Darren Salt

Bump package version no.

2007-08-14 14:04:17 Tree
[fbf567] by Darren Salt Darren Salt

Add an alternative build-dep on libjack-dev.

2007-06-10 02:45:27 Tree
[196221] by Darren Salt Darren Salt

Changelog updates.

2007-08-12 20:41:51 Tree
[4469c5] by Maxim Levitsky Maxim Levitsky

Fix goom visualization plug-in
I noticed that goom visualization plug-in doesn't work / freezes at some
combination of bit rates and its FPS.

Digging through it I found that algorithm that dispatches sound data to goom
is buggy, and so I have rewrote/cleaned it a lot.

Let me explain what is wrong:

I am talking about goom_port_put_buffer
in /xine-lib-1.1.7/src/post/goom/xine_goom.c

The counter this->skip_frame is supposed to hold count of frames that goom
should skip because of _video render unable to render video_.
But that algorithm also skips frames on its own, and still decrements that

So it goes negative, and no frames are displayed.

Basically to fix that you need to add
if (this->skip_frame > 0)
before this->skip_frame--;

But since I want to fix that properly I decided to learn why goom skips frames
on its own, and I now understand that whole algorithm is buggy.

Thus I reimplemented it properly.
I tested it , and it works with all my sound files, also I added lot of debug
printfs to test whenever it works as expected, and it does.

2007-08-12 17:31:37 Tree
[e0a94d] by Darren Salt Darren Salt

Add a few missing "\n"s.

2007-08-12 19:54:53 Tree
[290f0d] by Darren Salt Darren Salt

Extend config key translation to allow front ends to provide an additional list.
Intent is to allow front ends to rename their old, badly-named, config items.

2007-08-12 19:54:03 Tree
[03a3eb] by Darren Salt Darren Salt

Build .debs with freetype support.

2007-08-12 17:23:03 Tree
[09e652] by Darren Salt Darren Salt

Fix an attempted free of static data, e.g. when using "dvd:/" (not "dvd://").

2007-08-08 21:44:03 Tree
[f71705] by Kirill Belokurov Kirill Belokurov

Fixed race, reordered broadcaster shutdown sequence to avoid multiple access to connections list

2007-07-27 19:24:01 Tree
[1abd3f] by Reinhard Ni?l Reinhard Ni?l

copy stream in _x_post_frame_copy_up() and add refcounting
Without copying stream up, _x_post_restore_video_frame() will reset the
native frame's stream to the value at _x_post_intercept_video_frame(),
which is typically NULL. This behaviour differs from normal frame
processing, i. e. without postprocessing.
Copying the stream up reveals that stream refcounting was missing
in several postprocessing functions, which is hereby added.

2007-07-26 21:54:24 Tree
[841394] by Reinhard Ni?l Reinhard Ni?l

clip overlay against sub image when calling XvMCCompositeSubpicture()
Blending functions like _x_blend_xx44() take care to clip the overlay
against the destination bitmap. The same clipping must be applied to
determine the relevant area in the destination bitmap for the call to

2007-07-26 19:39:14 Tree
[39cc49] by Diego 'Flameeyes' Petten? Diego 'Flameeyes' Petten?

Handle transparently redirect done through m3u playlists.
Thanks to Harald Sitter from Amarok team for reporting a testcase.

2007-07-14 12:50:02 Tree
[6ea167] by Darren Salt Darren Salt

"debuild clean" should be removing include/, not

2007-07-13 20:19:37 Tree
[4855a1] by Darren Salt Darren Salt

Fix a spelling error in the media.dvb.tuning_timeout description.

2007-07-13 19:32:38 Tree
[d1e48f] by Simon Farnsworth Simon Farnsworth

Allow input_dvb to timeout on no signal

If there's no signal, the tuner never goes to FE_TIMEDOUT. Add a separate
timeout, to prevent xine waiting forever in these situations.

2007-07-12 10:18:15 Tree
[071ad7] by Simon Farnsworth Simon Farnsworth

Simplify input_rtp locking

We have seen input_rtp lock up in use, and traced the problem to the separate
tail/head locks on the input buffer. Reduce to a single lock, increasing lock
contention between the reader and the writer, but removing the previous
deadlock risk.

Also use select() before recv(), to ensure that we never wait forever for
packets (e.g. if we're trying to receive a multicast stream, but an
administrator has blocked all multicast packets to the device - iptables -A
INPUT --dst -j DROP induces this failure for testing).

2007-07-12 10:24:27 Tree
[583c95] by Simon Farnsworth Simon Farnsworth

Remove realloc from osd.c to prevent memory leak due to fragmentation

show() in osd.c uses realloc in an effort to minimise the amount of
memory actually used for rle objects. In practice, this caused xine to
fragment memory, and gradually use more and more RAM (measured over a
period of 24 to 72 hours).

Change osd.c to allocate the maximum amount of memory it could need;
because it touches this memory in a linear fashion, lazy page allocation
will ensure that most of the memory used is needed. Further, because
this makes the per-drawing allocations the same size, it avoids virtual
address space fragmentation.

2007-07-12 10:28:43 Tree
[1dcc76] by Simon Farnsworth Simon Farnsworth

Fix thread leak in DVB subtitles, and enhance spec compliance

When leaving xine playing DVB with subtitles for a long period of time,
I noticed a gradual increase in memory use, caused by it creating more
and more timeout threads. In addition, the existing thread was not safe
w.r.t destruction of the decoder, and would occasionally segfault xine.

Further, EN 300 743 states that the timeout should be sent by the
broadcaster; the existing thread had a constant 6 second timeout,
whereas (e.g.) BBC NEWS 24 subtitles are broadcast with a 15 second
timeout. In theory, this could result in subtitles being hidden in error.

This rework changes the thread to pick up a timeout set by
draw_subtitles; in addition, it uses pthread condition variables to
avoid any need to kill and recreate the thread.

2007-07-12 10:29:42 Tree
[bb73e4] by Simon Farnsworth Simon Farnsworth

Fix memory leak in video_overlay.c

When running DVB subtitles for a long period of time (over 24 hours), we
noticed a slow leak of memory. This patch removes one cause of leakage
for us.

2007-07-12 10:30:14 Tree
[dcfb33] by Simon Farnsworth Simon Farnsworth

Prevent ticket system deadlock when using DVB subtitles

When using DVB subtitles on an SMP machine, we see occasional lockups, which
appear to be caused by one thread acquiring the same ticket twice. Fix this,
by preventing acquire() and release() from blocking if the current thread has
already acquired the ticket.

Code sequences like the following can still block in all acquires and

/* Do something */

However, code sequences like the following, which used to deadlock if ticket
was revoked at just the wrong moment, now succeed:

/* Do something */
ticket->acquire(...) /* This acquire cannot block */
/* Do something */
ticket->release(...) /* This release cannot block */
/* Do something */

Without this patch, the inner acquire() and release() calls could block if
ticket was revoked at the wrong time. revoke() would not unblock the blocking
acquire until there have been as many release()s as acquire()s, which cannot

2007-07-13 14:41:12 Tree
[bef47e] by Darren Salt Darren Salt

Add XCB build-deps with fallbacks for building on etch.

2007-07-13 17:09:10 Tree
[5d00f6] by Darren Salt Darren Salt

Update libxine1.pot.

2007-07-11 14:58:11 Tree
[acc719] by Christophe Thommeret Christophe Thommeret

Patch: mpeg_ts + ffmpeg
Attached is a little patch that allows using ffmpegvideo w/o direct rendering
to play mpeg2 ts.
It works for both mpeg2 and h264.

2007-07-08 14:25:07 Tree
[2e301b] by Darren Salt Darren Salt

Handle escaped characters in DVD MRLs.

2007-07-08 14:20:02 Tree
Older >