[gst-devel] Re: [Matroska-devel] Re: [MPlayer-dev-eng] Re: Common Opensource codec API

John Cannon spyder at matroska.org
Mon Dec 29 11:54:14 CET 2003


Attila Kinali wrote:

>
>Then why do more and more windows user use mplayer eventhough there
>is no nice gui available on windows ? 
>  
>

I like mplayer because of it's simplicity and it's support for nearly 
anything I throw at it.  Can we please stop bashing everything and focus 
on the API topic :)  I have started playing with an API myself but I 
know it's far from perfect.  And surely you all will find something 
wrong with the way I implemented it.  But it's not aimed (at least by 
me) to be THE ultimate solution to this problem.  I just wanted to make 
my own encoder app.  While designing this, I have noticed that 
libavcodec and libavformat are nice but still a little lacking.  
libavformat is getting better IMO with the introduction of the 
read_frame functions.  As far as I can see, neither is pluggable, 
allowing codecs or demuxers/muxers to be added later which is a little 
limiting IMO.  My little API simply makes a miniature COM-like interface 
for shared libraries to allow plugin loading.  It's very small and 
simple IMO.  Of course it's not as simple as a plain C library but it 
provides a bit more flexibility.  Right now I only have demuxer and 
muxer interfaces defined though.  And I use a C++ wrapper on the 
application side so I know you will hate that  ;)

John Cannon
Matroska Team

PS: I think the reason libmatroska is so large is that it is aimed at 
easy extension and not so much toward small code size.  Of course it can 
be smaller, see BBB's C muxer/demuxer for gstreamer.  libmatroska uses a 
lot of templates and stuff which i get confused by but it's all meant to 
be a reference implementation, one that correctly builds and handles 
matroska.  Gabest and alexnoe have bothe coded their own implementations 
and I am quite sure they're less than 10k lines of code.





More information about the gstreamer-devel mailing list