summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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 thread leak in DVB subtitles, and enhance spec complianceSimon Farnsworth
When leaving xine playing DVB with subtitles for a long period of time, I noticed a gradual increase in memory use, caused by it creating more and more timeout threads. In addition, the existing thread was not safe w.r.t destruction of the decoder, and would occasionally segfault xine. Further, EN 300 743 states that the timeout should be sent by the broadcaster; the existing thread had a constant 6 second timeout, whereas (e.g.) BBC NEWS 24 subtitles are broadcast with a 15 second timeout. In theory, this could result in subtitles being hidden in error. This rework changes the thread to pick up a timeout set by draw_subtitles; in addition, it uses pthread condition variables to avoid any need to kill and recreate the thread.
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-13Add XCB build-deps with fallbacks for building on etch.Darren Salt
2007-07-12input_v4l TV standard selection supportSimon Farnsworth
Add a configuration option, to let input_v4l users select their local TV standard.
2007-07-12Allow DVB GUI to be disabledSimon Farnsworth
Make the DVB GUI configurable by config entry, for kiosk applications
2007-07-13Merge from 1.1.Darren Salt
2007-07-13Ensure that xine(5) is installed.Darren Salt
(Workaround, avoiding the build-indep target. Needs to be fixed properly.) --HG-- rename : debian/libxine2-doc.manpages => debian/libxine2-doc.install
2007-07-13Complete the libxine2-dev -> libxine-dev rename.Darren Salt
--HG-- rename : debian/libxine2-dev.install => debian/libxine-dev.install
2007-07-13Merge XML parser relaxation branch.Darren Salt
2007-07-11Unbreak libxine2.pot generation.Darren Salt
Breakage was due to the removal of the ARTS plugin.
2007-07-11Update libxine1.pot.Darren Salt
2007-07-09VCD input class description should be returned as const char *.Darren Salt
2007-07-08Merge from 1.1.Darren Salt
2007-07-08Patch: mpeg_ts + ffmpegChristophe Thommeret
Attached is a little patch that allows using ffmpegvideo w/o direct rendering to play mpeg2 ts. It works for both mpeg2 and h264.
2007-07-08Handle escaped characters in DVD MRLs.Darren Salt
2007-07-08Have the file input plugin use _x_mrl_unescape() instead of its own code.Darren Salt
2007-07-08Rename mrl_unescape and export it for use by plugins.Darren Salt
2007-07-04xine_internal_memmem should be named xine_private_memmem.Darren Salt
2007-07-03Revert to libxine-dev: libxine2-dev wasn't a good idea for snapshot packaging.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-07-02Merge with 1.1.Diego 'Flameeyes' Pettenò
2007-07-02Fix demuxing of wavpack files, and avoid crashing with the tags at the end ↵Diego 'Flameeyes' Pettenò
of the file.
2007-06-25Instead of declaring op_size, use sizeof(ogg_packet) directly.Diego 'Flameeyes' Pettenò
2007-06-17Merge 1.1 branch, with the BE_/LE_ macros renamed.Diego 'Flameeyes' Pettenò
2007-06-17Merge changes from Solaris branch. (1.2 branch commit).Diego 'Flameeyes' Pettenò
2007-06-17Add a ChangeLog entry for the Solaris branch.Diego 'Flameeyes' Pettenò
2007-06-17Merge changes from Solaris branch.Diego 'Flameeyes' Pettenò
2007-06-17A few minor changelog cleanups.Darren Salt
2007-06-17Changelog cleanups.Darren Salt
2007-06-16Fix a typo.Darren Salt
2007-06-16Rename the BE/LE/ME macros with a _X_ prefix, so they don't clash with ↵Diego 'Flameeyes' Pettenò
Solaris definitions (1.2 branch commit).
2007-06-16Merge tip and local changes.Diego 'Flameeyes' Pettenò
2007-06-16Merge from 1.1 branch.Diego 'Flameeyes' Pettenò
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-15fix possible crash in xcbxv output plugin"Christoph Pfister"
A null pointer dereference happens if reading a xv port attribute (which has been reported as readable) fails. This issue exists for example with proprietary (and a bit buggy ...) ati drivers; nevertheless it shouldn't cause a segmentation fault (the non-xcb version simply stores an unitialised value). This patches solves the issue in a clean way for both branches. Fixes debian bug #428612 :-)
2007-06-15Fix more signedness warnings.Diego 'Flameeyes' Pettenò
2007-06-15Use unsigned integers as buffer for the header.Diego 'Flameeyes' Pettenò
2007-06-15Fix signs.Diego 'Flameeyes' Pettenò
2007-06-15Use memcmp rather than manual checks.Diego 'Flameeyes' Pettenò
2007-06-15The offset variable is only used with strlen value, set it to size_t then.Diego 'Flameeyes' Pettenò
2007-06-15Fix signedness on channel_index() function.Diego 'Flameeyes' Pettenò
2007-06-15Cast the -1 comparison.Diego 'Flameeyes' Pettenò
2007-06-15Use an extra compound, and removes one preprocessor block.Diego 'Flameeyes' Pettenò
2007-06-15Replace the void pointers with uint8_t pointers.Diego 'Flameeyes' Pettenò
2007-06-15Use xine_xcalloc() to make sure nothing will overflow.Diego 'Flameeyes' Pettenò
2007-06-15Change variable to be size_t if sizeof() is used to compare to it.Diego 'Flameeyes' Pettenò
2007-06-15Use the same type for l and size.Diego 'Flameeyes' Pettenò
2007-06-15Use unsigned int when proper.Diego 'Flameeyes' Pettenò