Commit Graph

83 Commits

Author SHA1 Message Date
Steve Lhomme
4144cc5d79 libebml: fix the end of reading when the size is unknown/infinite
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@271 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-25 12:05:26 +00:00
Steve Lhomme
8f6b7a6fd9 libebml/libebml2: only Master elements can have an infinite/unknown size
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@270 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-25 12:02:30 +00:00
Steve Lhomme
ece95ac6b7 libebml: we should mark the files we modify
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@256 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-22 18:20:42 +00:00
Steve Lhomme
c9d6482517 libebml: fix non strict access build
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@255 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-22 18:18:29 +00:00
Steve Lhomme
9c1e708150 libebml: fix the EBMLDummy ID reading and displaying
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@251 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-22 12:53:29 +00:00
Steve Lhomme
2ddda867cd libebml: 0.8.1 fix the infinite/unknown size reading in EbmlElement::FindNextElement()
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@250 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-22 12:10:55 +00:00
Moritz Bunkus
479527964e Fix the spec files for Fedora and SuSE
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@186 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-09 21:22:11 +00:00
Moritz Bunkus
a268471b51 Updated the version number for the Debian package.
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@178 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-09 14:57:16 +00:00
Moritz Bunkus
2e93d7df35 Fixed DOS newlines
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@177 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-09 14:56:40 +00:00
Moritz Bunkus
3316915374 Set the eol-style property for files in debian/
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@176 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-05-09 14:44:55 +00:00
Steve Lhomme
5fd406ae80 v1: update the ChangeLog files for imminent release
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@150 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-30 10:19:47 +00:00
Steve Lhomme
da7b4816f3 v1/v2: Add support for const iterators where necessary
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@149 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-30 08:28:24 +00:00
Steve Lhomme
2753bfd8a3 v1/v2: simplify EBML_SEM_ID(EBML_CTX_IDX()) to EBML_CTX_IDX_ID()
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@138 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-19 12:41:49 +00:00
Steve Lhomme
4eef9565c1 v1/v2: add support for reverse iterators
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@133 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-19 08:40:10 +00:00
Steve Lhomme
ab093ddf20 v1: add the possibility to remove an element using its iterator
only the const iterators are necessary

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@132 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-19 08:33:43 +00:00
Steve Lhomme
6f87f71cae v1: favor the use of iterators rather than direct access in the tables (nicer for libebml v2)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@131 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-19 08:32:50 +00:00
Steve Lhomme
147c3ac163 v1: fix the default size use in (signed)integers
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@126 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-15 15:45:54 +00:00
Steve Lhomme
19ae0bb418 v1/v2: clean the access of EbmlId data
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@124 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-15 14:59:25 +00:00
Steve Lhomme
769a6c3ab7 v1/v2: rename bKeepIntact to bWithDefault for more clarity in the API
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@123 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-15 14:54:49 +00:00
Steve Lhomme
be6a37df06 v1: introduce INVALID_FILEPOS_T to return error values when trying to read/write (only in EbmlVoid::ReplaceWidth for now)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@121 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-15 09:36:30 +00:00
Steve Lhomme
8bff224319 add new ghost params necessary for libebml2
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@107 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-13 14:07:28 +00:00
Moritz Bunkus
0eac10d271 Let the user use CXXFLAGS for his own flags.
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@105 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-11 16:36:50 +00:00
Moritz Bunkus
d5e9da9100 Fix compilation for mingw due to wrong include directories
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@104 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-11 16:32:56 +00:00
Moritz Bunkus
d223e36d3c Compilation fix: If EBML_STRICT_API is not defined the EbmlElement does not contain a function called ClassInfo() but only the member variable ClassInfos.
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@103 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-09 19:16:28 +00:00
Steve Lhomme
04478cdbfd v1/v2: the v2 classes always need their own context in the constructor so we need more macros to ensure that...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@102 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-09 17:37:06 +00:00
Steve Lhomme
35753addf9 v1: the EbmlSemantic to EbmlCallbacks cast needs a const
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@100 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-09 14:39:26 +00:00
Steve Lhomme
aab35dacc9 v1/v2: EBML_SEM_INFO() is not necessary anymore with EBML_CTX_IDX_INFO()
v2: clean EbmlSemantic

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@96 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-09 10:06:35 +00:00
Steve Lhomme
1fdcc6ae21 v1: fix the non-strict API calls compilation
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@95 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-09 06:38:21 +00:00
Moritz Bunkus
b3985c4976 Fixed a warning about using NULL in calculations
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@94 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-08 20:00:23 +00:00
Moritz Bunkus
4134860d67 Fixed a warning about wrong initialization order
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@93 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-08 19:58:29 +00:00
Steve Lhomme
66ccb761d8 use DECLARE_EBML_*** in the legacy code too
add a EBML_CTX_IDX() macro to avoid direct access to MyTable

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@92 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-08 16:36:43 +00:00
Steve Lhomme
d0c70fd901 add a EBML_CLASS_CALLBACK() macro when the EbmlCallback pointer is used directly
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@89 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-08 16:19:17 +00:00
Steve Lhomme
a2d9c1e0d6 add EBML_CLASS_SEMCONTEXT() for a more generic way to describe a global context callback
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@88 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-08 16:05:15 +00:00
Steve Lhomme
9ced122b2f new macro to define the old EbmlSemanticContext if it's not done elsewhere
+ add some missing SEMANTIC start/end

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@86 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 16:12:16 +00:00
Steve Lhomme
5dd210bfdc use a macro to define the semantic tables as the v2 library uses a slightly different table format
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@85 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 16:09:02 +00:00
Steve Lhomme
2b635aa5ac EBML_CLASS_CONTEXT() is a contraction of EBML_INFO_CONTEXT(EBML_INFO())
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@84 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 16:02:07 +00:00
Steve Lhomme
4d9242a8e6 replace DEFINE_MKX_MASTER_NOBODY() with DEFINE_MKX_MASTER_CONS() for better consistency
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@83 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 15:59:32 +00:00
Steve Lhomme
e4aa562e22 mark ValidateSize() as virtual (as a reminder)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@82 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 09:43:00 +00:00
Steve Lhomme
350e192617 by default the any size is OK for Binary elements
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@81 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 09:41:09 +00:00
Steve Lhomme
07d6f46f78 move the default values in the .cpp files via the new declaration macros
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@77 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-06 17:20:14 +00:00
Steve Lhomme
2f079f185e more macro to simplify the class declaration
put the default value constructor in the C++ files

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@76 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-06 17:16:54 +00:00
Steve Lhomme
7b4779fe5f fix compilation when EBML_STRICT_API is not defined
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@74 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-06 07:21:44 +00:00
Steve Lhomme
2161be7870 clean the EBML context creation macro
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@69 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-05 15:52:08 +00:00
Steve Lhomme
071c70631d more options for the EBML master definitions
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@67 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-03 06:14:04 +00:00
Steve Lhomme
91b9d8cc7e libebml: add macros to simplify the EBML class item definitions (ID, ClassInfo, SemanticContext)
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@66 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-03 06:13:02 +00:00
Moritz Bunkus
0b3faddd90 Don't hide virtual members of the base class
'SetDefaultSize(int)' in the derived class hides 'virtual
SetDefault(uint64)' in the base class: The name matches but the
signature is different, and the 'virtual' keyword is missing.


