[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