[xiph-commits] r8600 - in icecast/trunk/ices: . conf doc

karl at motherfish-iii.xiph.org karl at motherfish-iii.xiph.org
Mon Jan 3 13:04:04 PST 2005


Author: karl
Date: 2005-01-03 13:04:04 -0800 (Mon, 03 Jan 2005)
New Revision: 8600

Added:
   icecast/trunk/ices/conf/ices-alsa.xml
   icecast/trunk/ices/conf/ices-oss.xml
Removed:
   icecast/trunk/ices/conf/ices-live.xml
Modified:
   icecast/trunk/ices/HACKING
   icecast/trunk/ices/README
   icecast/trunk/ices/conf/Makefile.am
   icecast/trunk/ices/configure.in
   icecast/trunk/ices/doc/config.html
   icecast/trunk/ices/doc/faq.html
Log:
update docs and bump version


Modified: icecast/trunk/ices/HACKING
===================================================================
--- icecast/trunk/ices/HACKING	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/HACKING	2005-01-03 21:04:04 UTC (rev 8600)
@@ -8,14 +8,14 @@
 
 -----
 
-These are *brief* instructions on how to build this package from CVS.
+These are *brief* instructions on how to build this package from SVN.
 
-There are generally four steps necessary when building from CVS (i.e.,
+There are generally four steps necessary when building from SVN (i.e.,
 a developer's copy):
 
-1. cvs checkout of the sources, or cvs update.  RTFM from your
-   favorite flavor of CVS documentation; information on the xiph.org
-   CVS repository can be found at http://www.xiph.org/cvs.html.
+1. svn checkout of the sources, or cvs update.  RTFM from your
+   favorite flavor of SVN documentation; information on the xiph.org
+   SVN repository can be found at http://www.xiph.org/svn.html.
 
 2. [re-]generate files such as "configure" and "Makefile.in" with the
    GNU autoconf/automake tools.  Run the "autogen.sh" script to
@@ -39,6 +39,6 @@
 
 Note that the make allows for supplying compiler flags as well. eg
 make CFLAGS='-static' will try the build linking against any static
-libraries available. Also specific COU optimisations can be supplied
+libraries available. Also specific CPU optimisations can be supplied
 this way.
 

Modified: icecast/trunk/ices/README
===================================================================
--- icecast/trunk/ices/README	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/README	2005-01-03 21:04:04 UTC (rev 8600)
@@ -1,7 +1,7 @@
-This is ices 2.0
+This is ices 2
 
-This is a beta release of ices 2.0.  It's the primary source client
-for icecast 2.0.  It has proven to stable and well featured.
+This is a release of ices 2.0.1  It's the primary source client
+for icecast 2.x.  It has proven to stable and well featured.
 
 Documentation is in the doc subdirectory, and some sample configuration
 files exist in the conf subdirectory.

Modified: icecast/trunk/ices/conf/Makefile.am
===================================================================
--- icecast/trunk/ices/conf/Makefile.am	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/conf/Makefile.am	2005-01-03 21:04:04 UTC (rev 8600)
@@ -2,5 +2,5 @@
 
 AUTOMAKE_OPTIONS = foreign
 
-dist_pkgdata_DATA = ices-live.xml ices-playlist.xml
+dist_pkgdata_DATA = ices-oss.xml ices-alsa.xml ices-playlist.xml
 

Added: icecast/trunk/ices/conf/ices-alsa.xml
===================================================================
--- icecast/trunk/ices/conf/ices-alsa.xml	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/conf/ices-alsa.xml	2005-01-03 21:04:04 UTC (rev 8600)
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<ices>
+
+    <!-- run in background  -->
+    <background>0</background>
+    <!-- where logs go. -->
+    <logpath>/var/log/ices</logpath>
+    <logfile>ices.log</logfile>
+    <!-- size in kilobytes -->
+    <logsize>2048</logsize>
+    <!-- 1=error, 2=warn, 3=infoa ,4=debug -->
+    <loglevel>4</loglevel>
+    <!-- logfile is ignored if this is set to 1 -->
+    <consolelog>0</consolelog>
+
+    <!-- optional filename to write process id to -->
+    <!-- <pidfile>/home/ices/ices.pid</pidfile> -->
+
+    <stream>
+        <!-- metadata used for stream listing -->
+        <metadata>
+            <name>Example stream name</name>
+            <genre>Example genre</genre>
+            <description>A short description of your stream</description>
+            <url>http://mysite.org</url>
+        </metadata>
+
+        <!--    Input module.
+
+            This example uses the 'oss' module. It takes input from the
+            OSS audio device (e.g. line-in), and processes it for live
+            encoding.  -->
+        <input>
+            <module>alsa</module>
+            <param name="rate">44100</param>
+            <param name="channels">2</param>
+            <param name="device">hw:0,0</param>
+            <!-- Read metadata (from stdin by default, or -->
+            <!-- filename defined below (if the latter, only on SIGUSR1) -->
+            <param name="metadata">1</param>
+            <param name="metadatafilename">test</param>
+        </input>
+
+        <!--    Stream instance.
+
+            You may have one or more instances here.  This allows you to
+            send the same input data to one or more servers (or to different
+            mountpoints on the same server). Each of them can have different
+            parameters. This is primarily useful for a) relaying to multiple
+            independent servers, and b) encoding/reencoding to multiple
+            bitrates.
+
+            If one instance fails (for example, the associated server goes
+            down, etc), the others will continue to function correctly.
+            This example defines a single instance doing live encoding at
+            low bitrate.  -->
+
+        <instance>
+            <!--    Server details.
+
+                You define hostname and port for the server here, along
+                with the source password and mountpoint.  -->
+
+            <hostname>localhost</hostname>
+            <port>8000</port>
+            <password>hackme</password>
+            <mount>/example1.ogg</mount>
+            <yp>1</yp>   <!-- allow stream to be advertised on YP, default 0 -->
+
+            <!--    Live encoding/reencoding:
+
+                channels and samplerate currently MUST match the channels
+                and samplerate given in the parameters to the oss input
+                module above or the remsaple/downmix section below.  -->
+
+            <encode>  
+                <quality>0</quality>
+                <samplerate>22050</samplerate>
+                <channels>1</channels>
+            </encode>
+
+            <!-- stereo->mono downmixing, enabled by setting this to 1 -->
+            <downmix>1</downmix>
+
+            <!-- resampling.
+            
+                Set to the frequency (in Hz) you wish to resample to, -->
+             
+            <resample>
+                <in-rate>44100</in-rate>
+                <out-rate>22050</out-rate>
+            </resample>
+        </instance>
+
+    </stream>
+</ices>

Deleted: icecast/trunk/ices/conf/ices-live.xml
===================================================================
--- icecast/trunk/ices/conf/ices-live.xml	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/conf/ices-live.xml	2005-01-03 21:04:04 UTC (rev 8600)
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<ices>
-
-    <!-- run in background  -->
-    <background>0</background>
-    <!-- where logs go. -->
-    <logpath>/var/log/ices</logpath>
-    <logfile>ices.log</logfile>
-    <!-- size in kilobytes -->
-    <logsize>2048</logsize>
-    <!-- 1=error, 2=warn, 3=infoa ,4=debug -->
-    <loglevel>4</loglevel>
-    <!-- logfile is ignored if this is set to 1 -->
-    <consolelog>0</consolelog>
-
-    <!-- optional filename to write process id to -->
-    <!-- <pidfile>/home/ices/ices.pid</pidfile> -->
-
-    <stream>
-        <!-- metadata used for stream listing -->
-        <metadata>
-            <name>Example stream name</name>
-            <genre>Example genre</genre>
-            <description>A short description of your stream</description>
-            <url>http://mysite.org</url>
-        </metadata>
-
-        <!--    Input module.
-
-            This example uses the 'oss' module. It takes input from the
-            OSS audio device (e.g. line-in), and processes it for live
-            encoding.  -->
-        <input>
-            <module>oss</module>
-            <param name="rate">44100</param>
-            <param name="channels">2</param>
-            <param name="device">/dev/dsp</param>
-            <!-- Read metadata (from stdin by default, or -->
-            <!-- filename defined below (if the latter, only on SIGUSR1) -->
-            <param name="metadata">1</param>
-            <param name="metadatafilename">test</param>
-        </input>
-
-        <!--    Stream instance.
-
-            You may have one or more instances here.  This allows you to
-            send the same input data to one or more servers (or to different
-            mountpoints on the same server). Each of them can have different
-            parameters. This is primarily useful for a) relaying to multiple
-            independent servers, and b) encoding/reencoding to multiple
-            bitrates.
-
-            If one instance fails (for example, the associated server goes
-            down, etc), the others will continue to function correctly.
-            This example defines a single instance doing live encoding at
-            low bitrate.  -->
-
-        <instance>
-            <!--    Server details.
-
-                You define hostname and port for the server here, along
-                with the source password and mountpoint.  -->
-
-            <hostname>localhost</hostname>
-            <port>8000</port>
-            <password>hackme</password>
-            <mount>/example1.ogg</mount>
-            <yp>1</yp>   <!-- allow stream to be advertised on YP, default 0 -->
-
-            <!--    Live encoding/reencoding:
-
-                channels and samplerate currently MUST match the channels
-                and samplerate given in the parameters to the oss input
-                module above or the remsaple/downmix section below.  -->
-
-            <encode>  
-                <quality>0</quality>
-                <samplerate>22050</samplerate>
-                <channels>1</channels>
-            </encode>
-
-            <!-- stereo->mono downmixing, enabled by setting this to 1 -->
-            <downmix>1</downmix>
-
-            <!-- resampling.
-            
-                Set to the frequency (in Hz) you wish to resample to, -->
-             
-            <resample>
-                <in-rate>44100</in-rate>
-                <out-rate>22050</out-rate>
-            </resample>
-        </instance>
-
-    </stream>
-</ices>

