You should look at the source code for oddcast. it has a neat way of adding metadata to the ogg stream.  It uses libogg (which is it using to encode the vorbis stream) and sort of creates a new beginning of stream packet with the new metadata, so that icecast knows to pick up the change.
<br><br>If you aren&#39;t using ices to encode the audio, only to send it, I would suggest posting the metadata to icecast directly using either libshout or via an http admin post.<br><br>unfortunately you are limited by this latter method of setting the Artist and Title metadata.
<br><br>Also, you can definitely save the pid of ices, and send it SIGHUP to reread its configuration data.<br><br><br><br>Aaron<br><br><div><span class="gmail_quote">On 7/20/07, <b class="gmail_sendername">Geoff Shang</b>
 &lt;<a href="mailto:geoff@quitelikely.com">geoff@quitelikely.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&quot;roger&quot; &lt;
<a href="mailto:roger@eskimo.com">roger@eskimo.com</a>&gt; wrote:<br><br>&gt; Figured it out.&nbsp;&nbsp;Using Ices, I can either write to stdin or a file.<br>&gt;<br>&gt;<br>&gt; Using a file method:<br>&gt;<br>&gt; $ cat metadata
<br>&gt; artist=Eugene Oregon<br>&gt; title=Scanning<br>&gt;<br>&gt; $ ps -ax |grep ices<br>&gt;<br>&gt; $ kill -SIGUSR1 [pid of ices]<br><br>I *think* you can tell Ices to generate a file containing it&#39;s process ID.<br>
(it&#39;s awhile since I messed with Ices 2.x).<br><br>If this is true, you could simply do something like:<br><br>kill -USR1 `cat ices.pid`<br><br>(assuming USR1 is the right signal, I thought it was USR2 actually but I&#39;ve
<br>not looked.)<br><br>&gt; Writing to stdin method:<br>&gt;<br>&gt; [snip]<br>&gt; $cat metadata &gt;<br>&gt; <a href="http://localhost:8000/admin/updatemetadata.xsl?mount=/stream.ogg">http://localhost:8000/admin/updatemetadata.xsl?mount=/stream.ogg
</a><br><br>I&#39;m pretty sure you can&#39;t do this.&nbsp;&nbsp;HTTP is a protocol, not a device, so<br>you&#39;d have to pipe to a program which could talk HTTP and turn your standard<br>input into something usable by Icecast.<br>
<br>But I&#39;m pretty sure you can send standard output to Ices&#39; standard input and<br>get it to read it too.&nbsp;&nbsp;But I&#39;ve not ever done this so have not looked at<br>it.<br><br>Geoff.<br><br>_______________________________________________
<br>Icecast-dev mailing list<br><a href="mailto:Icecast-dev@xiph.org">Icecast-dev@xiph.org</a><br><a href="http://lists.xiph.org/mailman/listinfo/icecast-dev">http://lists.xiph.org/mailman/listinfo/icecast-dev</a><br></blockquote>
</div><br><br clear="all"><br>-- <br>Aaron