<!--
   EXAMPLE: Ogg Vorbis playlist stream WITH reencoding and random playback

   This example streams a playlist that may contain MP3, Ogg Vorbis and FLAC
   files. Ezstream will use external decoders to read the media files, and
   reencode them to Ogg Vorbis using the oggenc encoder. The output stream
   settings are controlled via the paramters to oggenc.
 -->
<ezstream>
    <url>http://localhost:8000/vorbis.ogg</url>
    <sourcepassword>hackme</sourcepassword>
    <!--
       Since the reencoding feature is enabled below, <format /> sets the
       output format of the stream.
     -->
    <format>VORBIS</format>
    <filename>playlist.m3u</filename>
    <!-- Enable playlist shuffling: -->
    <shuffle>1</shuffle>
    <!--
       The file in <filename> is a regular playlist and not a program.
       For demonstrational purposes, explicitly state this here:
     -->
    <playlist_program>0</playlist_program>
    <!--
      The following settings are used to describe your stream to the server.
      It's up to you to make sure that the bitrate/quality/samplerate/channels
      information matches up with your oggenc encoder settings below.
     -->
    <svrinfoname>My Stream</svrinfoname>
    <svrinfourl>http://www.oddsock.org</svrinfourl>
    <svrinfogenre>RockNRoll</svrinfogenre>
    <svrinfodescription>This is a stream description</svrinfodescription>
    <svrinfobitrate>88</svrinfobitrate>
    <svrinfoquality>1.5</svrinfoquality>
    <svrinfochannels>2</svrinfochannels>
    <svrinfosamplerate>44100</svrinfosamplerate>
    <!-- Allow the server to advertise the stream on a public YP directory: -->
    <svrinfopublic>1</svrinfopublic>
    <reencode>
        <!-- Enable the reencoding feature: -->
        <enable>1</enable>
        <!--
           Each <encdec /> element specifies a pair of programs to be used for
           decoding and encoding, respectively, and which file extension and
           output stream format they apply to.

           All the configuration of the output stream is usually done by using
           the appropriate command line parameters of the encoders in the
           <encode /> elements.

           New encdec sections can be added for new input/output formats.
         -->
        <encdec>
            <!-- Support for FLAC decoding: -->
            <format>FLAC</format>
            <match>.flac</match>
            <decode>flac -s -d --force-raw-format --sign=signed --endian=little -o - "@T@"</decode>
            <!-- <encode>Not supported Yet</encode> -->
        </encdec>
        <encdec>
            <!--
               Support for MP3 decoding via madplay, and encoding via LAME:
             -->
            <format>MP3</format>
            <match>.mp3</match>
            <decode>madplay -o raw:- "@T@"</decode>
            <encode>lame -r -x -b 56 -s 44.1 --resample 22.05 -a - -</encode>
        </encdec>
        <encdec>
            <!--
               Support for Vorbis decoding via oggdec, and encoding via oggenc:
             -->
            <format>VORBIS</format>
            <match>.ogg</match>
            <decode>oggdec -R -o - "@T@"</decode>
            <encode>oggenc -r -q 1.5 --resample=44100 -t "@M@" -</encode>
        </encdec>
    </reencode>
</ezstream>
