Age | Commit message (Collapse) | Author |
|
|
|
This fixes the reading of CDDB information by not setting INPUT_CAP_BLOCK
for the CDDA plugin (and therefore also setting CD_RAW_FRAME_SIZE to 0), and
allow reading in non-block sized chunks as per
http://hg.debian.org/hg/xine-lib/xine-lib?cmd=changeset;node=a470c338149c;style=gitweb
Explanation: At some point a number of releases ago, a codepath in Xine
related to the reading of block devices which had been bypassed was fixed,
which meant that when certain frontends asked Xine to provide CDDB
information for a disc, querying the name, length, etc. of each track, Xine
would actually cause a seek to the starting block of each track, which meant
that before starting to play, the player would pause for 5-10 seconds,
seeking through each track. This is unnecessary, since Xine should have
simply used the CD TOC information from the CD audio header at the start of
the disc. Other frontends handle CDDB differently and don't query Xine for
information track by track, and so never triggered this problem. But for
those with the problem, it made loading a disc rather slow.
It turns out that the root of the problem is that the CDDA plugin shouldn't
be setting INPUT_CAP_BLOCK, since Audio CDs are not block devices _in the
sense that Xine intends_. Simply turning this off fixes the problem, with
no other side effects (tested locally, for some time now, on xine-ui, kscd,
kaffeine, amarok, etc.).
This change pairs nicely with a patch originally committed years ago (cset
a470c338149c) but which was reverted as it inadvertently triggered the same
problem as is now (properly) fixed by the simple above-mentioned change.
Now that a better fix is in, it can be re-committed.
|
|
This code is returned when there is more than one CDDB entry for the disc in
question. Before, when receiving a 211 response from a CDDB server, Xine
would simply not display any CDDB information. Now one of the responses is
displayed, on the theory that something is better than nothing.
|
|
|
|
This is an incomplete patch porting xine-lib to the new libmpcdec API.
Incomplete, because 1) no SV8 support and 2) still no seeking.
|
|
|
|
--HG--
extra : transplant_source : %F5K%AE%D3f%EFQ%F5U%E5%FE%BB%1E.%2Beh%C5%20%7F
|
|
The new _x_compute_interval functions uses clock_gettime() which is
not provided on OS X. If _POSIX_TIMERS is not defined, use the older
gettimeofday().
|
|
start_pos is of type off_t, and since we compile with D_FILE_OFFSET_BITS=64,
-off_t is a 64-bit long long int, so you'd think we'd be fine here -- but we
aren't, because start_time, this->duration and this->frame_size are all
32-bit ints, which means that the computed seek position gets truncated to
32 bits before it's assigned to start_pos. The simple solution is to cast
start_time to off_t, expanding the computation to 64 bits in time to avoid
truncation.
|
|
|
|
|
|
m4/pthreads.m4
* Mingw GCC says that '-pthread' option is unknown.
* Correct library name under Mingw is -lpthreadGC2.
src/xine-engine/demux.c
* function _x_compute_interval cannot be compiled
|
|
Use strchr instead of strrchr to allow text to contain "=".
--HG--
extra : transplant_source : l%29%15%0F%DFVV%08%B7%CF%FEb%E0v%22%18%FA%9Ap%8B
|
|
(Tweaked to fit current hg and to fix a bug.)
--HG--
extra : transplant_source : %FC%0C%D1n%D1%26%90%88%E0%EC%7D/%27%A1i%00%B0m%E5%AF
|
|
--HG--
extra : transplant_source : w%85%203%2C%D1%04%CCgoRexh%03%88%9E%86Z%5B
|
|
|
|
Similar to the fix in cset 86b9162cfcfe.
|
|
|
|
|
|
|
|
|
|
This avoids use of strlen(), which doesn't cope well with UTF-16, and
also has the ID3 parser double-NUL-terminate the buffered string.
|
|
|
|
|
|
|
|
|
|
Date: Tue, 17 Feb 2009 15:31:44 +0000
|
|
--HG--
extra : transplant_source : %AE%D3%DCw%0F%073h%5D%C0%B5%A7%BA%2B%95%81%95bT%D6
|
|
--HG--
extra : transplant_source : U%AF%FD%B5%60%27Y%7F%B5Q%F796%F7a%98%F0k%B8%EF
|
|
|
|
|
|
|
|
|
|
After adding support for PTS reordering some time ago, any codecs using direct
rendering did no longer pass PTS values to the images due to missing support
for reordered_opaque in xine-lib's custom get_buffer() function.
With this fix, A/V sync should now be as before or even better, due to PTS
reordering (the intent of the earlier changesets).
|
|
|
|
|
|
This patch adds mimetypes to src/demuxers/demux_mod.c for the file types it
can handle. After this patch is applied, then xine_get_mime_types() reports
them correctly, which allows Amarok 2.x to play them and probably prevents
other interoperability problems.
Previously Amarok 2.x rejected MOD/S3M/IT/XM/etc. files that were enqueued
there when using the xine phonon backend because their mime types were not
included in those announced by xine-lib.
|
|
|
|
ao_loop() called sched_yield() to give other threads a chance to acquire
driver->lock. But on multi-core systems, it takes too long to wake up the
acquiring thread so that ao_loop() takes driver->lock again before the
other threads had a chance to acquire it.
Therefore a cond var is introduced which ao_loop() can wait for. The
cond var will be signalled when one of the other threads has acquired
driver->lock. This prevents starvation.
|
|
|
|
PIX_FMT_RGBA32 was #defined to PIX_FMT_RGB32 since 2006.
|
|
|
|
|
|
|
|
Untested.
|
|
|
|
|
|
|
|
|
|
|