Current listeners list omitting many listeners, bad "now playing" data, etc.

Read 13098 times
Hi All,

Recently our users have started complaining of odd listener figures & missing "now playing" data on their streams.

We have been getting log entries of ServerControl::getstatus: Invalid username or password

Can someone tell me what it means & what I need to be doing?

ed: changed topic subject to make this topic easier to find/identify
Last Edit: December 11, 2010, 04:57:18 pm by Centova - Steve
Recently our users have started complaining of odd listener figures & missing "now playing" data on their streams.
If I had to wager a guess, I'd say that your users have an AppleTV device tuned in to their streams.  AppleTV devices have been gaining a lot of traction lately so this issue is becoming common, so (for all who are wondering) here are some details.

Long explanation: Apple, in its infinite wisdom, decided to put a high-ascii character in its user-agent string for the AppleTV device (looks like it's supposed to be a "registered trademark" symbol or something like that).

ShoutCast DNAS provides status information to external programs (like Centova Cast) through an XML page it generates.  That XML page includes the user-agent string of each connected listener.  Unfortunately, ShoutCast doesn't properly escape the high-ascii characters in the user-agent string into proper XML entities, so when you run it through a standard XML parser (like, say, the one in Centova Cast :) ) the parser will choke on the document when it reaches the unescaped character... so any data after the unescaped character is lost.

Short version: we can't fix the root issue since it's a ShoutCast bug, but we have a patch available here that strips any invalid characters from the XML before parsing it, which effectively solves the problem.  Just download, unpack, and read the README.

Quote
We have been getting log entries of ServerControl::getstatus: Invalid username or password
This is a debug message that was inadvertently left in the code at release time.  It is entirely harmless, has nothing to do with the above issue, and can safely be ignored.