[icecast-dev] Params and handling

Michael Smith msmith at xiph.org
Thu Nov 20 20:07:35 PST 2003

On Friday 21 November 2003 14:18, Deven Phillips wrote:
>  From reading through the code, I can understand that the parameters are
> read from the XML config file and stored in the void pointer "data", but
> if I am writing a new playlist module that needs additional parameters,
> how would I go about handling adding this to the code? I have a MySQL
> playlist module written, but I cannot seem to integrate the parameters
> such that the admin would be able to define the MySQL connection options
> in the XML config file.
> Any help would be appreciated, and yes, I do realize that my coding
> skills are VERY rusty. Please forgive me if the answer to this question
> SHOULD be obvious.
> Deven


Are you trying to add your playlist module to ices2? Or ices 0.x? Or something 
else entirely? You forgot to say anything about _what_ code you were reading 

If you're talking about ices2, then it works like this:

1) Create new playlist_mysql.c, add it to Makefile.am so it gets built
2) Edit im_playlist.c, add (around line 50) your new playlist initialisation 
function - you'll probably want to include playlist_mysql.h for the 
declaration of it. The string should be 'mysql', this'll be the config string 
to use this module.
3) In playlist_mysql.c, add your new playlist_mysql_initialise function. This 
gets passed a module_param_t * - this is the first item in a linked list of 
parameters, each one having a name and a value (name and value are both 
strings). Iterate over the list, getting out any parameters you need. You'll 
also need to initialise the playlist structure (playlist_state_t *pl). You 
can allocate and use pl->data as private storage for your playlist module.

4) Write the other functions used for the playlist, most notably 
playlist_mysql_get_next_filename() - the data parameter is your pl->data 
private data pointer, whatever that might be. Use it however you want. You 
need to return a filename, this is the next file that will be played.


<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