<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="xiph">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
	<link type="guide" xref="configuration#plugins"/>
        <desc>ICEcast radio directory.</desc>
</info>

<title><media type="image" src="img/channel_xiph.png" /> Xiph.org</title>
<subtitle><link href="http://dir.xiph.org/">//dir.xiph.org/</link></subtitle>

<p>Xiph.org is a non-profit organization which develops and maintains
various audio- and video-related standards.</p>

<list>
  <item><p>For example the OGG streaming/multiplexing format.</p></item>
  <item><p>Audio compression schemes like Vorbis, Speex, FLAC, Opus.</p></item>
  <item><p>Video encoding formats like Theora, Tarkin, Dirac.</p></item>
  <item><p>The ICEcast streaming server is an alternative to SHOUTcast.</p></item>
  <item><p>And the more modern .xspf (and .jspf) playlist format, which is used by all channel entries.</p></item>
</list>

<p>There are different ways for streamtuner2 to retrieve the station
lists available on dir.xiph.org.  That's because this is a primary
plugin, and fallback solutions therefore important.  Each fetching
mode has its own advantages and drawbacks though.</p>

<section id="options">
  <title>Channel fetch mode option</title>
  <p>There are now three options to retrieve Xiph directory stations.</p>
  <terms>
  <item>
    <title><code>Cache JSON</code></title>
    <p>There's a caching server specifically for streamtuner2. It fixes
    Xiphs quirky JSON API, and provides a simpler interface. It can't
    correct the invalid encodings however, which is why you see ????
    question marks a lot. This method does not reveal station homepages,
    but enables the channel/server search.</p>
  </item>
  <item>
    <title><code>Clunky YP.XML</code></title>
    <p>The "yellow pages" YP.XML contains the full list of all known
    ICEcast streaming servers. It's however quite bulky and super slow
    to download. It furthermore clogs up a lot of memory, and requires
    manual searching (only cache search works). Which is why streamtuner2
    is trying hard to avoid it. It doesn't contain station homepages either.
    </p>
    <p>It's only still an option, because it's likely to remain accessible
    after Xiph.org rewrites their directory service. (Which though is
    getting delayed since a few years already.)
    You can set the special "buffy" mode in your <file>settings.json</file>
    to keep the whole YP.XML in memory. Which avoids the
    slow station list download/unpacking.
    </p>
  </item>
  <item>
    <title><code>Forbidden fruits</code></title>
    <p>As new alternative, you can let ST2 directly scrape the station
    lists from dir.xiph.org (like it does for other channels).  This is
    something which Xiph doesn't approve of.  But the drawbacks of their
    alternative offerings are too severe and user-unfriendly; which is
    why there's this raw HTML extraction mode now.</p>
    <p>Ass of May 2020 the website listings don't contain station homepages
    anymore either. So, the accessibility advantage is gone. However,
    stations now list the raw streaming server url now. And extraction
    is comparatively faster still.</p>
    <note><p>A miximum of 100 entries get fetched in this mode however
    (which is 5 pages à 20 entries).</p></note>
  </item>
  </terms>
  <p>The filter-by-bitrate option is now a generic plugin.</p>
</section>

</page>
