summaryrefslogtreecommitdiff
path: root/src/xine-engine
AgeCommit message (Collapse)Author
2007-11-23log if send_headers returned with DEMUX_FINISHEDMatthias Kretz
2007-11-19add support for GNU/kFreeBSDPetr Salinger ext:(%20)
It changes some "defined (__FreeBSD__)" into "defined (__FreeBSD_kernel__)" and "__FreeBSD_version" into "__FreeBSD_kernel_version". The changes are performed on places, where feature of kernel is tested. On some other places, feature of userland/libc is tested, on them "defined (__FreeBSD__)" remains. As proposed, include/configure.h cause __FreeBSD_kernel__ be defined if __FreeBSD__ is defined. --HG-- extra : transplant_source : %25%96K%05%E4Y%B15%94%60%15%FE1%8Ah%26Xy%8C/
2007-11-15assert that not more than the buffersize is readMatthias Kretz
2007-11-15when the stream is paused fifo_wait_empty will wait forever. In that case weMatthias Kretz
discard all buffers before calling fifo_wait_empty
2007-11-11Merge transplanted patches.Darren Salt
2007-11-11Added FOURCC for VP6F.Claudio Ciccani
(transplanted from 3bea001775a81a2c784e000794ea5cc6d34dc40d) --HG-- extra : transplant_source : %3B%EA%00%17u%A8%1A%2CxN%00%07%94%EA%5C%C6%D3M%C4%0D
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-10-28Add another identifier (0x10 0x00 0x00 0x02) for MPEG video.Darren Salt
Seen in an AVI in the wild; apparently generated by mencoder.
2007-08-17xine_stream audio_track_map order fixChristophe Thommeret
Actually, audio_decoder_loop stores audio streams in ascending buffer type order. So, for example a stream with buffer type BUF_AUDIO_A52|channel_num will always be stored in audio_track_map array before any mpegaudio stream. This breaks the stream order known by TS demuxer and so a user can get a52 french audio when selecting "deu" ! Bad again. This patch fixes that.
2007-08-17Fix C++ breakage introduced in cset 290f0d28f8fc.Darren Salt
2007-08-15Workaround for recent glibc & -D_FORTIFY_SOURCE=2 (defines open() as a macro).Darren Salt
According to bug 1773769, this breaks foo->open(). The fix (as used in Ville Skyttä's patch, which doesn't cover all cases) is to replace this with (foo->open)(). This patch was generated using sed -i -re 's/(([[:alnum:]_]+(->|\.))+open) ?\(/(\1) (/' `grep '[>.]open \?(' include -rIl` One change (in a comment) is not committed.
2007-08-15Fix an audio resampling problem which was causing regular clicking.Darren Salt
The cause was that the resampling code was using only the samples in the buffer but not really handling the transition between two buffers (which it would handle completely independently). The new code remembers the last sample from the previous buffer and uses it in the resampling. We therefore end up one sample behind and without the clicks.
2007-08-12Extend config key translation to allow front ends to provide an additional list.Darren Salt
Intent is to allow front ends to rename their old, badly-named, config items.
2007-07-27Fixed race, reordered broadcaster shutdown sequence to avoid multiple access ↵Kirill Belokurov
to connections list
2007-07-26copy stream in _x_post_frame_copy_up() and add refcountingReinhard Nißl
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. --HG-- extra : transplant_source : I%F1%0B%86%B5%5E%5D%10_6%BC%B6%BCPZ%11%04y%83/
2007-07-12Remove realloc from osd.c to prevent memory leak due to fragmentationSimon Farnsworth
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-12Fix memory leak in video_overlay.cSimon Farnsworth
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-13Prevent ticket system deadlock when using DVB subtitlesSimon Farnsworth
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.
2007-07-08Rename mrl_unescape and export it for use by plugins.Darren Salt
2007-07-02Fix demuxing of wavpack files, and avoid crashing with the tags at the end ↵Diego 'Flameeyes' Pettenò
of the file.
2007-06-16Rename the BE/LE/ME macros with a _X_ prefix, so they don't clash with ↵Diego 'Flameeyes' Pettenò
Solaris definitions.
2007-06-13Make explanation a constant string (gettext() strings are never freed).Albert Lee
2007-06-13Fix parameter type.Albert Lee
2007-06-09Use $(LTLIBICONV) instead of $(LIBICONV) when linking libxine.so.Darren Salt
2007-06-04fallback to none output when the device is unpluggedMatthias Kretz
2007-06-04handle unplugged devices in audio_alsa_out (return -1) and in audio_out ↵Matthias Kretz
close the driver on a return value <0
2007-05-06Merge Reinhard Nissl's xxmc fixes and related changes.Darren Salt
2007-05-05- Fix _x_io_select exiting when the select has been interrupted (EINTR errno)hadess@cookie.hadess.net
when we want to run until the timeout has occurred, partially fixes Totem's browser plugin playing back browser streams with the xine-lib backend See http://bugzilla.gnome.org/show_bug.cgi?id=375866 for details
2007-04-23Merge alpha-blending changes.Darren Salt
2007-04-23Add comments about used blending equationPetri Hintukainen
Remove unused x_odd parameter from blend_???_exact functions
2007-04-18Limit common-case buffer copying optimisation to i386 & amd64.Darren Salt
This fixes reported alignment issues on ARM. (We could require correct alignment on some architectures, but this is easier.)
2007-04-18Alphablending optimizations:Petri Hintukainen
- validate palette alpha values in overlay manager (one check / overlay / palette index) instead of checking every alpha value twice for every blended pixel in every frame - remove unneeded calculations - approximiate expensive integer divisions with multiplication and shift
2007-04-12Provide a function to query buffer usage.Reinhard Nißl
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.
2007-04-12Extend ticket system for nonblocking ticket acquiries.Reinhard Nißl
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.
2007-04-10Replace the duplicated meFOURCC macro with ME_FOURCC that is declared in ↵Diego 'Flameeyes' Pettenò
bswap.h already. (transplanted from a7820d16324dbc6fd6b35481a78ff532f59ebe71) --HG-- extra : transplant_source : %A7%82%0D%162M%BCo%D6%B3T%81%A7%8F%F52%F5%9E%BEq
2007-04-08Mark various private arrays, structs & fn parameters as static and/or const.Darren Salt
Two of the modified files are headers, but each contains definitions as well as declarations and is only ever used once.
2007-04-07video_overlay_s uses C's inheritance-like definition, so the first field has ↵Diego 'Flameeyes' Pettenò
to be video_overlay.
2007-04-07Use CC_ATTRIBUTE_FORMAT; replace __attribute((format(printf, ...))) accordingly.Darren Salt
2007-04-07Revert changeset 8383: variable-sized structures and arrays don't seem to ↵Diego 'Flameeyes' Pettenò
get along that well.
2007-04-04Reorder and pack the structures that are defined inside compilation units ↵nopadding_no_abi_changeDiego 'Flameeyes' Pettenò
instead of headers (and thus are not part of public ABI).
2007-04-04Use a variable-sized array for the name of the buffer type.Diego 'Flameeyes' Pettenò
2007-04-04Make sure that early_finish_event and gapless_switch are either 0 or 1.Diego 'Flameeyes' Pettenò
2007-04-03Rationalise use of .hgignore, removes a bunch of files that only ignored ↵Diego 'Flameeyes' Pettenò
automake-related files.
2007-04-02Migrate all .cvsignore files to .hgignore.Diego 'Flameeyes' Pettenò
--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
2007-04-01Reorder and use bitmasks to reduce the holes in the structure. This is a ↵Diego 'Flameeyes' Pettenò
private structure so it's not part of the ABI. CVS patchset: 8781 CVS date: 2007/04/01 01:03:06
2007-04-01Reorder and use bitmasks to reduce the holes in the structure. This is a ↵Diego 'Flameeyes' Pettenò
private structure so it's not part of the ABI. CVS patchset: 8780 CVS date: 2007/04/01 00:52:36
2007-03-26Send an event when the amp value or amp mute change. Patch by reinhard ↵Diego 'Flameeyes' Pettenò
Nissl. Also bump the libtool version info. CVS patchset: 8749 CVS date: 2007/03/26 11:48:00
2007-03-25Fix amp muting when level is still at 100. Patch by Reinhard Nissl.Diego 'Flameeyes' Pettenò
CVS patchset: 8747 CVS date: 2007/03/25 23:09:42
2007-03-22Fix crosscompile to use build and host definition from autoconf, rather than ↵Diego 'Flameeyes' Pettenò
using hacksaround. Also replace the whole pthread check with an improved macro originally written for XCB, this way it's not going to try linking the fake -lpthread on Darwin, and it also does not force a -I/usr/local/include on FreeBSD. The new macro respects the same variables set by ports, so that it's even more transparent to FreeBSD users. CVS patchset: 8739 CVS date: 2007/03/22 20:44:58