summaryrefslogtreecommitdiffstats
path: root/libmpdemux/ebml.c
Commit message (Collapse)AuthorAgeFilesLines
* Update Libav API usesUoti Urpala2012-02-011-5/+5
| | | | | | | | | | | | | | | | | | | Change various code to use the latest Libav API. The libavcodec error_recognition setting has been removed and replaced with different semantics. I removed the "--lavdopts=er=<value>" option accordingly, as I don't think it's widely enough used to be worth attempting to emulate the old option semantics using the new API. A new option with the new semantics can be added later if needed. Libav dropped APIs that were necessary with all Libav versions until quite recently (like setting avctx->age), and it would thus not be possible to keep compatibility with previous Libav versions without adding workarounds. The new APIs also had some bugs/limitations in the recent Libav release 0.8, and it would not work fully (at least some avcodec options would not be set correctly). Because of those issues, this commit makes no attempt to maintain compatibility with anything but the latest Libav git head. Hopefully the required fixes and improvements will be included in a following Libav point release.
* bstr.[ch]: add new files for struct bstr related functionalityUoti Urpala2010-05-201-2/+2
| | | | | | | | Move "struct bstr" definition from ebml.h to its own header and add some utility functions/macros. Change length field type from int to size_t and adjust using code accordingly. Partially based on a patch from Anton Khirnov.
* Merge svn changes up to r30748Uoti Urpala2010-03-101-1/+1
|\
| * Do not cast the results of malloc/calloc/realloc.diego2010-02-261-1/+1
| | | | | | | | | | | | | | | | These functions return void*, which is compatible with any pointer, so there is no need for casts. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30744 b3059339-0415-0410-9bf9-f77b7e298cf2
* | demux_mkv: use new EBML parser to read Audio elementUoti Urpala2010-01-271-1/+2
| |
* | demux_mkv: remove pointless 'long double' useUoti Urpala2010-01-271-2/+2
| | | | | | | | | | 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 file headerUoti Urpala2010-01-271-73/+0
| |
* | matroska: add new parsing codeUoti Urpala2010-01-271-6/+394
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | demux_mkv.c, ebml.c: Reformat to K&R styleUoti Urpala2009-12-291-209/+191
|/
* Add standard license header to all files in libmpdemux.diego2009-05-081-3/+18
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29280 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add explicit location for headers from the stream/ directory.diego2007-03-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22623 b3059339-0415-0410-9bf9-f77b7e298cf2
* Hack around libavutil/bswap.h compilation problems due to always_inline ↵reimar2006-12-071-1/+1
| | | | | | undefined. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21523 b3059339-0415-0410-9bf9-f77b7e298cf2
* Use av_int2flt/av_int2dbl to read float values. This is simpler and morereimar2006-11-301-10/+3
| | | | | | | correct since it also works for int endianness != float endianness. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21404 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove bswap.h, use libavutil/bswap.h instead.diego2006-11-291-1/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21388 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove long double reading code, long double was never used AFAICT and reimar2006-11-281-9/+0
| | | | | | | is gone from the specification since a long time due to portability issues. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21360 b3059339-0415-0410-9bf9-f77b7e298cf2
* Protect SIZE_MAX usertogni2006-06-091-0/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18672 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix potential integer overflows in memory allocation.rtogni2006-06-041-0/+2
| | | | | | | Patch by Rich and me git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18559 b3059339-0415-0410-9bf9-f77b7e298cf2
* Unconditionally compile the Matroska demuxer.diego2006-05-081-3/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18405 b3059339-0415-0410-9bf9-f77b7e298cf2
* (hopefully) fixing remaining float endianness problemsreimar2005-07-131-1/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15977 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix for gcc 4 and strict-aliasing. Patch by Uoti A Urpala ( urpala () cc ! ↵mosu2005-07-101-13/+9
| | | | | | helsinki ! fi ). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15960 b3059339-0415-0410-9bf9-f77b7e298cf2
* 100l, no endian conversion on floats!reimar2005-01-131-16/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14491 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: fix some compiler warnings.mosu2004-08-251-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13132 b3059339-0415-0410-9bf9-f77b7e298cf2
* more nonsense lvalue casts, at least these aren't quite as stupidrfelker2004-05-011-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12377 b3059339-0415-0410-9bf9-f77b7e298cf2
* Added the new C based Matroska demuxer by Aurelien Jacobs.mosu2004-01-191-0/+386
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11808 b3059339-0415-0410-9bf9-f77b7e298cf2