summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-08-17Fix C++ breakage introduced in cset 290f0d28f8fc.Darren Salt
2007-08-16Merge open()/glibc (debug #define) workaround from 1.1; fix up for 1.2 changes.Darren Salt
This does not touch code in contrib.
2007-08-16Merge all but the open()/glibc workaround from 1.1.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-14Update and reformat the DVB README.Darren Salt
Remove the DVB driver installation instructions in favour of a pointer to the "getting started" section of the LinuxTV wiki. Add a pointer to the scan documentation (same site). Mention the requirement for membership of group "video".
2007-08-14Ignore debian/libxine1-doc.Darren Salt
2007-08-14Update TODO.Darren Salt
2007-08-14Bump package version no.Darren Salt
2007-08-09TODO update.Diego 'Flameeyes' Pettenò
2007-07-29have post_vdr_video use the recent postprocessing changesReinhard Nißl
post_vdr_video is now able to always intercept any frame as XXMC and XVMC postprocessing has been fixed. As long as post_vdr_video's image scaling isn't requested or possible due too unsuitable frame format, the preprocessing procs shall still get routed as we will not draw on the frame in that situation. --HG-- extra : transplant_source : %C4%B3%C9%AC%7C%DBJ%D8%60%E2%EF%B4z%C0%01%97%CCQX%D7
2007-07-27make use of the new callback function in _x_post_intercept_video_frame()Reinhard Nißl
--HG-- extra : transplant_source : %E9%9C%09%7EQ%19%B6%D8%BCJ587%C5i%AF%D5R%F4%DE
2007-07-27provide an additional callback function for controlling frame interceptionReinhard Nißl
Some postplugins override a frame's draw function just to get/manipulate frame related information -- and not for drawing on the frame. The current implementation disables any preprocessing function even if the plugin is not going to draw on the frame. By introducing a further callback function route_preprocessing_procs() a plugin is now able to tell that it is not going to draw on the frame, i. e. it is ok to route the preprocessing functions to the intercepted frame, too. --HG-- extra : transplant_source : %170%82%B8%8F%BA%3D%25%9B%D7%EF%E5%B3%3B%EEg%A0%D1be
2007-07-26propagate frame changes in xxmc_do_update_frame() to intercepted framesReinhard Nißl
XXMC doesn't work well with the way how intercepting frames is implemented for postprocessing as xxmc_do_update_frame() may change the native frame's format after the frame has been intercepted. As intercepting XXMC frames didn't work in the past, we can imply that postplugins which will support XXMC do know about this special behaviour. So the idea is to detect any changes on the native frame and propagate these changes to all intercepted frames. At the same time, we check that all intercepted frames still share the same data (which we are about to change) with the native frame and abort otherwise. --HG-- extra : transplant_source : c%D5%13%21jF%1E%D4%AB%D7%DB%22%27%0A%CB%0E%7F%CF%84v
2007-07-26access native frame where an intercepted can be passedReinhard Nißl
When postprocessing is activated, the decoder will pass intercepted frames to the video driver. The driver must nolonger assume that a native frame will be passed from the decoder -- it's necessary to use the supplied macros which give access to the native frame even when an intercepted frame gets passed. --HG-- extra : transplant_source : %19%E7%83q1%F6%FEJ%12%A4%1D%AC%CF%7F%2Cn%5BJ%92Y
2007-07-26initialize pointer to native frame in acceleration dataReinhard Nißl
--HG-- extra : transplant_source : %EA%EBm%3Exb%A5%3C%07%BC%F0%D9%E1%00%F7%D1%E0%D5%94%ED
2007-07-26provide a direct link to accelerated frame for postprocessingReinhard Nißl
Accelerated frames share data between decoder and video out driver. When frames get intercepted for postprocessing the decoder will pass intercepted frames to the video out driver, but the driver needs to access it's native frame for accelerated decoding. Putting a pointer to the native frame into acceleration data is an easy way to achieve this. Some additional macros simplify accessing the native frame. --HG-- extra : transplant_source : 0%FB%1B4A%D9%27%92z%A5E%C1%1F%81nB%00y%17%9E
2007-07-26report unsupported frame format when blending overlayReinhard Nißl
--HG-- extra : transplant_source : y%93%01Dn%EE%9B%DA%60%84%F0%DAT%B7%99%AD%F9%90%03%B0
2007-07-26report unsupported frame format and abortReinhard Nißl
--HG-- extra : transplant_source : IsD%AB%2Ci%A1%0F%AE%21%16eg%F2%98%D5%DD%87%DE%3F
2007-08-02Merge from 1.1.Darren Salt
2007-07-28small updates to debian packagingReinhard Tartler
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-26clip overlay against sub image when calling XvMCCompositeSubpicture()Reinhard Nißl
Blending functions like _x_blend_xx44() take care to clip the overlay against the destination bitmap. The same clipping must be applied to determine the relevant area in the destination bitmap for the call to XvMCCompositeSubpicture().
2007-07-19Use asprintf when generating the decoder priority description.Darren Salt
2007-07-14Merge from 1.1Diego 'Flameeyes' Pettenò
2007-07-14Handle transparently redirect done through m3u playlists.Diego 'Flameeyes' Pettenò
Thanks to Harald Sitter from Amarok team for reporting a testcase.
2007-07-13"debuild clean" should be removing include/configure.h.in, not config.h.in.Darren Salt
2007-07-13Fix a spelling error in the media.dvb.tuning_timeout description.Darren Salt
2007-07-12Allow input_dvb to timeout on no signalSimon Farnsworth
If there's no signal, the tuner never goes to FE_TIMEDOUT. Add a separate timeout, to prevent xine waiting forever in these situations.
2007-07-12Simplify input_rtp lockingSimon Farnsworth
We have seen input_rtp lock up in use, and traced the problem to the separate tail/head locks on the input buffer. Reduce to a single lock, increasing lock contention between the reader and the writer, but removing the previous deadlock risk. Also use select() before recv(), to ensure that we never wait forever for packets (e.g. if we're trying to receive a multicast stream, but an administrator has blocked all multicast packets to the device - iptables -A INPUT --dst 224.0.0.0/4 -j DROP induces this failure for testing).
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