summaryrefslogtreecommitdiffstats
path: root/libmpdemux
Commit message (Collapse)AuthorAgeFilesLines
* demuxer.h: increase input buffer padding to 64 to match FFmpegUoti Urpala2010-03-091-1/+1
| | | | | | FFmpeg increased the amount of padding that must be readable beyond input buffers without SIGSEGV from 8 to 64, and the MPlayer value must be changed accordingly.
* translations: tweak cases that relied on concatenating adjacent stringsUoti Urpala2010-03-078-15/+31
| | | | | | | | Tweak some code parts that used to rely on string literals from translation macros being concatenated with other adjacent string literals. Break up the resulting string into independently translated parts, so that the existing translations for those parts can still be used.
* Restore collapsed whitespace in output messagesUoti Urpala2010-03-071-1/+1
| | | | | | | | | For some reason commit e306174952d42e1cd6cc5efc50ae6bb0410501bc, which replaced translation macro names with the corresponding English strings, also collapsed multiple consecutive space characters into one. Change most of these back. In a couple of cases the amount of whitespace is important for alignment, and for the rest it at least keeps the strings closer to the existing translations.
* demux_mkv: remove incorrect error message about compressionUoti Urpala2010-01-281-1/+1
| | | | | | The demuxer still printed a message about "unknown/unsupported compression algorithm (3)" even though that is now supported and in fact played fine.
* Merge branch 'matroska'Uoti Urpala2010-01-288-1272/+1886
|\
| * demux_mkv: improve compression handlingUoti Urpala2010-01-271-26/+34
| | | | | | | | | | | | | | Add support for compression algorithm 3 (header stripping). Rewrite some of the code related to handling manyfold compression, it was just completely broken (I don't have samples to test whether it actually works now).
| * demux_mkv: use new EBML parser to read all track headersUoti Urpala2010-01-271-227/+135
| |
| * demux_mkv: handle compressed text subtitlesUoti Urpala2010-01-271-3/+6
| | | | | | | | | | | | | | The decompression step wasn't run at all for subtitle types other than vobsub. Fix that. Remove a "!mkv_d->v_skip_to_keyframe" test from the subtitle handling - for properly timed subtitles unnecessary packets do little harm, and the subtitles could stay visible.
| * demux_mkv: don't print errors for 0-size zlib decodingUoti Urpala2010-01-271-0/+4
| | | | | | | | | | | | Allow decoding a 0-sized buffer with zlib algorithm to produce 0-sized output. Fixes spurious errors reported with subtitle tracks marked to use compression for track private data without having any such data.
| * demux_mkv: use new EBML parser to read TrackEncodingsUoti Urpala2010-01-271-151/+67
| |
| * demux_mkv: use new EBML parser to read Video elementUoti Urpala2010-01-271-61/+33
| |
| * demux_mkv: use new EBML parser to read Audio elementUoti Urpala2010-01-273-45/+25
| |
| * demux_mkv: use new EBML parser for Info parsingUoti Urpala2010-01-271-51/+29
| |
| * demux_mkv: remove pointless 'long double' useUoti Urpala2010-01-273-6/+6
| | | | | | | | | | There was no remaining reason to use this type. The variables were assigned values with plain double precision anyway.
| * demux_mkv: use new EBML parser for chapter parsingUoti Urpala2010-01-271-198/+101
| |
| * demux_mkv: use new EBML parser for attachment parsingUoti Urpala2010-01-271-80/+21
| |
| * demux: take chapter/attachment name strings without 0-terminationUoti Urpala2010-01-274-42/+35
| | | | | | | | | | | | | | | | | | Change the demuxer_add_attachment() and demuxer_add_chapter() functions to take a length argument for various name strings, so those strings do not need to be 0-terminated. This will make it easier to directly pass demuxed data without first making a copy just to add 0-termination. Also allocate the struct demuxer data structures for attachments and chapters with talloc.
| * demux_mkv: don't stop playback on non-Cluster elementsUoti Urpala2010-01-271-2/+5
| | | | | | | | | | | | | | | | The main demuxing code signaled EOF and stopped playback if it hit a top-level element other than Cluster. There are files with other elements between Cluster ones, at least repeated copies of Track headers. Change the code to skip any non-Cluster element and only stop searching on real file EOF.
| * demux_mkv: improve Cues parsingUoti Urpala2010-01-271-65/+18
| | | | | | | | | | | | | | Rewrite Cues parsing code using the new EBML parser. The new version fixes a hang in some cases of incomplete files and supports a cuepoint specifying multiple tracks per timecode (the previous code added an index entry for the track mentioned last only).
| * demux_mkv: support reading all headers based on SeekHeadUoti Urpala2010-01-271-150/+148
| | | | | | | | | | | | | | | | Restructure the code reading toplevel header elements and rewrite the SeekHead parsing code using the new EBML parser. Now every type of header element is read anywhere in the file if there's a SeekHead entry pointing to it. The new SeekHead parsing code has more diagnostic output in case of errors.
| * demux_mkv: use new EBML parser for file headerUoti Urpala2010-01-273-79/+29
| |
| * matroska: add new parsing codeUoti Urpala2010-01-275-171/+1275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new EBML parser implementation that should allow significant improvements to the Matroska demuxer. The new parsing code is not actually used yet by the demuxer. The only changes to existing code in this commit are to generate the MATROSKA_ID_* / EBML_ID_* macro definitions from the new implementation and to rename some of them (the new implementation uses names matching the official Matroska spec). The main parser implementation is added in ebml.c. There are two new generated files, ebml_defs.c and ebml_types.h, that contain definitions of EBML elements. Those are generated by the new script TOOLS/matroska.py. There's a new Makefile target "generated_ebml" that run the script to refresh the content of the generated files.
* | Merge svn changes up to r30437Uoti Urpala2010-01-284-7/+32
|\ \
| * | Enable parsing for ASF audio streams.reimar2010-01-261-0/+1
| | | | | | | | | | | | | | | | | | | | | This is necessary to use the ffmp2 decoder with dvr-ms files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30437 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | If audio was identified as DTS in the PMT do not override that with TrueHDreimar2010-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | based only on substream id. Works with all available DTS and TrueHD samples available (2 each). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30429 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Add support for parsing MLP and TrueHD.reimar2010-01-241-0/+6
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30427 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Add forgotten declaration of ds_clear_parser.reimar2010-01-241-0/+1
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30424 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Remove now unused variables.reimar2010-01-241-2/+0
| | | | | | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30423 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Reset the parser on seek. Should fix some cases of audio "blips" after seeking.reimar2010-01-241-6/+23
| | | | | | | | | | | | | | | | | | | | | AC3 is still broken due to the libavcodec parser being broken. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30421 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Move the resync-related code into more consistent places instead of having itreimar2010-01-241-35/+22
| | | | | | | | | | | | | | | | | | | | | scattered all over the place with half of it forgotten in some places. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30420 b3059339-0415-0410-9bf9-f77b7e298cf2
* | | Merge svn changes up to r30375Uoti Urpala2010-01-251-0/+1
|\| |
| * | Add a proper header for our strsep implementation so strsep willreimar2010-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | not be used without a declaration, causing issues on 64 bit systems. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30355 b3059339-0415-0410-9bf9-f77b7e298cf2
* | | Merge svn changes up to r30322Uoti Urpala2010-01-251-0/+1
|\| |
| * | -demuxer rawaudio data will often need parsing (e.g. when it is used for rawreimar2010-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | AC3 instead of libavformat), so set needs_parsing. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30312 b3059339-0415-0410-9bf9-f77b7e298cf2
* | | Merge svn changes up to r30301Uoti Urpala2010-01-251-9/+9
|\| |
| * | Use double-precision constants instead of single precision that gets cast to ↵reimar2010-01-131-3/+3
| | | | | | | | | | | | | | | | | | double. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30299 b3059339-0415-0410-9bf9-f77b7e298cf2
| * | Use double instead of float for pts.cehoyos2010-01-121-7/+7
| | | | | | | | | | | | | | | | | | | | | Patch by Dan Oscarsson, Dan D Oscarsson A tieto D com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30298 b3059339-0415-0410-9bf9-f77b7e298cf2
* | | Merge svn changes up to r30250Uoti Urpala2010-01-251-0/+1
|\| | | |/ |/|
| * Fix MP1 with demuxer lavf in MPEG (PS) files.cehoyos2010-01-091-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30250 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn r30174Uoti Urpala2010-01-081-0/+2
|\|
| * Add support for JPEG2000 via FFmpeg/OpenJPEGreimar2010-01-031-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30174 b3059339-0415-0410-9bf9-f77b7e298cf2
* | demux_mkv: improve seeking with generated indexUoti Urpala2010-01-011-46/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using generated index (-idx / -forceidx) the Matroska seeking code first guessed a file position using bitrate-based heuristics, then located the cluster nearest to that file position. Change it to store cluster timestamps in addition to file positions and seek to the cluster with the closest timestamp. This makes seeking with -idx a lot more accurate. This change also fixes a crash when trying to seek with generated index before playing any data from the beginning of the file (could be triggered by -idx together with ordered chapters or -ss for example). I removed the code handling MATROSKA_ID_CUES in the middle of parsing clusters. Such cue entries were not consistently handled if encountered during playback instead of index creation and the seek code was also buggy when they were encountered and parsed; i didn't consider it worth the effort to fix it.
* | demux_mkv: remove useless codeUoti Urpala2009-12-311-16/+2
| | | | | | | | | | Remove leftover code that no longer did anything useful after earlier changes.
* | demux_mkv: respect -forceidxUoti Urpala2009-12-311-1/+1
| | | | | | | | | | Don't use the index included in the file if the -forceidx option was specified.
* | Merge svn changes up to r30136Uoti Urpala2009-12-307-27/+172
|\| | | | | | | Ignore another broken correct-pts change in 30134.
| * Do not use correct-pts for mpeg-ts and matroska: It breaks PAFF samples.cehoyos2009-12-281-0/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30134 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Revert r30100: It breaks some mov and asf samples.cehoyos2009-12-281-0/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30133 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for parsing audio streams (though should be easy to extend to video)reimar2009-12-276-1/+143
| | | | | | | | | | | | | | | | | | | | | | via libavcodec. Parsing can be done at the demuxer stage (currently disabled) or at the decoder (ad_ffmpeg, enabled). Should allow using the libavcodec AAC, DTS, ... decoders independent of container format. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30130 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove currently unneeded members accidentally added in the last revision.reimar2009-12-271-4/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30129 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Introduce a sh_common struct that contains the parts in common by the audio, ↵reimar2009-12-271-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | video and sub "stream headers". One reason for this is to help avoid/make more obvious things like members with the same function but different name (extradata vs. codecdata etc.), or members with the same name but different semantics (pts for audio vs. pts for video). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30128 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove one more incorrect direct ass.h include.reimar2009-12-271-1/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30127 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix grammar/missing verb in description.reimar2009-12-251-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30112 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove unnecessary entries from extension_table, these formats are alreadyreimar2009-12-251-4/+0
| | | | | | | | | | | | | | in the lavf preferred_list, and thus will be handled by lavf immediately. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30111 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add a (unfortunately rather long) explanation on how and when to use itreimar2009-12-251-0/+6
| | | | | | | | | | | | | | to the file extension -> demuxer mapping list. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30110 b3059339-0415-0410-9bf9-f77b7e298cf2
| * force cdg to lavf demuxer in extensions.c, misdetected as mpeg otherwisecompn2009-12-241-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30109 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r30104Uoti Urpala2009-12-301-0/+1
|\| | | | | | | Ignore the broken correct-pts change in r30100.
| * create CDGR fourcc in mp_taglist and add ffcdgraphics to codecs.confcompn2009-12-241-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30104 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Do not use correct-pts by default for demuxer lavf, it breaks all PAFF files.cehoyos2009-12-221-2/+0
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30100 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Never include ass.h and ass_types.h directly, use ass_mp.h instead.reimar2009-12-191-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30067 b3059339-0415-0410-9bf9-f77b7e298cf2