[icecast-dev] Work on ICECAST : IcecastAdmin, remodularisation, Doc (Docbook), speex ...
Arnaud Ebalard
ebalard at enseirb.fr
Sat Jun 7 05:06:57 PDT 2003
Hello,
3 months ago, we (a group of 8 students of the ENSEIRB engineering
school (France))
started to work on icecast.
We decided to work on another CVS server. The aim _was not to fork a new
version_
of Icecast : the idea was to clean the code as fast as possible in order
for new
developers to enter the sources in an easier way.
We mainly worked on format, sources, and tried to clearly separate the
differents activities.
For Format module, the main idea was to open Icecast to new Ogg formats
: there's now
a direct recognition of the encapsulated format (vorbis, speex, ...)
when the stream has Ogg
mime type.
We develop an Ogg speex module (but no speex streamer => no tests for
Ogg) and the
development for fLaC or Theora or other ogg encapsulated format should
be easy.
About MP3 (not a free format, as you know), the rewriting of the
plugin was quite awful
because this format wasn't designed to be streamed.
We tried to test it but we were unable to use an icecast2 compatible MP3
streamer (liveice,
shoutcast, darkice, ...)
We also modified the buffer structure in order to make the icecast work
more logical :
just inserting the client in the stream and then serving him in a non
specific way (avoiding
the reconstruction of data for each client).
We did intensive tests on Ogg vorbis after this work : ogg vorbis
icecast2 streams can be
played with mplayer, ogg123, xmms.
Another part of our work was the documentation :
- The parts we touched were commented using *Doxygen* (see /doc/Doxyfile
in the cvs tree)
- We rewrote a user documentation in Docbook format based on Pierre
Amadio' s work.
- We wrote a developer documentation, also in *DocBook *format.
All these documentations were made in english (french english ;-)) and
are in the cvs tree.
The last part of our work was the *administration.* 3 people worked on
it trying to leave
the basis of an administration system.
It is now separated from the main icecast process but the idea was to
develop it and test
it this way to later incorporate it in a thread in icecast. This service
should allow user
to modify the icecast config file depending on his permission. Then,
when merging in
the main icecast process, the config file could be reread to take these
changes into account.
This administration module (*IcecastAdmin*) is based on *OpenSSL* : the
user can use
his favourite browser to make changes.
An IcecastAdmin doc is available in the main icecast doc we wrote.
<p>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*To see everything we did, checkout on savannah's cvs :
the project's name is "interopcast"
You can start on the savannah's homepage : http://savannah.nongnu.org
or on this page :
http://savannah.nongnu.org/cgi-bin/viewcvs/interopcast/ENSEIRB/icecast/
Please, do a checkout on the cvs, watch our work
and let us know what you think about it !
*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*Arnaud.*
<p>*ps : just to give our names and the tasks we did :
Administration work : Antoine Allombert, Mickaël Floc'hlay, Guillaume
Leroux.
Remodularisation work : Sébastien Henrio, Florian Pierron, Denis
Tessier, Jérémy Vies and me.
Doc : all of us.
<p><p><p><p>--- >8 ----
List archives: http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Icecast-dev
mailing list