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

Greg Handi notarealaccount at yahoo.com
Tue Oct 3 20:48:36 CEST 2006

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.

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the Matroska-devel mailing list