[Icecast-dev] Patch to support .pls .asx .ram .qtl listing formats on last SVN

Karl Heyes
Thu, 04 Oct 2007 06:52:12 -0000

Infomaniak Network SA / Guy Baconniere wrote:
> Hi Karl,
>
>> While I think most of this is fine, I think in the fserve part (where
>> the checks to see if there is a playlist file in webroot), they all
>> seem to follow the same pattern so that would tend to indicate a
>> function to reduce duplication.
>>
>> At the moment I'm wondering whether these responses could be
>> automatically generated from xslt files? like xspf is.
>>
>> karl.
>
> I have developed this patch to avoid us to create "by hand"
> one file for each listing format for each mounts.

with the xslt approach, it would be 1 xsl file for each format not each
mountpoint. The xslt would just be a template.

> One part of the problem with icecast is that you cannot choose
> mime  type of each web files or having ASIS file like on Apache.

I've made it now so that you can specify the mime type in the xsl file
with the media-type setting. It was hardcoded to one type before which
was limiting.

> I have cloned fserve functions to have dissociate functions
> for each kind of listing format and don't have one huge function
>
> I agree some part of the code could be included in a single
> function to avoid code duplication. Make a function dispatcher
> to point to each function who give the corresponding HTTP header
> for each format.

I suspect we could define a /admin/buildplaylist and pass the type as an
arg, allowing for multiple types and multiple streams to be listed. So
for example /admin/playlist?mount=/stream&type=pls

karl.