Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
Similar to the fix in cset 86b9162cfcfe.
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VDR 1.7.5 requires that STC should be near to a previously transmitted PTS
value. We cannot hold this requirement immediately after a discontinuity
as the currently displayed image's vpts time (which originated before the
discontinuity) will be transformed to STC by applying the new vpts offset
established at discontinuity.
Therefore, a queue of vpts offset pairs is created and at discontinuity
the current offset is stored there in combination with the vpts value
up to which it has to be used. When retrieving a STC value, we lookup
the offset to use from current vpts and therefore get a STC near to an
originating PTS value.
As VDR requires this quality of STC values also for its trickspeed modes,
it is nolonger possible to simply set PTS of incoming frames to 0 to
schedule them just after the previous frame. Therefore a discontinuity is
generated for each frame in trickspeed mode, which allows us to schedule
each frame immediately after the previous one while there may be gaps in
PTS values. As a result the above mentioned code will take care to provide
proper STC values even in VDR's trickspeed modes.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--HG--
extra : transplant_source : %AE%D3%DCw%0F%073h%5D%C0%B5%A7%BA%2B%95%81%95bT%D6
|
|
|
|
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.
|
|
|
|
|
|
broken streams (missing or doubled images in dpb).
|
|
|
|
|
|
--HG--
rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am
rename : src/libmpeg2new/libmpeg2/Makefile.am => src/video_dec/libmpeg2new/libmpeg2/Makefile.am
|
|
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.
|
|
--HG--
extra : transplant_source : U%AF%FD%B5%60%27Y%7F%B5Q%F796%F7a%98%F0k%B8%EF
|
|
|
|
|
|
|