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'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>
<<a href="mailto:geoff@quitelikely.com">geoff@quitelikely.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">"roger" <
<a href="mailto:roger@eskimo.com">roger@eskimo.com</a>> wrote:<br><br>> Figured it out. Using Ices, I can either write to stdin or a file.<br>><br>><br>> Using a file method:<br>><br>> $ cat metadata
<br>> artist=Eugene Oregon<br>> title=Scanning<br>><br>> $ ps -ax |grep ices<br>><br>> $ kill -SIGUSR1 [pid of ices]<br><br>I *think* you can tell Ices to generate a file containing it's process ID.<br>
(it'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've
<br>not looked.)<br><br>> Writing to stdin method:<br>><br>> [snip]<br>> $cat metadata ><br>> <a href="http://localhost:8000/admin/updatemetadata.xsl?mount=/stream.ogg">http://localhost:8000/admin/updatemetadata.xsl?mount=/stream.ogg
</a><br><br>I'm pretty sure you can't do this. HTTP is a protocol, not a device, so<br>you'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'm pretty sure you can send standard output to Ices' standard input and<br>get it to read it too. But I'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