summaryrefslogtreecommitdiff
path: root/src/input
AgeCommit message (Collapse)Author
2011-10-18net_buf_ctrl: dvb sync: dont rely on demuxer sending BUF_FLAG_FRAME_STARTTorsten Jager
(eg for streams that send PES payloads not aligned to frame boundaries).
2011-10-18net_buf_ctrl: dvb sync: observe a/v buffers only.Torsten Jager
Dont get fooled by subtitle buffers with pts seconds away from video for example.
2011-10-18Removed unused variablePetri Hintukainen
2011-10-18input_dvb: if write() fails, stop recording and log a messagePetri Hintukainen
2011-10-18input_dvb: fixed check for recording file handlePetri Hintukainen
2011-10-10Fixed asprintf usagePetri Hintukainen
2011-10-10input_cdda: fixed writing outside of tablePetri Hintukainen
2011-10-10Marked _x_canonicalise_url() with XINE_MALLOC attributePetri Hintukainen
2011-10-03Set CLOEXEC flag on three more sockets.Chris Rankin
There are two functions that actually set this flag: int _x_set_file_close_on_exec() int _x_set_socket_close_on_exec() (We need two functions because file descriptors and sockets are not the same under WIN32 - of course). These function have been assigned "internal" visibility so that they can be used throughout libxine.so itself while still not being exported to the global symbol table. In other words, they're both as close to being "static" as I can make them.
2011-10-03Prefix open_cloexec() and create_cloexec() with xine_, and add new ↵Chris Rankin
xine_socket_cloexec() function.
2011-10-03Add CLOEXEC to another descriptor. (Merge from 1.2 branch).Chris Rankin
2011-10-01Mark simple file and socket descriptors as uninheritable.Chris Rankin
This patch creates two utility functions: int open_cloexec(pathname, flags) int create_cloexec(pathname, flags, mode) These return a file descriptor with the CLOEXEC flag set, to ensure that the descriptor is not inherited across a fork/exec operation. The sockets returned by: _x_io_tcp_connect_ipv4() _x_io_tcp_connect() now also have their CLOEXEC flag set.
2011-08-26DVB syncTorsten Jager
The problem When watching live DVB, data is delivered strictly at the broadcasters speed. We cannot change it through server commands. Our local systems clock usually runs slightly faster or slower than that, causing a/v fifos to run empty or full after a few minutes. Standard network buffering control only handles the first case by pausing the engine (not nice). The latter case ends up in severe stuttering and an a/v lag of several seconds (annoying). I tried quite a few differnt algorithms, and this one made it: a 3 point controller. There is a target buffer fill window with a center and some tolerated width: Minimum: definition: 1 second safety: clamped to 38% of fio size action: switch playback speed to 99.5% Center: definition: 2 seconds safety: clamped to 73% fifo size action: switch to normal playback speed Maximum: definition: 3 seconds safety: clamped to 98% fifo fill action: switch playback speed to 100.5% If the usual dvb audio to video muxing delay is more than 1 second, center time is increased. On low bitrate radio, window width is increased. Real TVs do adjust playback audio sampling rate to follow delivery speed. Some PC sound cards can do that, too. It could be implemented transparently (although I don't know yet how). This comes quite close, resampling audio to stretch. That half percent is large enough to cover clock deviation, and it is small enough not to cause audible pitch bending. Speed control consists of adjusting SCR and telling audio out. Doing just the first will cause metronom to drop and/or insert whole audio frames, not nice with music. BTW. this one needs demux_ts to send BUF_FLAG_FRAME_START.
2010-11-30Small memory leaks in VCD input plugin class.František Dvořák
2010-10-23mingw32-w64 port:František Dvořák
- mkdir/_mkdir function - prefer prepared POSIX version in CDDA plugin
2010-10-23mingw32-w64 port: '-no-undefined' partFrantišek Dvořák
- use -no-undefined flag only for building shared libraries (libxine, plugins) - plugins LDFLAGS unification - move -no-undefined into LDFLAGS_NOUNDEFINED - attributes.m4 fix
2010-07-28Re-add tests for __FreeBSD_kernel__ (should fix Debian GNU/kFreeBSD builds).Darren Salt
2010-07-21Add NetBSD support to the VCD input pluginMatthias Drochner
--HG-- extra : rebase_source : cfee1d5353fa3cacf4df8712fde15cd94e2ee3d4
2010-07-21Advance buffer pointer after readMatthias Drochner
In dvd_input.c:file_read(), if the read is not done in a single access, the buffer pointer doesn't get advanced so that the second read overwrites the data of the first. I actually don't remember under which circumstances this could happen, but the flaw in the code is obvious. The patch is from NetBSD's pkgsrc, and this patch is attributed to an "unnamed contributor" in the CVS log.
2010-07-19Fix a few small memory leaks.Darren Salt
2010-02-21Typo fixUlrich Eckhardt
2010-04-11Report NBC buffer stats to the application using new event XINE_EVENT_NBC_STATSFrank Enderle
This event reports the buffer status for network streams (NBC) back to the application, providing a way to measure if the stream delivers data fast enough. This enables the application to slow down the stream playback to get the buffers filling more quickly. (This is only a sample application of the event.) The event reports all vital data like fill percentage, remaining buffer in seconds and discontinuity, separately for audio and video, whether the nbc layer is actually buffering, the operation type (put or get) and also if the buffering is enabled at all. In essence, it's the output you get from nbc if you run xine-lib in verbose mode on the console, but in raw data.
2010-03-10Make buildable with current (external) libdvdnav & libdvdread.Darren Salt
2010-02-25Compiler warning fixes.Darren Salt
2010-02-25isatty() takes an int, not a FILE *.Darren Salt
2010-02-25Fix a size check (wrong variable, causing int/ptr comparison) in rmff.c.Darren Salt
2010-02-24Fix up V4L/V4L2 for non-Linux.Darren Salt
2010-02-21Avoid invalid fstat calls when opening empty filesUlrich Eckhardt
When opening empty files with xine, it reports: > This is xine (X11 gui) - a free video player v0.99.6cvs. > (c) 2000-2007 The xine Team. > system call fstat: Bad file descriptor > system call fstat: Bad file descriptor > call failed > object not accessible > object not accessible > call failed The problem was that when detecting an empty file, it is closed, but the file descriptor in struct file_input_plugin_t is still left at the previous value, causing the errors when it is used later.
2010-02-06libv4l check shouldn't fail & abort unless --enable-libv4l is given.Darren Salt
2010-02-03Remove pointless output from stats logging; make the const variables static.Darren Salt
2010-01-30Fix dvdnav map file closure.Darren Salt
2010-01-29Link the v4l2 plugin with libv4l2 (if required); use pkgconfig to locate it.Darren Salt
2010-01-26Convert xine_log → xprintf.Darren Salt
2010-01-26Switch off logging, convert some lprintf() to xine_log(), add a startup warning.Darren Salt
2010-01-26Get rid of a few compiler warnings.Darren Salt
2010-01-26More error checking.Darren Salt
2010-01-22v4l2: set no. of bytes sent, and don't send more than max_size bytes at a time.Darren Salt
--HG-- branch : v4l
2010-01-22v4l2: set stream audio/video flags; check for VIDIOC_S_FMT failure.Darren Salt
--HG-- branch : v4l
2010-01-06Add v4l2 to the makefileTrever Fischer
--HG-- branch : v4l
2010-01-21Require v4l2:/ prefix.Darren Salt
--HG-- branch : v4l
2010-01-21Tidy up the v4l2 plugin.Darren Salt
Get rid of most compile-time warnings. Clean up white space. Mark xine_plugin_info as EXPORTED. Fix xine-lib internal #includes. Use #defines instead of many "#ifdef HAVE_LIBV4L2"/"#else"/"#endif". --HG-- branch : v4l
2010-01-06Use libv4l only if available, add copyright headerTrever Fischer
--HG-- branch : v4l
2010-01-06Preliminary support for v4l2.Trever Fischer
It's ugly and works half the time, but it's there. --HG-- branch : v4l
2009-12-01Fork failure messages shouldn't be debug-only.Darren Salt
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-11-08Fix playback of HTTP URLs with escaped characters (terminate the string).Julian Scheel
2009-10-21Fixed a bug which prevented "dvb://" working with the default configuration.Darren Salt
2009-10-13#include guards and __attribute__ fixupsCarlo Bramini
2009-09-28RTSP debug build fixNicos Gollan
2009-08-26Add a user agent & protocol hack to allow viewing of Apple film trailers.Darren Salt