<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 07/06/2014 06:43 AM, John Selbie
wrote:<br>
</div>
<blockquote cite="mid:BLU202-W9318B8D75EA636ECC003EB1020@phx.gbl"
type="cite">
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">
<div><span style="font-size: 12pt;">When "Icy-MetaData: 1" is in
the HTTP request to the server, that indicates that the
client wants to receive meta data inlined with the mp3 data
stream. The metadata interval is reported by the server via
the "icy-metaint" header in the response stream.</span></div>
<div>
<div><br>
</div>
<div>
<div><span style="font-size: 12pt;">Such data looks like the
following within the mp3 stream</span></div>
<div><br>
</div>
<div> StreamTitle='Ozzy Osbourne - Crazy
Train';StreamUrl='<a class="moz-txt-link-freetext" href="http://myserver.org">http://myserver.org</a>';</div>
<div><br>
</div>
<div><span style="font-size: 12pt;">Essentially a series of
name/value pairs formatted with single-tick quotes
around each value and delimited with Equals and
Semicolon chars.</span></div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">Here is the question.
If the song title itself contains a quote char in it:</span></div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">
StreamTitle='Destiny's Child - Emotion';</span></div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">How is the tick mark
within that stream title expected to be escaped such
that the StreamTitle isn't parsed as just "Destiny" ?</span></div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div>Is it a URL Encoding (StreamTitle='Destiny%27s Child -
Emotion';) ?</div>
<div><br>
</div>
<div>A C style Encoding (StreamTitle='Destiny\'s Child -
Emotion';) ?</div>
<div><br>
</div>
<div>Or something else?</div>
<div><br>
</div>
<div>I didn't see any escape code in the icecast server
sources. But I did see URL encodings for metadata in the
libshout broadcast client sources. So I suspect that's
the answer. But I wasn't sure if the server did any
re-encoding on the strings.</div>
<div><br>
</div>
<div>Can someone confirm?</div>
</div>
</div>
</div>
</blockquote>
<br>
That's legacy-metadata, modelled after Shoutcast. So you'd need to
look how they do it and how players then expect it.<br>
It is possible that there is a genuine bug in Icecast for not
escaping this, but the core team has no time to spend on legacy
support. So if someone wants to see this fixed, send a patch please,
together with some explanation how it follows general practice
(there is no standard).<br>
<br>
Cheers<br>
<br>
Thomas<br>
</body>
</html>