[Matroska-devel] problems compiling, testing, and using libebml and libmatroska...

Yann Renard yann.renard-mailing-lists at tiscali.fr
Tue Oct 3 21:35:35 CEST 2006

Greg Handi wrote:
> Greetings, I'm working on implementing support for the matroska file
> format on a hardware device but I'm running into a number of problems
> trying to use the libraries libebml and libmatroska (which initially
> seemed like a better idea than starting from scratch).
> I'm new to the mailing list but I searched through some previous posts
> regarding some of these issues before posting.
> I was looking for libmatroska developer user documentation, I see from
> a thread back in January that none existed then and it would appear
> that this "problem" still exists...?  Is there any documentation
> explaining how to use libebml and libmatroska to read MKV files, at
> all, anywhere?
> I was able to compile libebml and libmatroska using TCS for a 32bit
> platform (with only software support of 64bit) but not the little test
> programs... without which I don't know if I trust the results of the
> library compiles.  Is it perhaps just a tool chain problem or are these
> test programs not up to date?  I notice that some of them reference
> .hpp files that are only named .h (now?) for example.
> I see from a thread back in early 2003 that there was talk of porting
> to C, what became of this?  Is there a C only version or was that
> abandoned and only the C++ version exists?
> In FileKax.h and FileKax.cpp the vast majority is #ifdef'ed out as
> #ifdef OLD and the code inside the #ifdef is not capable of compiling. 
> If this code is no longer used, not the correct way to use the library,
> and not even compilable, then why is it there?
> I infer from looking into the mkvtoolnix code that the correct way to
> start reading a matroska file using these libraries is with an instance
> of EbmlStream but libmatroska provides no references to this outside of
> the test programs that won't compile for me...
> Now I apologize that this next comment is a bit harsh but I think it
> needs to be said given the problems potential adopters face.  Without
> any developer documentation or at least a working test program (that is
> part of the library source distribution) that comments how to use the
> API I believe adoption of libmatroska is going to be significantly
> crippled.  If you want people to use the library and therefor to have
> support for the format grow then you need to facilitate this with some
> kind of documentation and working test cases.  I have seen a number of
> posts to various forums from developers who wrote their own parsers
> from scratch based on the spec. rather than use the provided libraries;
> from my experience I can theorize that this is because that was easier
> than trying to figure out an undocumented library.
> As for myself, I probably won't abandon support, but if I can't test
> the libraries and find some example to follow I may just start from
> scratch too which could hurt future compatibility and updateability.
> Thank-you for your time and double thanks to anyone who can provide me
> with some usage/testing guidance.


+1 for all what you said... in my case, I wrote some C++ ebml parser 
from scratch, that I am perfectly happy with for now... I haven't gone 
in writing matroska layer yet because I don't yet need it... But I will 
have to go on this later for sure. Unfortunatly, I guess people who 
first worked on matroska don't have so much time to write documentation 
nor readable API. Frustrating, isn't it ? But keep in mind matroska 
addresses a lot of things other containers don't...

Another place where you can get information is on irc channel : 
#matroska on irc.corecodec.org

Best regards,

More information about the Matroska-devel mailing list