Age | Commit message (Collapse) | Author |
|
--HG--
rename : src/xine-engine/alphablend.h => include/xine/alphablend.h
rename : src/xine-utils/array.h => include/xine/array.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-engine/audio_decoder.h => include/xine/audio_decoder.h
rename : src/xine-engine/audio_out.h => include/xine/audio_out.h
rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/xine-utils/compat.h => include/xine/compat.h
rename : src/xine-engine/configfile.h => include/xine/configfile.h
rename : src/demuxers/demux.h => include/xine/demux.h
rename : src/xine-engine/info_helper.h => include/xine/info_helper.h
rename : src/input/input_plugin.h => include/xine/input_plugin.h
rename : src/xine-engine/io_helper.h => include/xine/io_helper.h
rename : src/xine-utils/list.h => include/xine/list.h
rename : src/xine-engine/metronom.h => include/xine/metronom.h
rename : src/xine-engine/osd.h => include/xine/osd.h
rename : src/xine-engine/plugin_catalog.h => include/xine/plugin_catalog.h
rename : src/xine-utils/pool.h => include/xine/pool.h
rename : src/xine-engine/post.h => include/xine/post.h
rename : src/xine-engine/refcounter.h => include/xine/refcounter.h
rename : src/xine-engine/resample.h => include/xine/resample.h
rename : src/xine-utils/ring_buffer.h => include/xine/ring_buffer.h
rename : src/xine-engine/scratch.h => include/xine/scratch.h
rename : src/xine-utils/sorted_array.h => include/xine/sorted_array.h
rename : src/xine-engine/spu.h => include/xine/spu.h
rename : src/xine-engine/spu_decoder.h => include/xine/spu_decoder.h
rename : src/xine-engine/video_decoder.h => include/xine/video_decoder.h
rename : src/xine-engine/video_out.h => include/xine/video_out.h
rename : src/xine-engine/video_overlay.h => include/xine/video_overlay.h
rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h
rename : src/xine-utils/xine_buffer.h => include/xine/xine_buffer.h
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
rename : src/xine-engine/xine_plugin.h => include/xine/xine_plugin.h
rename : src/xine-engine/xineintl.h => include/xine/xineintl.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h
rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h
|
|
Removes some warnings in demuxers.
|
|
|
|
--HG--
rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c
rename : src/libmad/xine_mad_decoder.c => src/libxineadec/xine_mad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
|
|
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
|
|
--HG--
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c
rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
|
|
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
|
|
|
|
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
releases:
ticket->acquire(...)
/* Do something */
ticket->release(...)
However, code sequences like the following, which used to deadlock if ticket
was revoked at just the wrong moment, now succeed:
ticket->acquire(...)
/* Do something */
ticket->acquire(...) /* This acquire cannot block */
/* Do something */
ticket->release(...) /* This release cannot block */
/* Do something */
ticket->release(...)
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
happen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These functions are likely to be removed later when more correct
solutions have been found.
|
|
This function shall be used to poll the number of outstanding OSD
events from a certain point in time on until the reported number
is 0. At that point in time, the content on screen is identical to
a certain state of the stream, at which for example, a hardcopy may
be taken.
|
|
This handle can then be used by all plugins and other parts of the
xine engine without having to duplicate it.
|
|
The introduced functions give "frontend like" plugins a chance to
lock and unlock frontend_lock. This protects such threads for
example from beeing blocked when changing the streams speed.
|
|
The introduced function give "frontend like" plugins a chance to
lock and unlock port rewiring. This protects such threads (when
combined with holding the frontend lock) from beeing blocked when
calling functions like xine_get_current_frame().
|
|
|
|
The idea is to allow only a "single" frontend to rewire ports at
a certain point in time. Regarding a stream, frontend_lock is used
for example to allow only a single frontend to change the speed.
Unfortunately, frontend_lock cannot be used as the rewire functions
are not stream related.
Therefore a new port_rewiring_lock was introduced and used at
appropriate locations. When an arbitrary thread now holds the
frontend_lock and the port_rewiring_lock, it is safe that acquiring
a port ticket in functions like xine_get_current_frame() will
never block the thread.
|
|
This function shall be used to poll the number of remaining frames
from a certain point in time on until the reported numbers are all
0. At that point in time, the content on screen is identical to a
certain state of the stream, at which for example, a hardcopy may
be taken.
|
|
The current code has a race condition which can block arbitrary
threads that call for example xine_get_current_frame() until the
stream gets unpaused again. This can happen when the internal
ticket acquiration collides with a ticket revokation for example
when another thread is going to pause the stream.
There are a few situations where a port ticket needs to be
acquired for calling a port function but where it is absolutely
undesireable to get blocked for an undetermined period of time.
Therefore the ticket system should be extended by nonblocking
functions which allow ticket acquiration even when a ticket
revokation is in progress. And in the case where blocking is
not avoidable, it should simply be indicated that no ticket was
acquired. The caller can then choose to repeat the call at a
later point in time.
|
|
|
|
With this changes, almost all the structures are now consolidated without
holes.
For xine_stream_s, transform a set of (internal) integers used as booleans
into a bitmask, this reduces the size of the structure by about 36 bytes.
|
|
CVS patchset: 8520
CVS date: 2007/01/18 23:28:46
|
|
CVS patchset: 8411
CVS date: 2006/12/13 18:30:30
|
|
update for attic platforms (mainly older MinGW)
unsupported attributes not used (fixes warnings)
added check for sentinel attribute
enabled TrueSpeech codec
CVS patchset: 8327
CVS date: 2006/10/02 15:56:03
|
|
CVS patchset: 8290
CVS date: 2006/09/26 05:48:16
|
|
that their binding is local to the library (has a similar effect to -Bsymbolic, but will work better with hidden visibility enabled, that is step two).
CVS patchset: 8289
CVS date: 2006/09/26 05:19:47
|
|
thanks Daniel Derrett for the patch
CVS patchset: 8209
CVS date: 2006/09/08 21:11:29
|
|
CVS patchset: 8180
CVS date: 2006/08/13 23:51:33
|
|
(implemented for mp3 demuxer only)
CVS patchset: 8177
CVS date: 2006/08/12 01:43:26
|
|
by Reinhard Nissl
CVS patchset: 8167
CVS date: 2006/08/08 03:25:03
|
|
CVS patchset: 7975
CVS date: 2006/04/21 22:46:33
|
|
CVS patchset: 7848
CVS date: 2006/01/27 07:46:09
|
|
(it was supposed to be part of 1.1.1)
CVS patchset: 7845
CVS date: 2006/01/26 12:13:23
|
|
CVS patchset: 7784
CVS date: 2005/10/30 02:18:35
|
|
CVS patchset: 7745
CVS date: 2005/09/25 00:44:04
|
|
Windows ports fixes and improvements due to my current work on toxine:
- first experiments with external win32 pthreads,
more portable code (pthread_t may be a struct)
- headers refactored
- moved dirent win32 replacement to lib/, hide it for frontends,
used system version, if found, not used non-POSIX dirent->d_reclen
(this item doesn't work in MinGW), fix memleak in dvb
- separated settings for postproc and avcodec when using external ffmpeg
- check for malloc.h in public xine.m4, used it conditionally in xine headers
- replaced random() by POSIX more common rand()
- prevent one segfault in directx vo plugin, if fails
- M$VC port update
CVS patchset: 7709
CVS date: 2005/08/25 15:36:29
|
|
Add an extended MRL reference event which includes the item title, start
time and duration.
(Both events are sent; front ends should only listen for one of them.)
CVS patchset: 7656
CVS date: 2005/07/17 23:11:33
|
|
fix deadlock with _x_flush_events_queues
CVS patchset: 7621
CVS date: 2005/06/13 00:32:11
|
|
see my last mail about this stuff:
http://thread.gmane.org/gmane.comp.video.xine.devel/12547
and this thread:
http://thread.gmane.org/gmane.comp.video.xine.devel/11213
CVS patchset: 7395
CVS date: 2005/02/09 20:03:18
|
|
and should check if any other application is using the device.
CVS patchset: 7282
CVS date: 2004/12/19 20:24:30
|
|
CVS patchset: 7086
CVS date: 2004/10/29 13:11:47
|
|
See these two threads:
http://thread.gmane.org/gmane.comp.video.xine.devel/10819
http://thread.gmane.org/gmane.comp.video.xine.devel/10424
Fixed _x_handle_stream_end __stop_internal race.
See this thread:
http://thread.gmane.org/gmane.comp.video.xine.devel/10818
If the lib is broken after this patch, you know who to blame ;-)
CVS patchset: 7036
CVS date: 2004/10/14 23:25:24
|
|
poor platforms, of course)
- fix a bug in generated xine-config for WIN32 and make it relocateable
under Windows
- MSVC port: update, fix some warnings, remove old unneeded files
- improve function for getting runtime directory, it will need next fix
yet (bug probably due to active volume drives)
CVS patchset: 7001
CVS date: 2004/09/26 22:54:51
|
|
(in case of major trouble just revert the patch i sent to xine-devel)
CVS patchset: 6871
CVS date: 2004/08/02 12:51:07
|