Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
Altivec code.
|
|
Two of the modified files are headers, but each contains definitions as well as
declarations and is only ever used once.
|
|
to be video_overlay.
|
|
|
|
get along that well.
|
|
|
|
|
|
correct location.
|
|
Together with this, define a xinepost_LTLIBRARIES class that is used
to install the post-plugins in the correct directory.
Also add the rule to remove them.
|
|
|
|
Checked snd_pcm_delay return code, and don't trust negative values.
|
|
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libsputext/xine_decoder.c => src/libsputext/xine_sputext_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libspudvb/xine_decoder.c => src/libspudvb/xine_spudvb_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libspudec/xine_decoder.c => src/libspudec/xine_spu_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libspucmml/xine_decoder.c => src/libspucmml/xine_cmml_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libspucc/xine_decoder.c => src/libspucc/xine_cc_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libmusepack/xine_decoder.c => src/libmusepack/xine_musepack_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libmpeg2new/xine_decoder.c => src/libmpeg2new/xine_mpeg2new_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libmpeg2/xine_decoder.c => src/libmpeg2/xine_mpeg2_decoder.c
|
|
--HG--
rename : src/libreal/audio_decoder.c => src/libreal/xine_real_audio_decoder.c
rename : src/libreal/xine_decoder.c => src/libreal/xine_real_video_decoder.c
|
|
--HG--
rename : src/libspeex/xine_decoder.c => src/libxineadec/xine_speex_decoder.c
|
|
--HG--
rename : src/libtheora/xine_decoder.c => src/libxinevdec/xine_theora_decoder.c
|
|
--HG--
rename : src/libvorbis/xine_decoder.c => src/libxineadec/xine_vorbis_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libmad/xine_decoder.c => src/libmad/xine_mad_decoder.c
|
|
--HG--
rename : src/liblpcm/xine_decoder.c => src/libxineadec/xine_lpcm_decoder.c
|
|
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libfaad/xine_decoder.c => src/libfaad/xine_faad_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/libdts/xine_decoder.c => src/libdts/xine_dts_decoder.c
|
|
Use xineplug_LTLIBRARIES.
--HG--
rename : src/liba52/xine_decoder.c => src/liba52/xine_a52_decoder.c
|
|
source files.
This way when you get a backtrace, video_decoder.c is never the FFmpeg one.
--HG--
rename : src/libffmpeg/audio_decoder.c => src/libffmpeg/ff_audio_decoder.c
rename : src/libffmpeg/dvaudio_decoder.c => src/libffmpeg/ff_dvaudio_decoder.c
rename : src/libffmpeg/mpeg_parser.c => src/libffmpeg/ff_mpeg_parser.c
rename : src/libffmpeg/mpeg_parser.h => src/libffmpeg/ff_mpeg_parser.h
rename : src/libffmpeg/video_decoder.c => src/libffmpeg/ff_video_decoder.c
rename : src/libffmpeg/xine_decoder.c => src/libffmpeg/ffmpeg_decoder.c
rename : src/libffmpeg/xine_decoder.h => src/libffmpeg/ffmpeg_decoder.h
rename : src/libffmpeg/xine_encoder.c => src/libffmpeg/ffmpeg_encoder.c
|
|
--HG--
rename : src/libflac/decoder_flac.c => src/combined/decoder_flac.c
rename : src/libflac/demux_flac.c => src/combined/demux_flac.c
rename : src/libflac/demux_flac.h => src/combined/demux_flac.h
|
|
instead of headers (and thus are not part of public ABI).
|
|
|
|
|
|
|
|
|
|
the BSDs.
Thanks to Pascal S. de Kloe for pointing at this.
|
|
|
|
|
|
available on NetBSD only.
With this, it's not needed to check for OpenBSD too.
Thanks to Pascal S. de Kloe for pointing at it.
|
|
defined (this follows assert() way of working).
|
|
automake-related files.
|
|
zero. Should fix the crash at startup reported by Bastien Nocera.
|
|
--HG--
rename : .cvsignore => .hgignore
rename : doc/.cvsignore => doc/.hgignore
rename : doc/faq/.cvsignore => doc/faq/.hgignore
rename : doc/hackersguide/.cvsignore => doc/hackersguide/.hgignore
rename : doc/man/.cvsignore => doc/man/.hgignore
rename : doc/man/en/.cvsignore => doc/man/en/.hgignore
rename : include/.cvsignore => include/.hgignore
rename : intl/.cvsignore => intl/.hgignore
rename : lib/.cvsignore => lib/.hgignore
rename : m4/.cvsignore => m4/.hgignore
rename : misc/.cvsignore => misc/.hgignore
rename : misc/fonts/.cvsignore => misc/fonts/.hgignore
rename : po/.cvsignore => po/.hgignore
rename : src/.cvsignore => src/.hgignore
rename : src/audio_out/.cvsignore => src/audio_out/.hgignore
rename : src/combined/.cvsignore => src/combined/.hgignore
rename : src/demuxers/.cvsignore => src/demuxers/.hgignore
rename : src/dxr3/.cvsignore => src/dxr3/.hgignore
rename : src/input/.cvsignore => src/input/.hgignore
rename : src/input/dvb/.cvsignore => src/input/dvb/.hgignore
rename : src/input/libdvdnav/.cvsignore => src/input/libdvdnav/.hgignore
rename : src/input/libreal/.cvsignore => src/input/libreal/.hgignore
rename : src/input/librtsp/.cvsignore => src/input/librtsp/.hgignore
rename : src/input/vcd/.cvsignore => src/input/vcd/.hgignore
rename : src/input/vcd/libcdio/.cvsignore => src/input/vcd/libcdio/.hgignore
rename : src/input/vcd/libcdio/MSWindows/.cvsignore => src/input/vcd/libcdio/MSWindows/.hgignore
rename : src/input/vcd/libcdio/cdio/.cvsignore => src/input/vcd/libcdio/cdio/.hgignore
rename : src/input/vcd/libcdio/image/.cvsignore => src/input/vcd/libcdio/image/.hgignore
rename : src/input/vcd/libvcd/.cvsignore => src/input/vcd/libvcd/.hgignore
rename : src/input/vcd/libvcd/libvcd/.cvsignore => src/input/vcd/libvcd/libvcd/.hgignore
rename : src/liba52/.cvsignore => src/liba52/.hgignore
rename : src/libdts/.cvsignore => src/libdts/.hgignore
rename : src/libfaad/.cvsignore => src/libfaad/.hgignore
rename : src/libfaad/codebook/.cvsignore => src/libfaad/codebook/.hgignore
rename : src/libffmpeg/.cvsignore => src/libffmpeg/.hgignore
rename : src/libffmpeg/libavcodec/.cvsignore => src/libffmpeg/libavcodec/.hgignore
rename : src/libffmpeg/libavcodec/alpha/.cvsignore => src/libffmpeg/libavcodec/alpha/.hgignore
rename : src/libffmpeg/libavcodec/armv4l/.cvsignore => src/libffmpeg/libavcodec/armv4l/.hgignore
rename : src/libffmpeg/libavcodec/i386/.cvsignore => src/libffmpeg/libavcodec/i386/.hgignore
rename : src/libffmpeg/libavcodec/libpostproc/.cvsignore => src/libffmpeg/libavcodec/libpostproc/.hgignore
rename : src/libffmpeg/libavcodec/mlib/.cvsignore => src/libffmpeg/libavcodec/mlib/.hgignore
rename : src/libffmpeg/libavcodec/ppc/.cvsignore => src/libffmpeg/libavcodec/ppc/.hgignore
rename : src/libffmpeg/libavcodec/sparc/.cvsignore => src/libffmpeg/libavcodec/sparc/.hgignore
rename : src/libffmpeg/libavutil/.cvsignore => src/libffmpeg/libavutil/.hgignore
rename : src/libflac/.cvsignore => src/libflac/.hgignore
rename : src/liblpcm/.cvsignore => src/liblpcm/.hgignore
rename : src/libmad/.cvsignore => src/libmad/.hgignore
rename : src/libmpeg2/.cvsignore => src/libmpeg2/.hgignore
rename : src/libmpeg2new/.cvsignore => src/libmpeg2new/.hgignore
rename : src/libmpeg2new/include/.cvsignore => src/libmpeg2new/include/.hgignore
rename : src/libmpeg2new/libmpeg2/.cvsignore => src/libmpeg2new/libmpeg2/.hgignore
rename : src/libmusepack/.cvsignore => src/libmusepack/.hgignore
rename : src/libmusepack/musepack/.cvsignore => src/libmusepack/musepack/.hgignore
rename : src/libreal/.cvsignore => src/libreal/.hgignore
rename : src/libspeex/.cvsignore => src/libspeex/.hgignore
rename : src/libspucc/.cvsignore => src/libspucc/.hgignore
rename : src/libspucmml/.cvsignore => src/libspucmml/.hgignore
rename : src/libspudec/.cvsignore => src/libspudec/.hgignore
rename : src/libspudvb/.cvsignore => src/libspudvb/.hgignore
rename : src/libsputext/.cvsignore => src/libsputext/.hgignore
rename : src/libtheora/.cvsignore => src/libtheora/.hgignore
rename : src/libvorbis/.cvsignore => src/libvorbis/.hgignore
rename : src/libw32dll/.cvsignore => src/libw32dll/.hgignore
rename : src/libw32dll/DirectShow/.cvsignore => src/libw32dll/DirectShow/.hgignore
rename : src/libw32dll/dmo/.cvsignore => src/libw32dll/dmo/.hgignore
rename : src/libw32dll/qtx/.cvsignore => src/libw32dll/qtx/.hgignore
rename : src/libw32dll/qtx/qtxsdk/.cvsignore => src/libw32dll/qtx/qtxsdk/.hgignore
rename : src/libw32dll/wine/.cvsignore => src/libw32dll/wine/.hgignore
rename : src/libxineadec/.cvsignore => src/libxineadec/.hgignore
rename : src/libxineadec/gsm610/.cvsignore => src/libxineadec/gsm610/.hgignore
rename : src/libxineadec/nosefart/.cvsignore => src/libxineadec/nosefart/.hgignore
rename : src/libxinevdec/.cvsignore => src/libxinevdec/.hgignore
rename : src/post/.cvsignore => src/post/.hgignore
rename : src/post/audio/.cvsignore => src/post/audio/.hgignore
rename : src/post/deinterlace/.cvsignore => src/post/deinterlace/.hgignore
rename : src/post/deinterlace/plugins/.cvsignore => src/post/deinterlace/plugins/.hgignore
rename : src/post/goom/.cvsignore => src/post/goom/.hgignore
rename : src/post/mosaico/.cvsignore => src/post/mosaico/.hgignore
rename : src/post/planar/.cvsignore => src/post/planar/.hgignore
rename : src/post/visualizations/.cvsignore => src/post/visualizations/.hgignore
rename : src/video_out/.cvsignore => src/video_out/.hgignore
rename : src/video_out/libdha/.cvsignore => src/video_out/libdha/.hgignore
rename : src/video_out/libdha/bin/.cvsignore => src/video_out/libdha/bin/.hgignore
rename : src/video_out/libdha/kernelhelper/.cvsignore => src/video_out/libdha/kernelhelper/.hgignore
rename : src/video_out/libdha/oth/.cvsignore => src/video_out/libdha/oth/.hgignore
rename : src/video_out/libdha/sysdep/.cvsignore => src/video_out/libdha/sysdep/.hgignore
rename : src/video_out/macosx/.cvsignore => src/video_out/macosx/.hgignore
rename : src/video_out/vidix/.cvsignore => src/video_out/vidix/.hgignore
rename : src/video_out/vidix/drivers/.cvsignore => src/video_out/vidix/drivers/.hgignore
rename : src/xine-engine/.cvsignore => src/xine-engine/.hgignore
rename : src/xine-utils/.cvsignore => src/xine-utils/.hgignore
rename : win32/.cvsignore => win32/.hgignore
rename : win32/include/.cvsignore => win32/include/.hgignore
|
|
extra checks. If there are cases where the stream is not AC3, it would be nicer to blacklist them, rather than whitelist the cases where it's correct.
Patch by Julian Scheel.
CVS patchset: 8788
CVS date: 2007/04/02 10:46:08
|