summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-06-04Mark audiocs_rates static and const.Diego 'Flameeyes' Pettenò
2007-06-04Remove redundant nested #ifdef __svr4__.Diego 'Flameeyes' Pettenò
2007-06-03[patch] Fix video pid misdetectionAndrew de Quincey
Hi, the next bug that has been annoying me is as follows. I have some streams recorded from BBC4 on UK DVB-T. BBC4 only actually starts transmitting at about 7pm; prior to that there is a static picture saying it is not playing just now. With these streams and xine, I would get audio, but no picture. Looking at the PMT table during the static picture, all the streams have type 0x0b. However there IS a video stream in there, but there are also several streams of binary data. Xine's current video PID auto-detection code was locking on to one of these streams of binary data because it contained the magic sequence 00 00 01 e0 at one of the PUS. *HOWEVER* it is NOT a PES stream; this sequence is just an accident. The other problem is that xine can only handle one video stream; so once it was misdetected once, it was stuck at that PID. The attached patch changes the corrupted_pes flag into a counter. If a video stream has more than CORRUPT_PES_THRESHOLD corrupt PES packets in a row, then it is deselected as the video stream, and auto-detection is kicked off again. Auto-detection will now also ignore any streams seen previously which have a nonzero corrupted_pes count. This works very well; I can now see the video fine. One possible issue might be that if you get a lot of corrupt PES in a stream which really IS the video stream, it will be deselected. However, this is not actually a problem: once the corruption goes away, the corrupted_pes counter will be reset to 0, and the stream will once again be autodetected as the video stream (and playback will continue from there).
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-06-02Merge from 1.1; handle Debian packaging fallout from the merge.Darren Salt
--HG-- rename : debian/libxine1-doc.docs => debian/libxine2-doc.docs rename : debian/libxine1-doc.manpages => debian/libxine2-doc.manpages
2007-06-01Remove cachedir_entry variable that is now unused.Diego 'Flameeyes' Pettenò
2007-06-01Collapse the Ogg demuxer, and the Theora, Vorbis and Speex decoders in the ↵Diego 'Flameeyes' Pettenò
same 'xiph' plugin. As the three decoders requires Ogg support, and requires an Ogg demuxer to play, enabling any one of them will then enable the ogg demuxer. The Ogg demuxer, on its own, needs to know which of the three formats are enabled, or it will not be able to properly decode them. With this change, only one plugin will need to load and know about Xiph formats and libraries. --HG-- rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
2007-06-01Port Simon Farnsworth's xv deinterlacing fix to xcbxv.Darren Salt
2007-06-01Prioritise the musepack demuxer over mpgaudio, as sometimes the latter can ↵Bram Verweij
misfire and report a good file as unplayable.
2007-05-31Merge.Diego 'Flameeyes' Pettenò
2007-05-31Don't include the local copy of frame.h and synth.h when building with ↵Diego 'Flameeyes' Pettenò
external libmad.
2007-05-31Move gsm610 sources inside contrib/.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libxineadec/gsm610/Makefile.am => contrib/gsm610/Makefile.am rename : src/libxineadec/gsm610/add.c => contrib/gsm610/add.c rename : src/libxineadec/gsm610/decode.c => contrib/gsm610/decode.c rename : src/libxineadec/gsm610/gsm.h => contrib/gsm610/gsm.h rename : src/libxineadec/gsm610/gsm_config.h => contrib/gsm610/gsm_config.h rename : src/libxineadec/gsm610/gsm_create.c => contrib/gsm610/gsm_create.c rename : src/libxineadec/gsm610/gsm_decode.c => contrib/gsm610/gsm_decode.c rename : src/libxineadec/gsm610/gsm_destroy.c => contrib/gsm610/gsm_destroy.c rename : src/libxineadec/gsm610/long_term.c => contrib/gsm610/long_term.c rename : src/libxineadec/gsm610/lpc.c => contrib/gsm610/lpc.c rename : src/libxineadec/gsm610/private.h => contrib/gsm610/private.h rename : src/libxineadec/gsm610/proto.h => contrib/gsm610/proto.h rename : src/libxineadec/gsm610/rpe.c => contrib/gsm610/rpe.c rename : src/libxineadec/gsm610/short_term.c => contrib/gsm610/short_term.c rename : src/libxineadec/gsm610/table.c => contrib/gsm610/table.c rename : src/libxineadec/gsm610/unproto.h => contrib/gsm610/unproto.h
2007-05-31Move modplug demuxing on its own plugin.Diego 'Flameeyes' Pettenò
This way binary distributions can make it optional, as it requires quite a bit of CPU time during initialisation, even for audio files that nothing have to do with modplug.
2007-05-31Patch: fix parsing qt/mov embedded referncesClaudio Ciccani
The attached patch fixes a problem with embedded references in recent versions of quicktime's movie formats. Apparently there is an additional atom (RMRA) before the RMDA atom: it works like a container for all subsequent atoms, so it can be safely skipped. You can test yourself what I'm saying by watching some trailers at apple.com (http://www.apple.com/trailers). -- Regards, Claudio Ciccani klan@users.sf.net http://directfb.org http://sf.net/projects/php-directfb
2007-05-31Return -1 in case the mode is not one of the accepted ones.Diego 'Flameeyes' Pettenò
2007-05-31Rename the flac combined plugin sources so that they are listed together in ↵Diego 'Flameeyes' Pettenò
a by-name listing. --HG-- rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c
2007-05-31Rename the wavpack combined plugin sources so that their are listed together ↵Diego 'Flameeyes' Pettenò
in a by-name listing. --HG-- rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c
2007-05-31Use a listing for _LTLIBRARIES similar to other Makefiles.Diego 'Flameeyes' Pettenò
2007-05-31Create a single NSF plugin that includes both the demuxer (previously in the ↵Diego 'Flameeyes' Pettenò
audio group) and the decoder. One of the two plugins without the other would be useless. --HG-- rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
2007-05-31Move nosefart sources inside contrib/ directory.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libxineadec/nosefart/Makefile.am => contrib/nosefart/Makefile.am rename : src/libxineadec/nosefart/diff_to_nosefart_cvs.patch => contrib/nosefart/diff_to_nosefart_cvs.patch rename : src/libxineadec/nosefart/dis6502.c => contrib/nosefart/dis6502.c rename : src/libxineadec/nosefart/dis6502.h => contrib/nosefart/dis6502.h rename : src/libxineadec/nosefart/fds_snd.c => contrib/nosefart/fds_snd.c rename : src/libxineadec/nosefart/fds_snd.h => contrib/nosefart/fds_snd.h rename : src/libxineadec/nosefart/fmopl.c => contrib/nosefart/fmopl.c rename : src/libxineadec/nosefart/fmopl.h => contrib/nosefart/fmopl.h rename : src/libxineadec/nosefart/log.c => contrib/nosefart/log.c rename : src/libxineadec/nosefart/log.h => contrib/nosefart/log.h rename : src/libxineadec/nosefart/memguard.c => contrib/nosefart/memguard.c rename : src/libxineadec/nosefart/memguard.h => contrib/nosefart/memguard.h rename : src/libxineadec/nosefart/mmc5_snd.c => contrib/nosefart/mmc5_snd.c rename : src/libxineadec/nosefart/mmc5_snd.h => contrib/nosefart/mmc5_snd.h rename : src/libxineadec/nosefart/nes6502.c => contrib/nosefart/nes6502.c rename : src/libxineadec/nosefart/nes6502.h => contrib/nosefart/nes6502.h rename : src/libxineadec/nosefart/nes_apu.c => contrib/nosefart/nes_apu.c rename : src/libxineadec/nosefart/nes_apu.h => contrib/nosefart/nes_apu.h rename : src/libxineadec/nosefart/nsf.c => contrib/nosefart/nsf.c rename : src/libxineadec/nosefart/nsf.h => contrib/nosefart/nsf.h rename : src/libxineadec/nosefart/osd.h => contrib/nosefart/osd.h rename : src/libxineadec/nosefart/types.h => contrib/nosefart/types.h rename : src/libxineadec/nosefart/version.h => contrib/nosefart/version.h rename : src/libxineadec/nosefart/vrc7_snd.c => contrib/nosefart/vrc7_snd.c rename : src/libxineadec/nosefart/vrc7_snd.h => contrib/nosefart/vrc7_snd.h rename : src/libxineadec/nosefart/vrcvisnd.c => contrib/nosefart/vrcvisnd.c rename : src/libxineadec/nosefart/vrcvisnd.h => contrib/nosefart/vrcvisnd.h
2007-05-31Merge -newbuild.Darren Salt
2007-05-31Link libiso9660 into the vcd plugin. Fixes a run-time symbol lookup failure.Darren Salt
2007-05-30Merge from 1.1.Darren Salt
2007-05-30Include the WWW-Authenticate header content in the "authentication needed" msg.Darren Salt
2007-05-29Actually id3v2_tagsize was used by demux_mpgaudio and demux_aac; but as it ↵Diego 'Flameeyes' Pettenò
makes little sense, move BE_*_synchsafe functions from id3.c to id3.h and declare them inline, then BE_32_synchsafe can be replaced to id3v2_tagsize as drop in.
2007-05-29Use the integer versions of Speex decoding functions, this avoids an ↵Diego 'Flameeyes' Pettenò
iteration over the decoded frames to transform them to integer, and also avoids an improper saturation.
2007-05-29Fix typo reporting ID3v2.4 tags as ID3v2.3.Diego 'Flameeyes' Pettenò
2007-05-29Print the invalid header flags when found.Diego 'Flameeyes' Pettenò
2007-05-29Add a comment about id3v2_istag function and remove id3v2_tagsize function ↵Diego 'Flameeyes' Pettenò
(was used by demux_flac only).
2007-05-29Correctly parse ID3 tags, and avoid skipping over them manually. This ↵Diego 'Flameeyes' Pettenò
reduces again the amount of troublesome FLAC files.
2007-05-28Replaced the hardcoded opcodes with "rdtsc" notation, make the rdtsc() ↵Stas Sergeev
function static.
2007-05-28Add an x86_64-specific version of rdtsc().Stas Sergeev
2007-05-28Merge from 1.2 main branch.Darren Salt
2007-05-28Merge from 1.1.Darren Salt
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-26Shuffle the HTTP input plugin's internal data slightly.Darren Salt
2007-05-25Add a message code to distinguish between HTTP response codes 401 and 403.Darren Salt
This should allow for front ends to do things such as prompt for authentication.
2007-05-19Optimization flag fixes for building with --enable-debugMatt Messier
2007-05-19Input plugins: Enable vcd, but disable vcdo by defaultMatt Messier
except on FreeBSD, Linux, and Solaris. There's no explicit option to enable or disable vcdo, and it's built if the platform supports it and vcd is enabled.
2007-05-18Add summary info for vdr; build plugins if DVB is enabled (no point otherwise).Darren Salt
Valid so long as remote vdr support is not present (a patch exists for this).
2007-05-18Merge from 1.2 main branch, except for summary info related to the vdr plugins.Darren Salt
2007-05-17Clean up the vdr plugins' makefile; mark the plugin info as EXPORTED.Darren Salt
2007-05-17Add missing LIBCDIO_LIBS to the list of linked librariesMatt Messier
2007-05-16Merge changes from main 1.2 repositoryMatt Messier
2007-05-17Link the vdr input plugin with pthread.Darren Salt
2007-05-17Merge from 1.2 main branch.Darren Salt
2007-05-17Merge from 1.1.Darren Salt
2007-05-17Convert character constants to hex values for redability in UTF-8 terminals.Darren Salt
Add and adjust comments appropriately.
2007-05-17Convert comments (and the occasional string where it doesn't matter) to UTF-8.Darren Salt