summaryrefslogtreecommitdiff
path: root/src/demuxers
AgeCommit message (Collapse)Author
2008-01-12Don't send BUF_FLAG_FRAME_START twice per frame, otherwise the ffmpeg plugin ↵Thibaut Mattern
skips the first part of the frame. Fixed wmv playback with ffmpeg.
2007-04-13Use the stream's audio_fifo as it hasn't been reported on the demuxer's ↵Diego 'Flameeyes' Pettenò
instance yet.
2007-04-10Replace the duplicated meFOURCC macro with ME_FOURCC that is declared in ↵Diego 'Flameeyes' Pettenò
bswap.h already. (transplanted from a7820d16324dbc6fd6b35481a78ff532f59ebe71) --HG-- extra : transplant_source : %A7%82%0D%162M%BCo%D6%B3T%81%A7%8F%F52%F5%9E%BEq
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-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-04-02Assume that the audio stream is AC3 on PMTs with ID 0x6a, rather than doing ↵Diego 'Flameeyes' Pettenò
extra checks. If there are cases where the stream is not AC3, it would be nicer to blacklist them, rather than whitelist the cases where it's correct. Patch by Julian Scheel. CVS patchset: 8788 CVS date: 2007/04/02 10:46:08
2007-04-02Rename no_spu_tracks to spu_tracks_count and MAX_NO_SPU_TRACKS to ↵Diego 'Flameeyes' Pettenò
MAX_SPU_TRACKS. Beside the fact that a MAX value is, well, always for the max number of tracks, the abbrevation "number" -> "no" is ambiguous as one could read it as "there are no spu tracks". CVS patchset: 8787 CVS date: 2007/04/02 10:13:02
2007-04-02Remove extraneous debug printf().Diego 'Flameeyes' Pettenò
CVS patchset: 8786 CVS date: 2007/04/02 09:51:53
2007-04-01Support multiple audio PID in MPEG TS. Patch by Julian Scheel (slightly ↵Diego 'Flameeyes' Pettenò
modified). CVS patchset: 8784 CVS date: 2007/04/01 22:49:07
2007-03-29More reordering to reduce padding.Diego 'Flameeyes' Pettenò
CVS patchset: 8773 CVS date: 2007/03/29 19:38:51
2007-03-29Reorder fields and make use of a bitmask for boolean flags.Diego 'Flameeyes' Pettenò
CVS patchset: 8772 CVS date: 2007/03/29 19:24:18
2007-03-29Reorder a few fields to, well, fill some holes.Diego 'Flameeyes' Pettenò
CVS patchset: 8771 CVS date: 2007/03/29 19:07:00
2007-03-29A little more reodering, and convert a few more fields to 1-bit flags.Diego 'Flameeyes' Pettenò
CVS patchset: 8762 CVS date: 2007/03/29 17:11:36
2007-03-29Reorder fields to remove a 4+4 bytes holes.Diego 'Flameeyes' Pettenò
CVS patchset: 8761 CVS date: 2007/03/29 17:03:06
2007-03-29Remove unused bytes_per_sec attribute on demux_ra_t. Move block_align and ↵Diego 'Flameeyes' Pettenò
make seek_flag a 1-bit field. This reduces as much as possible the padding. Note that block_align should remain on the same cacheline as the fifo pointers, as it's used at every chunk, while the rest of the fields are used only when seeking. CVS patchset: 8760 CVS date: 2007/03/29 17:00:32
2007-03-29Move streaminfo at the end of the structure to avoid padding.Diego 'Flameeyes' Pettenò
CVS patchset: 8759 CVS date: 2007/03/29 16:52:23
2007-03-29Reorder demux_tta_t structure so that all the important pointers and ↵Diego 'Flameeyes' Pettenò
variables fall into the same cacheline, while the header can simply remain on a different one, as it's needed only at the begin of the encoding. CVS patchset: 8758 CVS date: 2007/03/29 16:46:23
2007-03-29Disable logging that I've left enabled by mistake.Diego 'Flameeyes' Pettenò
CVS patchset: 8757 CVS date: 2007/03/29 16:32:12
2007-03-29Bitrate has to be 32-bit, or it overruns.Diego 'Flameeyes' Pettenò
CVS patchset: 8756 CVS date: 2007/03/29 16:21:48
2007-03-29Code cleanup: don't export all the bits read in the header to the whole ↵Diego 'Flameeyes' Pettenò
plugin, only a subset of the information is needed, so hide the rest in an anonymous structure inside the parsing function. This reduces the header structure size to 24 rather than 40 (of the version already reduced by using bitmasks) and allows it to stay in a single cacheline. Also, don't consider those flags that we don't use; leave the code in place so that if they need to be parsed in the future they can, but under #if 0 so that it's not compiled. Move the tables for mp3's magic constants inside the parsing function, to hide them from the global namespace, and resize them to use uint16_t rather than int. Use memcpy rather than copying the bytes one by one for the xing header. CVS patchset: 8755 CVS date: 2007/03/29 16:01:30
2007-03-26More bitmasks, this might be interesting, as it reduces the size quite a ↵Diego 'Flameeyes' Pettenò
bit, padding or no padding. CVS patchset: 8754 CVS date: 2007/03/26 21:52:12
2007-03-26Optimise the demux_mpeg_pes_t structure a bit, instead of using two int32_t ↵Diego 'Flameeyes' Pettenò
as boolean, and one int for just two LSBs, use a 1/1/2 bitmask, saves 11 bytes of memory (and probably also cpu instructions as there is almost no arithmetic done with it, but just logic that can be easily used bitwise. CVS patchset: 8753 CVS date: 2007/03/26 21:18:52
2007-03-26Add support for H.264 video stream in PES packets. Patch by Reinhard Nissl.Diego 'Flameeyes' Pettenò
CVS patchset: 8752 CVS date: 2007/03/26 21:06:32
2007-03-24Make sure that the big tables are both static and const, so that they don't ↵Diego 'Flameeyes' Pettenò
get loaded into shared memory for copy-on-write. CVS patchset: 8745 CVS date: 2007/03/24 03:14:15
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-19Cleanup block-based support in AC3 and DTS demuxers. Original patch by ↵Diego 'Flameeyes' Pettenò
Matthias Kretz. CVS patchset: 8713 CVS date: 2007/03/19 16:42:32
2007-03-17Use memcmp to check for the WAV signature; use xine_xmalloc rather than ↵Diego 'Flameeyes' Pettenò
simply malloc. CVS patchset: 8708 CVS date: 2007/03/17 20:57:04
2007-03-17Simplfiy the Makefile.am, set AM_LDFLAGS rather than repeating it all over, ↵Diego 'Flameeyes' Pettenò
use -Wl,-z,defs if supported, pass libraries' CFLAGS variables only to the relevant demuxers, correctly pass AM_CFLAGS (VISIBILITY_FLAG) to the demuxers that also pass extra CFLAGS. CVS patchset: 8702 CVS date: 2007/03/17 15:17:24
2007-03-17When parsing flv metadata, do not assume that keywords are zero-terminated andClaudio Ciccani
compare the keyword's length too. CVS patchset: 8701 CVS date: 2007/03/17 11:29:43
2007-03-17Do not send duration extra info when framerate is not known.Claudio Ciccani
CVS patchset: 8700 CVS date: 2007/03/17 09:17:19
2007-03-12Allow DTS audio tracks in Matroska files. Sample reported by Stefan Monov.Diego 'Flameeyes' Pettenò
CVS patchset: 8663 CVS date: 2007/03/12 16:27:21
2007-03-09Test presence of alloca.h and include it if present; suggested by a patch ↵Diego 'Flameeyes' Pettenò
from Albert Lee. The check is needed to work on FreeBSD. CVS patchset: 8644 CVS date: 2007/03/09 23:18:19
2007-03-03Reduce priority of aac demuxer, so that it doesn't crash when playing online ↵Diego 'Flameeyes' Pettenò
streams that are mp3s (as well as other nasty things that happened before). CVS patchset: 8638 CVS date: 2007/03/03 02:06:09
2007-03-03Add two extra functions (inline as they are just a return statement) that ↵Diego 'Flameeyes' Pettenò
checks if a preamble is of an ID3v2 tag, and that calculate the size of the tag (to avoid repeating the same code over and over and over; the size of the shared object is reduced. Also make demux_flac use the id3.c functions to parse the eventual ID3 header. CVS patchset: 8637 CVS date: 2007/03/03 01:41:16
2007-03-03Add a function to parse a generic ID3v2 tag, and make both demux_aac and ↵Diego 'Flameeyes' Pettenò
demux_mpgaudio use it without repeating the same code. CVS patchset: 8636 CVS date: 2007/03/03 00:58:52
2007-03-03Instead of blindly ignoring the ID3v2 tags, try to parse them. The switch ↵Diego 'Flameeyes' Pettenò
block is repetitive as almost the same is implemented in demux_mpgaudio, so I'll work on that now. CVS patchset: 8635 CVS date: 2007/03/03 00:33:51
2007-03-03Use LOG_MODULE in the log messages, so that during copy and paste I don't ↵Diego 'Flameeyes' Pettenò
end up leaving demux_mpgaudio in demux_flac or demux_aac. CVS patchset: 8634 CVS date: 2007/03/03 00:02:30
2007-03-02Simplify a lot the code for ID3v2 skip.Diego 'Flameeyes' Pettenò
CVS patchset: 8633 CVS date: 2007/03/02 23:46:29
2007-03-02Fixed content type detection for AAC (seekable) streams with ID3v2 tags ↵Diego 'Flameeyes' Pettenò
prefixed clobbering the preview buffer, by skipping over the tag. CVS patchset: 8632 CVS date: 2007/03/02 20:07:33
2007-02-25Remove unused variable.Diego 'Flameeyes' Pettenò
CVS patchset: 8628 CVS date: 2007/02/25 18:04:57
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-02-03Broken MIME type.Darren Salt
CVS patchset: 8588 CVS date: 2007/02/03 23:56:32
2007-01-24Remove demux_wavpack.c from here, as it's being moved in a different directory.Diego 'Flameeyes' Pettenò
CVS patchset: 8550 CVS date: 2007/01/24 04:49:41
2007-01-23- Don't try to print "<title> / <chapter>" if there's no title, avoidBastien Nocera
things like "(null) / Chapter 1" when the title isn't available (and a possible crasher on non-Linux platforms) CVS patchset: 8547 CVS date: 2007/01/23 23:20:23
2007-01-23Correctly report the current progress of the song, and remove this->length ↵Diego 'Flameeyes' Pettenò
attribute, as it's just used once. CVS patchset: 8545 CVS date: 2007/01/23 15:42:15
2007-01-23Return the correct length for the stream.Diego 'Flameeyes' Pettenò
CVS patchset: 8544 CVS date: 2007/01/23 15:09:39
2007-01-23Set audio channels, samplerate and bits per sample properties.Diego 'Flameeyes' Pettenò
CVS patchset: 8543 CVS date: 2007/01/23 15:05:58