Copied: icecast/trunk/ices/conf/ices-oss.xml (from rev 8599, icecast/trunk/ices/conf/ices-live.xml)

Modified: icecast/trunk/ices/configure.in
===================================================================
--- icecast/trunk/ices/configure.in	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/configure.in	2005-01-03 21:04:04 UTC (rev 8600)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT([IceS], [2.0.0], [icecast at xiph.org])
+AC_INIT([IceS], [2.0.1], [icecast at xiph.org])
 AC_PREREQ(2.54)
 AC_CONFIG_SRCDIR(src/ices.c)
 
@@ -14,12 +14,6 @@
 
 dnl BSD headers break when _XOPEN_SOURCE is defined but without it seems
 dnl to be fine
-case "$host" in
-   *bsd*)
-   ;;
-   *) AC_DEFINE(_XOPEN_SOURCE, 600, [Define if you have POSIX and XPG specifications])
-   ;;
-esac
 case "$host" in 
 *-*-irix*)
         DEBUG="-g -signed -D_REENTRANT" 
@@ -39,6 +33,7 @@
 ;;
 esac
 if test -n "$GCC"; then
+        AC_DEFINE(_XOPEN_SOURCE, 600, [Define if you have POSIX and XPG specifications])
         AC_DEFINE(_GNU_SOURCE, ,[Define if you have POSIX and GNU specifications])
         XIPH_CPPFLAGS="-ffast-math -fsigned-char"
         DEBUG="-g"

