Commit Graph

141 Commits

Author SHA1 Message Date
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