summaryrefslogtreecommitdiff
path: root/src/demuxers
AgeCommit message (Collapse)Author
2008-01-26Fix a few recently-caused compiler warnings.Darren Salt
2008-01-25Fixed parsing of keyframes indices (do not assume a specific order betwen ↵Claudio Ciccani
"times" and "filepositions"). Parse flv script data only once upon send_headers(). Use relative seeking instead of absolute seeking when seek_time-current_time is below 5 seconds. (transplanted from 689daba9823670864eaef213733987196be21acc) --HG-- extra : transplant_source : %3CA%D9%CBuM%14%DAR%F8%89K%EF%13%83%17%9A%F7%AB%8F
2008-01-25Report unofficial mimetypes (x- variants) for the Ogg demuxer too.Diego 'Flameeyes' Pettenò
2008-01-25Advertise proper support for FLAC files.Diego 'Flameeyes' Pettenò
application/x-flac is not reported anywhere. Both file(1) and shared-mime-info report audio/x-flac. Xiph wiki[1] reports audio/flac as being queued for registration. Report both audio/x-flac and audio/flac for compatibility. [1] http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
2008-01-24Fix a possible crash on channel change in the DVB plugin.Darren Salt
Some 0-sized sections were observed in the TS PMT parser. Test setup details: Test channel is Film 4 on Freeview. Test hardware is a Nova-T Stick (older dib7000m variant). Drivers from v4l-dvb hg, id a1c94c4a05f5, with dib7000m_set_frontend() patched to select OUTMODE_HIGH_Z while tuning.
2008-01-23Sanity-check ASF header sizes.Darren Salt
This fixes a crash in the ASF demuxer, caused by the example exploit file given for CVE-2006-1664.
2008-01-21Fixed logging.Thibaut Mattern
2008-01-21Fixed logging.Thibaut Mattern
Replaced a magic number by #define.
2008-01-21Fixed problems introduced by the free bitrate handling when frame sync is lost.Thibaut Mattern
2008-01-20Comment out "#define LOG" again.Darren Salt
2008-01-19Cleanup.Thibaut Mattern
2008-01-19MergeThibaut Mattern
2008-01-19Initial support of free bitrate streams.Thibaut Mattern
2008-01-14Update mimetypes for Annodex and Ogg.Diego 'Flameeyes' Pettenò
2008-01-14Support all the extensions reported by xiph's documentation (plus ogm).Diego 'Flameeyes' Pettenò
2008-01-12Fixed metadata reading when length=0.Thibaut Mattern
Fixed bug id=17.
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