[matroska-devel] Re: Porting EBML, the extensible binary meta language, to C

ChristianHJW chris at wiesneronline.net
Thu Feb 13 17:01:32 CET 2003

Hi shailesh,

i was just posting a huge reply email to all the people that were adressing
us in the last few days, as a reaction to my job proposals. Here the email,
attached to the very end of this message :

----- Original Message -----
From: "Shailesh Mistry" <slmistry at users.sourceforge.net>
To: <christianhjw at users.sourceforge.net>
Cc: <slmistry at users.sourceforge.net>
Sent: Thursday, February 13, 2003 4:17 PM
Subject: RE: Porting EBML, the extensible binary meta language, to C
> I saw your message looking for developers to port the
> code to C.
> Please can you tell me what the aim of the project is and
> what it is you need help with.
> Thanks.  Shailesh

Thanks for your offer to help. While for a very long time we got almost no
offers from anybody for help, we are now in the happy situation to get
several replies at the same time :-) !! As this is a very new situation for
us, we first have to define how to split the work into several pieces. The
very project you have been applying to, means to port the complete existing
C++ library to plain C, is being looked at from the 2 gentlemen i copied on
this email, animesh and santiago .

The aim of this project is to create an opensource, open standard multimedia
container format. We hope that our container will replace the old, outdated
AVI format, created by Microsoft in the 80s, but abandoned for their own ASF
streaming container, developed as a closed format allowing to implement DRM
( Digital Rights Management ). We put a lot of energy into the specs to make
sure our container is a real alternative to other existing media containers,
like MP4, MOV, RM, MPEG and Ogg. More information can be found on our
homepage http://matroska.org .

I hope animesh will find the time to report to the matroska mailing list
matroska-devel at freelists.org what his first impression is after having
looked at the code, if he sees any chances to port the library in an elegant
way, or if its better to think of a C wrapper, or only to create a basic C
API for it, alowing playback ( demuxing ) and not more. In any case it
should be possible to share the workload between you guys, if you are
interested to do so. If not, then i hope you can find some other jobs that
are posted in the email below, hopefully one of those will catch your

animesh, can you please copy shailesh and santiago if you are sending such a
first statement to the list, as i dont think they are subscribed to it yet ?

Best regards

My email from this afternoon to the new team members :

Hi all,

  all of you that are copied on this email have been adressing us recently
about joining our team. Our team members are currently

  Steve 'robux4' LHomme ; chief developer and project admin
  John 'spyder' Cannon ; Java wizzard and main contributor
  Jean 'Cyrius' Colon ; VirtualdubMod and matroskadub developer
  Jan 'myFUN/kromyx' Schlenker ; matroska DShow parser developer
  Frank Klemm ; MPC ( musepack ) developer, a high quality audio codec
  Paul 'Pamel' Bryson ; XML consultant, PR assistant
  Jory 'jcsston' ; VB developer, GUI creator
  Moritz 'mosu' Bunkus ; developer of the OGM merge tools, mplayer developer
  Christian 'HJ' Wiesner ; General helper, Content writer, PR , project

  Contributors are ( some more, some less :) ):

  Ludovic 'Blacksun' Vialle ; Developer of 'The Core Media Player' ,
DirectShow consultant
  Dan 'Betaboy' Marlin ; Corecodec Community Leader ( soon our host )
  Tobias 'Belgabor' Minich ; VirtualdubMod project admin
  'raghav' Ragavendran ; MPC2matroska.exe
  Radek 'sysKin' ; XviD developer
  Milan Cutka ; developer of ffdshow DShow filter
  Ronald 'BBB' Bultje ; Gstreamer developer

  Please allow me to welcome you all in the name of the matroska team
members and the administrators. We are a very small team and the last 2
years were not easy for us, as we were using another approach to making
matroska than its normally happening in
 the opensource world. Instead of just releasing some basic code and then to
evaluate from there we wanted to

  - get as many input as possible from all the wise people in multimedia out
  - make a proper spec and document it properly in a doxygen Format
  - start coding the library and the tools

  As you may imagine its hard to do it that way, as people are normally not
at all interested in something they cant get their hands on yet. Most
projects in multimedia opensource development are driven by making crazy
patches quickly, so that new funct
ionalities are added and can be used instantaneously. Of course, doing it
that way is a very risky thing as you may find yourself in a situation soon
where you have to make 'hacks' to achieve certain things. We wanted to avoid
this by all means, so we t
ook the long, winding road of trying to motivate people to look at what we
have, listen to their comments and suggestions and improve from there.

  The main input on the specs as you find them today have been done from
those people :

  Lasse 'Tronic' Karkainen ; Founder of TMF that evolved into MCF, our