git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@63 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-28 00:06:39 +00:00
Moritz Bunkus
d7b335f0a8 Properly compare elements
If you have "virtual operator <" in a base class and a derived
class and each takes a reference of its own class as an arugment
then the function in the derived class hides the one in the base
class and does not override is as the signatures do not match:

class base {
public:
  bool virtual operator <(const base &cmp);
};
class derived: public base {
public:
  bool virtual operator <(const derived &cmp);
};

If two instances of base are compared then base::operator< is called:

base *p1, *p2;
if (*p1 < *p2) // calls base::operator<


git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@61 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-27 23:07:20 +00:00
Moritz Bunkus
1de5badd44 Made changing the tool paths easier. Do not refuse to build with a mingw compiler.
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@56 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 15:55:17 +00:00
Moritz Bunkus
35942a7134 Make the ranlib and ar executables configurable. Support for setting the cross-compilation tool names easily.
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@53 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 15:08:11 +00:00
Moritz Bunkus
a65901063d Fix Endianess detection on Linux.
Some platforms like MIPS can come either in little or
in big endian. Therefore a static decision based on the
system used is invalid. The header file endian.h should
be used for systems on which it is available. At the moment
this is at least Linux.

Patch by Frank Neufingerl <fneufingerl@psi.de>

git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libebml@51 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 13:35:44 +00:00