[Matroska-devel] problems compiling, testing, and using libebml and libmatroska...
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
More information about the Matroska-devel