'sister' project ( http://mcf.sf.net ) ; matroska was born in a project fork
from MCF as lasse couldnt not identify with the EBML specs Steve did
  Ingo Ralf Blum ; Developer of the MediaXW framework, DirectShow wizzard
  Frank Klemm ; see above
  Alex 'Foogod' Stewart ; project admin of UCI, the Universal Codec
Interface, one of the backbones of matroska and MCF ( http://uci.sf.net )
  Alban 'albeu' Bedel ; mplayer developer
  ( I hope i didnt miss anybody :)  )

There are a number of things on our to-do list now :

1. Move the complete project from sourceforge.net to the new corecodec.org
opensource platform, being dedicated for audio and video compression. Other
projects to be hosted there ( to start with ) will be :
- MPC ( musepack ) audio codec
- USF : Universal Subtitle Format
- WARP : a new, wavelet based video codec, offering a lossless mode also
- COREYUV : a lossless video codec project based on HuffYuv, but with a few
goodies added
and hopefully many many more

This moving is the main reason why i dont start to create specific jobs on
sourceforge.net as of now, as i would have to redo it all for the new
project on corecodec.

2. Overwork our webpage :

John 'spyder' Cannon is currently writing up a document that is aiming to
explain a few things about matroska, for the technically interested user. In
addition to that we want to add the follwoing pages :

- matroska Team ( contact details )
- supported codecs ( plans, actual status, ongoing development )
- software supporting matroska ( links, status, ongoing development )
- Codec ID list ( specs addition ? )
- technical explanation of UCI, EBML, USF, etc.
- webdesign of homepage
- link to forums and description of Corecodec and its mission

3. Create a logo :

As i was posting already on the job proposal on sourceforge, our current
idea is to bind the Russian dolls into the logo, as they ( in one way or
another ) were the name givers. It will be necessary to meet on our IRC
channel ( irc.corecodec.com #matros
ka ) soon to discuss what we might wonna do here. All the guys interested
should give me a shout, so we can find a date when to mee there

4. Start to develop tools :

- matroskadub ( VirtualdubMod ), Windows : assigned to Cyrius and Belgabor,
Cyrius told me he is pretty close to be able to mux first video and audio
streams into our container, so we could upload some test files

- matroska DShow parser, Windows : myFUN is already working on it, he said
he plans to completely rewrite it 8) !!

- file repair tool ( Windows, Linux, MacOS ) : thana wanted to look at this
in abut 2 weeks, spyder will be the project coordinator. The tool should be
able to repair and optimize matroska files, as well as prepare it for mode2
form2 burning ( adding ad
ditional EDC/ECC elements )

- port EBML and matroska code to C : animesh has already loaded the sources,
santiago wanted to help him ; lets see what they come up with

- Muxing tool for Linux : Moritz Bunkus will look at that once the lib has
either a C API or is ported to C

- mplayer playback patch : Moritz also :) !

- gstreamer plugin, Linux : I will contact Ronald BBB Bultje again on that

- HTTP/RTP streaming server : How Tam is da man ;) ; robux4 to assist

( useful links :  http://article.gmane.org/gmane.comp.video.mcf.devel/550 ;
http://article.gmane.org/gmane.comp.video.mcf.devel/556 ;
http://www.rtsp.org/ ;
http://article.gmane.org/gmane.comp.video.mcf.devel/578 ;
deo.mcf.devel/617 ; http://article.gmane.org/gmane.comp.video.mcf.devel/630

- porting EBML and matroska to Java : noone assigned yet ; spyder has some
existing code, but its not tested nor uploaded

- JMF parser : spyder would be the man to do it for sure, as he had the most
JMF experience, maybe assisted by thana one day ?

All these jobs will be created on the GForge interface once we have moved to
the Corecodec server, but for now please use the list as created here.

5. Alpha Testing phase on http://corecodec.com and
http://virtualdub.everwicked.com : my job ;)

6. Release Beta tools : cant wait until we will finally be there, and it
could happen pretty soon, at least for Windows ...

Some important remarks :

- team email adresses : Animesh, Santiago and How Tam have already got new
team email adresses with the  @matroska.org TLD. All the others, pls. drop
me a short email if you want this also and what email adress you want me to
use for forwarding ( we don
t have a pop3 for that, but use zonedit email forwarding ). In case you want
to send email with that adress and dont have a relay to use, tell me.

- IRC channel : please visit our IRC channel on irc.corecodec.com , during
the European evening/night hours if possible. We discuss a lot of important
stuff there, so you shouldnt miss it to be there from time to time

- Mailing lists : Its important that you follow the 3 mailing lists we have
if you wnat to be up-to-date : These are NOT on sourceforge, but on
http://freelists.org , subscribe to matroska-devel <at >freelists.org ;
matroska-general <at> freelists.org ;
 matroska-cvs <at> freelists.org ; Alternatively you may use the NNTP
interface on gmane.org ( news://news.gmane.org ) and follow the lists there
, gmane.comp.multimedia.matroska.xxx

Again, a warm and friendly welcome from the matroska team to all of you !!
We hope you still want to help us and become team members, ow as you know a
bit more about our plans and goals, as well about the way we are working.

Looking forward to meet you soon on IRC

Best regards




More information about the Matroska-devel mailing list