Steve Lhomme
91e1ebbb62
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/libmatroska@88 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-08 16:05:15 +00:00
Moritz Bunkus
4830d2317f
Fixed wrong DebugName of the SegmentUID element
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@87 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 17:32:30 +00:00
Steve Lhomme
34a69ca1e8
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/libmatroska@86 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 16:12:16 +00:00
Steve Lhomme
132afa9fc1
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/libmatroska@85 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 16:09:02 +00:00
Steve Lhomme
345affd5d5
replace DEFINE_MKX_MASTER_NOBODY() with DEFINE_MKX_MASTER_CONS() for better consistency
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@83 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 15:59:32 +00:00
Steve Lhomme
998d163e7d
mark ValidateSize() as virtual (as a reminder)
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@82 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 09:43:00 +00:00
Steve Lhomme
1748d3bae1
by default the any size is OK for Binary elements
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@81 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 09:41:09 +00:00
Steve Lhomme
42b5431138
put the default clone constructor in the macros as well
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@80 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 09:39:28 +00:00
Steve Lhomme
a90971f7c8
the DECLARE_xxx macros now include the EBML_CONCRETE_CLASS declarations as well (less verbose)
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@79 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-07 09:36:55 +00:00
Steve Lhomme
becc597951
move the default values in the .cpp files via the new declaration macros
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@77 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-06 17:20:14 +00:00
Steve Lhomme
e42acc7263
update the v2 code to match the latest v1 changes (still far from working)
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@75 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-06 17:15:45 +00:00
Steve Lhomme
9c86efc48e
add a default constructor to EbmlMaster based classes
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@73 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-05 16:39:37 +00:00
Steve Lhomme
4071a63a5d
no need to rename contexts that are not exported
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@72 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-05 16:36:03 +00:00
Steve Lhomme
9b665806d7
EOL-style native for the new (internal) include
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@71 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-05 15:57:54 +00:00
Steve Lhomme
acccbc21ce
finish moving the EBML element definitions to the new macros
...
use the new EBML context definition macro
the GetKaxTagGlobalContext() function doesn't need to be exported
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@70 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-05 15:53:20 +00:00
Steve Lhomme
0297c74abd
use the new macros to define EBML class elements
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@68 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-03 07:55:52 +00:00
Steve Lhomme
82ff2d978a
more options for the EBML master definitions
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@67 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-03 06:14:04 +00:00
Steve Lhomme
7747ececf3
do not access Data directly
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@64 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-04-02 17:33:49 +00:00
Moritz Bunkus
e9c742ec1c
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/libmatroska@62 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-27 23:15:21 +00:00
Steve Lhomme
300fb5b4b7
add matroska_init() and matroska_done() functions, do nothing with libebml1 but call the right init functions for libebml2
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@58 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-25 15:54:09 +00:00
Moritz Bunkus
4360dcdebf
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/libmatroska@57 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 15:58:04 +00:00
Moritz Bunkus
9dcb527124
Do not try to build a static libmatroska with a shared libebml.
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@55 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 15:11:02 +00:00
Moritz Bunkus
3676617090
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/libmatroska@54 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 15:09:30 +00:00
Moritz Bunkus
44e91f4d61
Do not try to free() pointers pointing to member variables
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@52 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-23 15:01:34 +00:00
Steve Lhomme
2af68ddc15
explain why the USEINCLUDE corec is necessary even when core-c is not used (because of the IF in coremake .proj files)
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@45 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-19 15:36:08 +00:00
Steve Lhomme
c805d4e4b9
introduce filepos_t for all the file position values (depends wether the system can handle 32 bits or 64 bits offsets)
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@44 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-19 15:35:26 +00:00
Steve Lhomme
c65c916543
use a macro for the EbmlMaster iterator as it may differ between versions of libebml
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@39 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-18 17:08:57 +00:00
Steve Lhomme
1a8c8cc66a
fix the iterator use in the copy constructors
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@38 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-18 17:07:58 +00:00
Steve Lhomme
9d3a11f774
the internal GetData() is the same as GetBuffer()
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@31 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-17 18:34:22 +00:00
Steve Lhomme
85b35ff739
new macros to hide the internal variables of the context classes
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@23 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-17 10:26:39 +00:00
Steve Lhomme
99cfc345c2
update the copyright notice to 2010
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@18 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 16:19:18 +00:00
Steve Lhomme
781ba62fa0
add a macro to define all the pure virtual methods in a "concrete" EBML class (that correspond to an item in EBML streams)
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@16 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 16:11:24 +00:00
Steve Lhomme
26cd86379b
add macros to access the EbmlId internal variables
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@15 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 16:08:31 +00:00
Steve Lhomme
2c2dc8845d
add some macros to access the EBML ID/Context and use them
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@14 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 16:07:14 +00:00
Steve Lhomme
55957a351e
use the new accessors internally
...
+ make the new accessors inline
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@13 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 16:03:51 +00:00
Steve Lhomme
b40cb3a52a
reordering and misc cleaning
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@9 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 15:58:12 +00:00
Steve Lhomme
0bb4f6645a
cast to EbmlId instead of accessing Generic() GlobalId directly
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@8 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 15:57:04 +00:00
Steve Lhomme
44d2a6d2ed
use a safer type cast rather than setting the internal values directly
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@7 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 15:56:05 +00:00
Steve Lhomme
a5e3439cee
integer and boolean variables don't need a const when used as parameters
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@6 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 15:55:14 +00:00
Steve Lhomme
93a6b331ff
fix the coremake project for inclusion in other projects
...
use HAVE_EBML2 in the config.h file to use libebml2 instead of libebml
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@5 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-03-15 15:53:28 +00:00
Steve Lhomme
2ad6f1d24b
move the sources from the dead coreforge server
...
git-svn-id: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/libmatroska@1 a6f86f6d-0131-4f8e-9e7b-e335508773d5
2010-02-18 08:13:06 +00:00