Modified: icecast/trunk/ices/doc/config.html
===================================================================
--- icecast/trunk/ices/doc/config.html	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/doc/config.html	2005-01-03 21:04:04 UTC (rev 8600)
@@ -10,14 +10,20 @@
    <h1>Config File</h1>
    <table width="100%"><tr><td bgcolor="#007B79" height="10" align="center"></td></tr></table>
    <p>The ices 2 configuration file is in XML format, which is described in detail below.
-   There are 2 sample XML files provided which show the two main ways ices is used.<p>
+   There are some sample XML files provided in the distribution under the conf directory
+   which show the main way ices is used.<p>
    </p>
+   live audio streaming, takes audio from the soundcard which can be captured from say the
+   Mic, line-In, CD or a combination of these. 
    <ul>
-   <li><a href="ices-live.xml">live</a> audio streaming, takes audio from the soundcard which can
-   be captured from say the Mic, line-In, or CD. 
-   <li><a href="ices-playlist.xml">playlist</a> audio streaming, takes pre-encoded Ogg Vorbis files
-   and either sends them as-is or re-encodes them to different settings</p>
+       <li>ices-oss.xml
+       <li>ices-alsa.xml
    </ul>
+   <p>Playlist audio streaming, takes pre-encoded Ogg Vorbis files and either sends them
+   as-is or re-encodes them to different settings</p>
+   <ul>
+       <li>ices-playlist.xml
+   </ul>
    <h2>General layout</h2>
    <pre>
     &lt;?xml version="1.0"?&gt;
