summaryrefslogtreecommitdiff
path: root/src/input
AgeCommit message (Collapse)Author
2007-06-09Use $(LTLIBICONV) instead of @LIBICONV@.Darren Salt
2007-06-09Add $(LTLIBINTL) wherever objdump -R shows a dependency on gettext functions.Darren Salt
Some plugins may have been missed due to them not being built here.
2007-06-03Add a comment & changelog entry for the mmap bug fix.Darren Salt
2007-06-03[patch] Nasty mmap problem with huge filesAndrew de Quincey
Hi, I've been tracking down a very odd bug this afternoon. As it turns out it is caused by enabling xine's mmap() support for the input_file.c. I'm running 32 bit linux 2.6.21. The file in question is 0x10e4da000 bytes long (you can probably guess what kind of bug this is by now :) Anyway, the issue stems from the definition of mmap(): void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); compare this to the definition of st_size in struct stat: off_t st_size; /* total size, in bytes */ On my machine (in input_file.c) sizeof(size_t) ==4, whilst sizeof(off_t) == 8. However the compiler doesn't generate a warning when the following is done in xine's code: if ( (this->mmap_base = mmap(NULL, sbuf.st_size, PROT_READ, MAP_SHARED, this->fh, 0)) != (void*)-1 So it silently truncates the upper part of the length. Obviously you cannot mmap() a file that large into (32 bit) memory anyway, but as it turns out, mmapping() 0xe4da000 succeeds, which causes... problems. The patch (against xine-lib 1.1.6) does two things: * Check that the length will not be truncated, while still allowing for mmap()s of large files under 64 bit OSes. * A correctness fix: if mmap() fails, this->mmap_base will be set to 0xffffffff. Later on when the file is closed, this means it was attempting to do munmap(0xffffffff).
2007-05-26Re: [xine-devel] vcd plugin - sigsegv in 1.1.6 and 1.1(.7)Manfred Tremmel
development branche Am Samstag, 26. Mai 2007 17:48 schrieb Darren Salt: > Could you also try not reverting that and instead applying one or > both of the attached patches? Both playback and eject need to be > tested. You should use the drive's eject button, though there's no > harm in also checking xine-lib's eject code. Ok, here's a modified patch, a combination of your two patches, with a little fix. It works fine here, pressing the vcd button on xine-ui starts playing vcd's directly and when pressing the stop button, I can eject the CD by pressing the eject button on the cd drive. I hope it's ok for you. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
2007-05-17Convert comments (and the occasional string where it doesn't matter) to UTF-8.Darren Salt
2007-05-16v4l: replace faulty use of xprintf with lprintf.Simon Farnsworth
The current input_v4l in xine-lib 1.1.6 is inherently buggy (it will deference an invalid pointer in extract_mrl if the MRL contains a V4L input name or frequency).
2007-05-02[PATCH] Remove packet count from demux_ts, to remove a long delaySimon Farnsworth
The attached patch applies after my logging patches (I can regenerate if needed). demux_ts attempted to read packets from the input 200 times before giving up. When playing a local file, this is harmless, as it will hit EOF 200 times; however, input_dvb waits 5 seconds for packets on each call to read, resulting in a 1000 second delay if tuning fails. Remove the counting of input packets, and add a comment to read() in input_plugin.h, to indicate that we expect inputs to try and return some data when read() is called. This fixes the delay, and makes it clear to future maintainers that they shouldn't expect to loop like this. -- Simon Farnsworth
2007-05-02[PATCH] Enhance logging in demux_ts, input_dvb and video_out_xvSimon Farnsworth
The three attached patches (against 1.1.6) each increase the amount of debug logging in their respective components. We've found the extra logging useful when trying to track down faults. I've split this into three patches to make it easier to apply only some of our changes. -- Comments welcome, Simon Farnsworth
2007-05-13Correct the dvba:// MRL / tuner mismatch message.Darren Salt
2007-05-11Throw a XINE_MSG_PERMISSION_ERROR error when HTTP returns a 401 statushadess@cookie.hadess.net
Patch from Dmitri Fedortchenko <dimo <at> angelhill.net>, required for upstream Totem bug: http://bugzilla.gnome.org/show_bug.cgi?id=418316
2007-05-04Fix building of CDDA input on FreeBSD, the NetBSD patch broke it as ↵Diego 'Flameeyes' Pettenò
sys/scsiio.h is not present on FreeBSD.
2007-05-02Fix proxy usage when the hostnames cannot be resolved.Diego 'Flameeyes' Pettenò
Thanks to Jeff Mitchell for reporting and testing the fix. This change reverses the meaning of _x_use_proxy() function to be the one expected by human logic (1 -> use proxy, 0 -> don't use proxy), this way a failure in hostname resolution would result in the proxy being used rather than discarded. Basically now you can use xine behind a proxy when you can't get out to the DNS servers (or where the DNS servers don't resolve Internet hosts that you are not allowed to connect to).
2007-04-14Oops. Silly mistake with fstat.Darren Salt
2007-04-14Don't read channels.conf if it isn't a normal file or a link to a normal file.Darren Salt
2007-04-14Reworked the channels.conf file handling in the DVB plugin.Darren Salt
Previously, with junk content, the plugin could potentially consume lots of memory (possibly causing a local DoS). Also, a few small memory leaks have been eliminated.
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-07Use CC_ATTRIBUTE_FORMAT; replace __attribute((format(printf, ...))) accordingly.Darren Salt
2007-04-06Use xineplug_LTLIBRARIES wherever possible.Diego 'Flameeyes' Pettenò
2007-04-04Cleanup check for WIN32, use #elif rather than #else/#ifdef.Pascal S. de Kloe
2007-04-04Check for sys/dvdio.h, and use that if found, rather than having a check for ↵Diego 'Flameeyes' Pettenò
the BSDs. Thanks to Pascal S. de Kloe for pointing at this.
2007-04-04When EOVERFLOW is not defined, use EINVAL instead.Pascal S. de Kloe
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-03-29Reorder fields to fill hole.Diego 'Flameeyes' Pettenò
CVS patchset: 8774 CVS date: 2007/03/29 19:45:33
2007-03-23Fix closing the vcd device if the disc is not a video CD.Darren Salt
libvcdinfo 0.7.23 closes the device in this case whereas the built-in version did not, and this was causing double frees due to my previous fix which addressed only the built-in version (which needs to be either updated to 0.7.23 or dropped). CVS patchset: 8743 CVS date: 2007/03/23 21:47:31
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
2007-03-22Instead of rewriting the install and uninstall rules for headers, simply ↵Diego 'Flameeyes' Pettenò
change their class to xineinclude, and set xineincludedir in Makefile.common. CVS patchset: 8737 CVS date: 2007/03/22 17:37:17
2007-03-20Add B2N macros for OSX. Patch by Martin Aumueller. Also add to the diff from ↵Diego 'Flameeyes' Pettenò
CVS as needs to be submitted. CVS patchset: 8727 CVS date: 2007/03/20 00:35:29
2007-03-17Avoid a possible floating-point exception when starting stream playback.Darren Salt
CVS patchset: 8707 CVS date: 2007/03/17 19:15:58
2007-03-17Some servers does not send a human-readable http status description, for ↵Diego 'Flameeyes' Pettenò
those, check only the status code. This fixes WikipediaWeekly podcasts for instance. CVS patchset: 8706 CVS date: 2007/03/17 16:47:16
2007-03-16Move netinet/in.h include down the block; this is currently patched by ↵Diego 'Flameeyes' Pettenò
FreeBSD ports, and makes no functional change of sort on Linux. CVS patchset: 8675 CVS date: 2007/03/16 16:32:58
2007-03-10When hstrerror() is found in libresolv, link it where it is used. Patch by ↵Diego 'Flameeyes' Pettenò
Albert Lee. CVS patchset: 8660 CVS date: 2007/03/10 00:57:30
2007-03-10Add support for NetBSD to src/input/input_cdda.c, patch by Sergey Svishchev.Diego 'Flameeyes' Pettenò
CVS patchset: 8657 CVS date: 2007/03/10 00:48:59
2007-02-25Remove unused code.Diego 'Flameeyes' Pettenò
CVS patchset: 8627 CVS date: 2007/02/25 18:04:08
2007-02-21Declare vcdinfo_get_seg_resolution function in vcdplayer.c where it is used, ↵Diego 'Flameeyes' Pettenò
but note that it's not exported by libvcd so it is unsafe to use. CVS patchset: 8619 CVS date: 2007/02/21 23:17:14
2007-02-20const++Diego 'Flameeyes' Pettenò
CVS patchset: 8616 CVS date: 2007/02/20 01:04:07
2007-02-20Mark a fwe arrays static and avoid casts that are not needed.Diego 'Flameeyes' Pettenò
CVS patchset: 8612 CVS date: 2007/02/20 00:51:39
2007-02-20Fix a lot of format warnings in lprintf calls (mostly %ldd -> %"PRId64").Diego 'Flameeyes' Pettenò
CVS patchset: 8608 CVS date: 2007/02/20 00:34:55
2007-02-08Remove any possibility of strcpy/sprintf overflows wrt front ends requestingDarren Salt
language & subtitle strings (given a buffer of >= XINE_LANG_MAX bytes). Also fixes an off-by-one buffer termination in the TS code. (Note: compile-tested only.) CVS patchset: 8592 CVS date: 2007/02/08 02:40:22
2007-01-26Don't set get_blocksize to NULL, or the Samba access plugin will _never_ ↵Diego 'Flameeyes' Pettenò
work. Thanks Timothy Redaelli for helping me diagnose it. CVS patchset: 8564 CVS date: 2007/01/26 17:06:05
2007-01-19Fix possible strict aliasing breakage.Diego 'Flameeyes' Pettenò
CVS patchset: 8529 CVS date: 2007/01/19 01:25:24
2007-01-19Fix possible strict aliasing breakage.Diego 'Flameeyes' Pettenò
CVS patchset: 8526 CVS date: 2007/01/19 01:16:46
2007-01-19Make get_mrl return a const char * too.Diego 'Flameeyes' Pettenò
CVS patchset: 8524 CVS date: 2007/01/19 01:05:24
2007-01-18Make get_description function return a const char * rather than just a char ↵Diego 'Flameeyes' Pettenò
*, so that 'return "something"' is valid. Note that _()/gettext() returns a char * but statically allocated, that the documentation considers constant. CVS patchset: 8519 CVS date: 2007/01/18 23:02:18
2007-01-11Reconnect to the server just after the first request.Claudio Ciccani
CVS patchset: 8497 CVS date: 2007/01/11 16:20:55
2007-01-09Support setting the start time over MMSH protocol.Claudio Ciccani
CVS patchset: 8494 CVS date: 2007/01/09 20:50:59
2007-01-03Added support for setting the playback start time (same as the RTSP plugin).Claudio Ciccani
Actually this is only implemented for the MMST protocol. CVS patchset: 8484 CVS date: 2007/01/03 15:09:42
2006-12-31Fix typo..Diego 'Flameeyes' Pettenò
CVS patchset: 8480 CVS date: 2006/12/31 12:34:21
2006-12-31Link against libm (missing symbols).Darren Salt
CVS patchset: 8479 CVS date: 2006/12/31 12:17:00