A .m3u file to enable streaming is simply a list of filenames/URLs.

For example, to get a Receiver server streaming to Winamp, you'd return:

---- cut here ----
http://host:12078/content/12fc0
http://host:12078/content/12fd0
http://host:12078/content/12fe0
---- cut here ----

Winamp would then stream from each of these sources in turn. In this case, each of the contained URLs would have to reference an MP3 stream -- I don't think that Winamp supports nested M3U files.

To simplify things so that they work in most Windows browsers, you need to accept queries of the form:

http://host:port/whatever?parm1=val1&parm2=val2&etc=etc&file=file.m3u

The '...file.m3u' bit works around a problem with some versions of IE (the server doesn't have to do anything except ignore it). You still need to return the "Content-Type: audio/x-mpegurl" header, though.
_________________________
-- roger