@@ -214,6 +220,7 @@
         &lt;managed&gt;0&lt;/managed&gt;
         &lt;samplerate&gt;22050&lt;/samplerate&gt;
         &lt;channels&gt;1&lt;/channels&gt;
+        &lt;flush-samples&gt;11000&lt;/flush-samples&gt;
     &lt;/encode&gt;
    </pre>
    <p>quality</p>
@@ -245,7 +252,7 @@
    <div class=indentedbox>
     State bitrate in bits per second to limit minimum bandwidth used on a stream.
     Only applies if managed is enabled, this option has very little use so
-    shouldn't really be needed.
+    should not really be needed.
    </div>
    <p>samplerate</p>
    <div class=indentedbox>
@@ -257,8 +264,17 @@
    <p>channels</p>
    <div class=indentedbox>
     State the number of channels to use in the encoding. This will either be the
-    number of channels from the input or 1 due to downmix.
+    number of channels from the input or 1 if downmix is enabled.
    </div>
+   <p>flush-samples</p>
+   <div class=indentedbox>
+     This is the trigger level at which Ogg pages are created for sending to the server.
+     Depending on the bitrate and compression achieved a single ogg page can contain many
+     seconds of audio which may not be wanted as that can trigger timeouts.
+     <p>Setting this to the same value as the encode samplerate will mean that a page per
+     second is sent, if a value that is half of the encoded samplerate is specified then
+     2 ogg pages per second are sent.</p>
+   </div>
   </div>
  </body>
 </html>

Modified: icecast/trunk/ices/doc/faq.html
===================================================================
--- icecast/trunk/ices/doc/faq.html	2005-01-03 20:17:36 UTC (rev 8599)
+++ icecast/trunk/ices/doc/faq.html	2005-01-03 21:04:04 UTC (rev 8600)
@@ -16,15 +16,18 @@
    <h4>Can ices play mp3 files</h4>
    <div class=indentedbox>
     <p>
-     No, there hasn't been much interest in handling mp3 with ices2. The
-     older version ices 0.3 maybe of interest in such cases.
+    No, there hasn't been much interest in handling MP3 with ices 2. The older version ices
+    0.x maybe of interest in such cases.  If you really want to encode the Vorbis stream from
+    non-vorbis files then you can play them with an external application, eg xmms, and use
+    ices 2 to capture from the soundcard, but be aware that any conversion from one lossy format
+    to another is bad so make sure the original material is high quality.
     </p>
    </div>
    <h4>How do I encode from Line-In</h4>
    <div class=indentedbox>
     <p>
      IceS will read from the DSP on the soundcard, but where that gets the
-     audio from depends on the mixer settings.  Use a utility like aumix to 
+     audio from depends on the mixer settings.  Use a utility like aumix/alsamixer to 
      see the settings and change the capture or recording device. Usually the
      default is the Mic
     <p>
@@ -35,6 +38,8 @@
     recording device (typically /dev/dsp) open. A good candidate is esd. What
     happens is that the driver only allows one application to have the device
     open at any one time, a second attempt will just block.
+    <p>Some OSS drivers allow multiple opens but on ALSA you can configure a virtual
+    device in asound.conf, type dsnoop/dmix, which allows access for multiple apps.</p>
    </div>
    <h4>Ices reports a message about failing to set samplerate on live input</h4>
    <div class=indentedbox>
@@ -51,6 +56,13 @@
     oss, alsa etc), that way anything that is played by that other application
     is encoded and sent to icecast.
    </div>
+   <h4>My player connects but I don't hear anything</h4>
+   <div class=indentedbox>
+     If you are getting data through to the player and the settings show like the
+     samplerate and chnnels then it is probably the mixer settings which are set
+     incorrectly and ices can only read silence. A common example, ALSA may have
+     many levels in the mixer and by default they are all muted.
+   </div>
    <h4>My player seems unable to play the stream</h4>
    <div class=indentedbox>
     If the stream looks to be getting to the player then it will be how the



More information about the commits mailing list