summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2009-01-17Copy the Sparc32 compilation fix in cset 114515c61c07 into libmpeg2new.Darren Salt
2009-01-17Don't install mpeg2.h & mpeg2convert.h.Darren Salt
2009-01-17Avoid libtool running ldconfig (where not needed) at install time.Darren Salt
2008-01-14Signedness bug in Matroska PTS calculationDirk Leber
With some mkv files I had many discontinuity events. I found out that if changing the timecode_diff in demux_matroska.c from int to int16_t fixes this problem. Using int will never produce negative values if int is not 16-bit...
2009-01-16Fix a broken size check in the pvr input plugin (ref. CVE-2008-5239).Darren Salt
2009-01-16Merge.Darren Salt
2009-01-16Back out MagickGetAuthenticPixels fix; causes FTBFS.Darren Salt
2009-01-16Missing libmpeg2new header files.Darren Salt
2009-01-16libmpeg2new/include wasn't being included in tarbals.Darren Salt
2009-01-16Terminate the supported types list...Darren Salt
2009-01-16Rework ffmpeg codecs lists creation.Darren Salt
This is intended to make it easier to add new codecs without breaking compilation with older ffmpeg and to see which codecs need to be added.
2009-01-15Split most of the MMX declarations in xineutils.h out into xine_mmx.h.Darren Salt
This does not incompatibly change the API and has no effect on the ABI. --HG-- rename : src/xine-utils/xineutils.h => src/xine-utils/xine_mmx.h
2009-01-14Avoid printing "plugin foo found" if the filename is null.Darren Salt
(Bug 182)
2009-01-14Fix building against ImageMagick 6.4.5Robin H. Johnson
Date: Tue Nov 18 2008 00:57:00 +0000 Upstream ImageMagick changed part of the API and did not update their deprecated support stuff, so bump us along for now to avoid having to downgrade.
2009-01-12Enable libmpeg2new & clean it up. libmpeg2 remains preferred.Darren Salt
2009-01-12Fix build of directx VO plugin.František Dvořák
Update for build with newer mingw compilation tools.
2009-01-12Fixed lvalue cast error (build with newer mingw compilation tools).František Dvořák
2008-11-29Use a regular int instead of MagickBoolType and assume 0 for MagickFalse.Loïc Minier
2008-11-03Free up resources when we finish with a Freetype font.Maximilian Schwerin
2008-05-21Free up resources when we finish with Freetype.Darren Salt
2008-09-17Remove an extra const directive for goom_csc_methodsErik Hovland
2008-08-16motion_comp_vis.c checks for ENABLE_VIS therefore we also need to check for it.Friedrich Oslage
2009-01-11Merge.Darren Salt
2009-01-11Reapply cset ffb2e82d7bb7 (accidental removal by this cset's parent).Darren Salt
2009-01-11Merge.Darren Salt
2009-01-11Fix PTS tagging: large (negative) PTS values are a result of turning it off ↵Reinhard Nißl
to early The current code turns of PTS tagging as soon as a match is found. But depending on picture reordering, there may be later frames which still have the tag. The result is that most likely the highest bit is set which makes the PTS values large negative numbers which cause a clock error and make streams unplayable. To fix this issue, a stable counter is introduced. The two passes of PTS tagging are now switched after the tag has been seen stable for 100 frames. This should protect us from picture reordering issues. --HG-- extra : transplant_source : I%2A%BBi%A5nb/%5E%12%9Ay%7B%BAj%7D%0B%16%0By
2009-01-08Fix build with libavcodec < 51.68.0.Darren Salt
This covers the internal snapshot and the version in Debian lenny.
2009-01-05Merge security fixes.Darren Salt
2009-01-04Introduce XVMC_LOCKDISPLAY_SAFE to solve deadlocks in certain xxmc ↵Reinhard Nißl
implementations. Some implementations are buggy and lock resources (for example the display or internal data structures) in different order, which results in deadlocks. As XVMC_LOCKDISPLAY_SAFE is not defined by default, most API functions will now be guarded by a LockDisplay()/UnlockDisplay() pair, which imposes a lock order at least for the resource display and hence avoids those deadlocks. (transplanted from 580a2a9148618131cedfbc9058ac7979ca16f69b) --HG-- extra : transplant_source : X%0A%2A%91Ha%811%CE%DF%BC%90X%ACyy%CA%16%F6%9B
2009-01-04At discontinuity all stored PTS values need to be reset to 0, as they are ↵Reinhard Nißl
now invalid. But as PTS values are stored in FFmpeg's decoder, there is no way to reset them to 0. Therefore PTS tagging has been introduced. At discontinuity a tag is generated and applied to all new PTS values. Any returned PTS value is checked for this tag and outdated PTS values are reset to 0. When the tag appears on returned PTS values then tagging is reset.
2009-01-04Fix WAV demuxer to send the last frames when they don't fit perfectly into ↵Matthias Kretz
the buffer
2009-01-04Feed buffer PTS through FFmpeg's decoder to have them reordered to display ↵Reinhard Nißl
order. Attaching buffer PTS, which are in decoding order, to decoded images is simply wrong. FFmpeg meanwhile provides a way to pass PTS values through its decoder too. As a result they get reordered to display order and can be attached to the decoded frames.
2009-01-02configurable parameter for tvtime pulldown sync sensitivityJason Tackaberry
Currently, once the tvtime plugin has locked onto a telecine pattern, it will wait PULLDOWN_ERROR_WAIT (a hardcoded #defined value) number of frames before switching to filmmode. This sensitivity is excessively high (i.e. the value is too low) for certain content -- the kind of content that was shot on film but edited in video mode, so telecine patterns are constantly breaking (examples like Buffy, Simpsons and Family Guy are especially egregious offenders). The attached patch turns this constant into a modifiable post plugin parameter called pulldown_error_wait. Xine helpfully emits a XINE_EVENT_POST_TVTIME_FILMMODE_CHANGE event when film mode changes (a patch I submitted some years back). With the attached patch, a front-end can monitor the frequency of these events, and dynamically adjust pulldown_error_wait in a sensible way.
2008-12-31check number of bytes read by input->read in demuxing mpeg block/pesMatthias Hopf
input->read may return negative error codes or read less than we want so we should check for the right return value instead of just not 0
2008-12-31handle read errors/insufficient data when forwarding asf dataMatthias Hopf
do not forward data if there is not enough
2009-01-01check for buffers smaller than headers in real demuxerThomas Viehmann
check buffer lengths to avoid out of bound access when decoding the header. Based on a patch by Matthias Hopf <mhopf@suse.de>.
2009-01-01Avoid underflow in input size calculation for compressed atomsMatthias Hopf
if the atom size is shorter than the header size, do not try to decompress anything, as this would lead to zlib reading out of bound data.
2008-12-31check size before accessing memory in matroska decodingMatthias Hopf
check the size of allocated buffers to prevent out of bound access
2009-01-01check return value of input->read_block for NULL in yuv_frames demuxingThomas Viehmann
Based on a patch by Matthias Hopf <mhopf@suse.de>.
2008-12-31check return value of input->read_block for NULL in mpeg demuxingMatthias Hopf
2008-12-31abort if buffer for matroska block data cannot be allocatedMatthias Hopf
return error when the allocation function returns NULL Otherwise xine might be induced to segfault by bad user data.
2008-12-31handle read errors when demuxing mpeg dataMatthias Hopf
Some input plugins (e.g. file) return negative error codes from read, this should be treated as no (more) data available.
2009-01-01check length parameter against buffer length in libsputext read_line_from_inputMatthias Hopf
Currently, this is satisfied in all locations where it is called, but it is more prudent to add the check.
2009-01-01check for negative/too large return values of get_size when demuxing mod streamsThomas Viehmann
get_size might return -1 (e.g. for streams whose size is unknown), but demux_mod is not able to handle this. This is particularly bad because it is later assigned to unsigned types (demux_mod_t.filesize is size_t). Based on a patch by Matthias Hopf <mhopf@suse.de>.
2008-12-31check for negative return values of read when demuxing mng streamsThomas Viehmann
Some input plugins (e.g. file) return negative error codes from read, this should be treated as no (more) data available. This is particularly bad because the error code is assigned to an unsigned integer variable for use by the caller. Based on a patch by Matthias Hopf <mhopf@suse.de>
2008-12-31check that track's codec_private_len fits in signed variables when decoding ↵Matthias Hopf
matroska while codec_private_len is unsigned, the size is later used to calculate the signed xine_bmiheader.size
2008-12-31handle read errors when forwarding in multiple demuxersMatthias Hopf
Add checks for negative return values in aac,ac3,dts,mpc, nsf,ogg,shn,slave,ts,tta,vox demuxers. Some input plugins (e.g. file) return negative error codes from read, this should be treated as no (more) data available. This is particularly the negative size is then assigned to buf->size, potentially causing overflows elsewhere. The patch also removes the duplication of the (previously) == 0 handler in demux_ac3.
2009-01-04fail to set up codec when fifo is not set upThomas Viehmann
When a track's fifo is not set up (typically because the track type is invalid), do not call init_codec, as all implementations dereference track->fifo, segfaulting if it is NULL.
2009-01-04Fix for CVE-2008-5243.Matthias Hopf
The real_parse_headers function in demux_real.c in xine-lib 1.1.12, and other 1.1.15 and earlier versions, relies on an untrusted input length value to "reindex into an allocated buffer," which allows remote attackers to cause a denial of service (crash) via a crafted value, probably an array index error.
2009-01-04Fix for CVE-2008-5240Matthias Hopf
xine-lib 1.1.12, and other 1.1.15 and earlier versions, relies on an untrusted input value to determine the memory allocation and does not check the result for (1) the MATROSKA_ID_TR_CODECPRIVATE track entry element processed by demux_matroska.c; and (2) PROP_TAG, (3) MDPR_TAG, and (4) CONT_TAG chunks processed by the real_parse_headers function in demux_real.c; which allows remote attackers to cause a denial of service (NULL pointer dereference and crash) or possibly execute arbitrary code via a crafted value.