summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2007-07-02Fix demuxing of wavpack files, and avoid crashing with the tags at the end ↵Diego 'Flameeyes' Pettenò
of the file.
2007-06-25Instead of declaring op_size, use sizeof(ogg_packet) directly.Diego 'Flameeyes' Pettenò
2007-06-16Merge from 1.1 branch.Diego 'Flameeyes' Pettenò
2007-06-16Rename the BE/LE/ME macros with a _X_ prefix, so they don't clash with ↵Diego 'Flameeyes' Pettenò
Solaris definitions.
2007-06-15fix possible crash in xcbxv output plugin"Christoph Pfister"
A null pointer dereference happens if reading a xv port attribute (which has been reported as readable) fails. This issue exists for example with proprietary (and a bit buggy ...) ati drivers; nevertheless it shouldn't cause a segmentation fault (the non-xcb version simply stores an unitialised value). This patches solves the issue in a clean way for both branches. Fixes debian bug #428612 :-)
2007-06-14Fix building, missing include path.Albert Lee
xine-lib-specific patch.
2007-06-14Init mpegvideo only once (fixes when MMX and mediaLib are both present).Albert Lee
Applied to FFmpeg tree already.
2007-06-14Init dsputil only once (fixes when MMX and mediaLib are both present).Albert Lee
Applied to FFmpeg tree already.
2007-06-14Include bswap.h too.Diego 'Flameeyes' Pettenò
2007-06-13Don't redefine the BE_16/32 macros.Diego 'Flameeyes' Pettenò
Inspired by a patch by Albert Lee.
2007-06-13Make explanation a constant string (gettext() strings are never freed).Albert Lee
2007-06-13Fix parameter type.Albert Lee
2007-06-13Avoid name collision (don't redefine NOPID).Albert Lee
2007-06-13pgx32/64 need SUNDGA_CFLAGSAlbert Lee
2007-06-13Add printf format attribute.Albert Lee
2007-06-13Avoid name collison (don't redefine TRANSPARENT).Albert Lee
2007-06-13Support Solaris byteorder.h macros.Albert Lee
2007-06-13Fix compiler warning (pointer arithmetic).Albert Lee
2007-06-13Fix leak on vorbis decoder as reported by Sander Jansen.Diego 'Flameeyes' Pettenò
2007-06-10Backport last.fm support to 1.1 branch.Diego 'Flameeyes' Pettenò
2007-06-09Add $(LTLIBINTL) for a few plugins which I'd missed.Darren Salt
2007-06-09Use $(LTLIBICONV) instead of $(LIBICONV) when linking libxine.so.Darren Salt
2007-06-09Use $(LTLIBICONV) instead of @LIBICONV@.Darren Salt
2007-06-09Add $(LTLIBICONV) wherever objdump -R shows a dependency on iconv functions.Darren Salt
Some plugins may have been missed due to them not being built here.
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-08Added $(LTLIBINTL) to several targetsBen Taylor
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-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-06Fix RealPlayer codec detection and a nearby logging build failure. Both typos.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-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-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-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-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-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).