summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-06-09Remove unused variable.Diego 'Flameeyes' Pettenò
2007-06-09Remove unused and orphan label and code.Diego 'Flameeyes' Pettenò
2007-06-09Remove unused variable.Diego 'Flameeyes' Pettenò
2007-06-09Convert all input plugins to use void * as type for the buf parameter of ↵Diego 'Flameeyes' Pettenò
read() function, and declare a new buf variable in the function as needed.
2007-06-09Make the read() function of input plugins be declared with void pointer as ↵Diego 'Flameeyes' Pettenò
buf parameter, so that any kind of variable can be passed through it.
2007-06-08Enable the wavpack plugin.Darren Salt
2007-06-08Added $(LTLIBINTL) to several targetsBen Taylor
2007-06-08Properly read metadata for the file, the structure is more complex than it ↵Diego 'Flameeyes' Pettenò
was previously implemented.
2007-06-08Fix metadata parser.Diego 'Flameeyes' Pettenò
2007-06-08Mark some stuff constant, reduce scope of a few other variables.Diego 'Flameeyes' Pettenò
2007-06-08More conversion to switches.Diego 'Flameeyes' Pettenò
2007-06-08More switches in parse_reference_atom.Diego 'Flameeyes' Pettenò
2007-06-08Use a switch statement even for the parsing of trak atom.Diego 'Flameeyes' Pettenò
2007-06-08Merge 1.2.Diego 'Flameeyes' Pettenò
2007-06-08Update parse_meta_atom to use a switch case rather than a series of if. By ↵Diego 'Flameeyes' Pettenò
the way, the code is totally broken and does not work as intended.
2007-06-08Add two missing alloca.h includes and clean up one other.Darren Salt
2007-06-08Protect attribute declarations against, e.g., random printf redefinitions.Darren Salt
2007-06-08Merge from 1.1.Darren Salt
2007-06-08Fix build issues on systems which need our internal asprintf.Darren Salt
config.h is now include/configure.h and no longer #includes os_internals.h. A new file, include/config.h, #includes both; this breaks a #include loop. Other files are updated accordingly.
2007-06-07Signature for 1.1.7.Darren Salt
2007-06-07Release tag for 1.1.7.Darren Salt
2007-06-071.1.7.xine-lib-1_1_7-release1.1.7Darren Salt
2007-06-06Fix RealPlayer codec detection and a nearby logging build failure. Both typos.Darren Salt
2007-06-06Don't return integer, the function is expected to return a pointer.Diego 'Flameeyes' Pettenò
2007-06-06Remove aRTs output plugin.Diego 'Flameeyes' Pettenò
ALSA's DMix can allow to run both xine and aRTs at the same time for Linux, and if other operating systems lacks a proper software mixing facility you can consider alternative daemons. Note: aRTs will not be present in KDE 4.
2007-06-06Clean up .tar.bz2 as well as .tar.gz.Darren Salt
2007-06-06Changelog entry for the fb colour conversion crash fix.Darren Salt
2007-06-06[PATCH] video_out_fb crashSteve Freeland
I discovered some problems with the framebuffer output driver. The first problem I had was a segfault when trying to play a 480x360 clip on a 640x480 display. I traced it to the yuv420_rgb16() color conversion function, which was overrunning the input buffer (the "y" part of the image). The reason was that it was being called downstack from fb_frame_proc_slice(), multiple times for each 16-pixel high horizontal slice of the image. When it got to the last slice, only 8 pixels were left to the bottom but it still tried to process a 16-pixel high slice. Nosing around a bit, I compared the configuration of the color converter as used by the fb driver to the xshm driver and found some oddities: 1) The color converter was configured with a "source height" of 16 pixels no matter what the size of the image, and a "dest height" based on what was referred to within video_out_fb.c as a "stripe" -- essentially an input slice scaled up or down as required by the output size. 2) Apparently to prevent the above from causing problems, the position in the output buffer was managed by special code -- see the "stripe_incr" variable. 3) The xshm driver calls yuv2rgb_next_slice() with a NULL argument at the beginning of each frame to allow the color converter to reset its tracking of the slice-by-slice progress through the image; the fb driver does not. I'm not sure exactly why it was done that way, but my best guess would be that whoever coded it didn't know about the need to call yuv2rgb_next_slice() with a NULL argument, and the rest was built up to get it to mostly work without that. The attached patch changes the behaviour to match that of the xshm driver, and also removes the reset_dest_pointers() function, replacing its single invocation with one to fb_frame_field(), which is identical after removing the "stripe" management. It fixed my crash. Can anyone see if I've misunderstood what was going on? If not, it should probably be applied to the official version.
2007-06-05Silence an ignored error when running "debuild clean".Darren Salt
2007-06-05Disable aRTs output plugin by default, it's deprecated and will be removed ↵Diego 'Flameeyes' Pettenò
in 1.2 series.
2007-06-05Use XINE_PACKED rather than __attribute__((__packed__)).Diego 'Flameeyes' Pettenò
2007-06-04Changelog entry for the unplug codeMatthias Kretz
2007-06-04fallback to none output when the device is unpluggedMatthias Kretz
2007-06-04handle unplugged devices in audio_alsa_out (return -1) and in audio_out ↵Matthias Kretz
close the driver on a return value <0
2007-06-04Merge Matthias Kretz's changes.Darren Salt
2007-06-04Merge from 1.1.Darren Salt
2007-06-04fallback to none output when the device is unpluggedMatthias Kretz
2007-06-04handle unplugged devices in audio_alsa_out (return -1) and in audio_out ↵Matthias Kretz
close the driver on a return value <0
2007-06-04pending a real fix --enable-debug for libxine does not enable debugging ↵Matthias Kretz
options for ffmpeg for now
2007-06-04Mark audiocs_rates static and const.Diego 'Flameeyes' Pettenò
2007-06-04Remove redundant nested #ifdef __svr4__.Diego 'Flameeyes' Pettenò
2007-06-04Update the note about which audio drivers are available.Diego 'Flameeyes' Pettenò
2007-06-04Note that raw devices and 2.6 kernels don't get along well.Diego 'Flameeyes' Pettenò
2007-06-04Use the ™ symbol rather than the &trade; entity.Diego 'Flameeyes' Pettenò
2007-06-03Update libmpcdec code to 1.2.6 version.Diego 'Flameeyes' Pettenò
2007-06-03Changelog entry for the MPEG PES change.Darren Salt
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-03[PATCH] remove uneeded %s from it translationRiccardo Magliocchetti
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).