Sean Bartell wrote:
On Sun, May 15, 2011 at 09:22:07PM +0200, Al Le wrote:
The initial focus will be on getting the library working, not on a nice
API. In order to appeal to software other than Rockbox...
IMO the API should be laid out first. How else can you say that the
library "works"? Besides: a nice API would be a very appealing thing
for other projects (other than Rockbox).

The library "works" if it can be used to test codecs on Linux. The API
will be *usable* initially, but not necessarily flexible enough for
other projects. Making it flexible could require significant changes to
the codecs, and I want to delay that until after the test suite is
working.

That approach sounds sensible to me - I would find it hard to design an
API in advance.

A few random thoughts about your project:

1) I think that a main goal of your project should be to release a source package of the library, along with documentation and example/tutorial programs. i.e. it should be promoted to some degree, rather than just living in a subdirectory in our SVN. This could perhaps coincide with main Rockbox releases, to take advantage (at least in theory...) of the feature-freeze/bug-fix periods.

2) Do you want to enable codecs to be linked statically instead of the current dynamic loading of individual codecs? I think I would find it useful to be able to build them that way.

3) What is our relationship to ffmpeg, the main open source audio (and video) library? Do we want to use an API similar to theirs? Do we want ffmpeg to be able to use our codecs (would they even want to, instead of merging our optimisations) ? Will it be a competitor to ffmpeg?

4) I'm suspecting that the hardest part of your project will be create a library in such a way that it can still be used in Rockbox without any loss in efficiency, but will also be of more general use. Ideally this library would be built the same way for Rockbox as for other applications (i.e. no #ifdefs for Rockbox-specific things), but I can't imagine how that could work.


I'm looking forward to seeing what your project results in.

Regards,

Dave.

Reply via email to