Bug 14824 - Reciva Internet Radios claim to support Icy-MetaData, but then glitch on metadata packets
: Reciva Internet Radios claim to support Icy-MetaData, but then glitch on meta...
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Streaming From SlimServer
: 7.4.1
: All All
: P1 enhancement (vote)
: 7.5.0
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-10-18 02:34 UTC by Simon Hyde
Modified: 2010-04-08 17:26 UTC (History)
5 users (show)

See Also:
Category: ---


Attachments
Patch to disable Icy MetaData for Reciva Internet Radios (2.17 KB, patch)
2009-10-18 02:34 UTC, Simon Hyde
Details | Diff
Patch to disable Icy MetaData for Reciva Internet Radios (actually works) (2.32 KB, patch)
2009-10-18 03:49 UTC, Simon Hyde
Details | Diff
Patch to re-order icy-name and icy-metaint headers to keep Reciva internet radios happy (1.22 KB, patch)
2009-10-24 10:32 UTC, Simon Hyde
Details | Diff
Ensure icy-metaint is always the last header to keep reciva radios happy (525 bytes, patch)
2009-10-24 15:59 UTC, Simon Hyde
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Hyde 2009-10-18 02:34:23 UTC
Created attachment 6153 [details]
Patch to disable Icy MetaData for Reciva Internet Radios

Whilst the headers coming from an Internet Radio based on Reciva hardware
request MetaData (using the Icy-MetaData: 1 header), they actually produce
audio glitches on every metadata packet.

The Reciva Internet Radio software's headers emulate those of a RealPlayer, but
can be distinguished from RealPlayer by the absence of an "Accept-Encoding"
header.

The attached patch checks for Reciva radios and disables the sending of any
MetaData other than an initial stream name in the HTTP headers.
Comment 1 Simon Hyde 2009-10-18 03:49:01 UTC
Created attachment 6155 [details]
Patch to disable Icy MetaData for Reciva Internet Radios (actually works)

Patch which actually works for Reciva internet radios.

That'll teach me to tweak things at the last minute before submitting a patch and not actually test my changes.
Comment 2 Andy Grundman 2009-10-19 13:12:12 UTC
I'm very inclined to mark this won't fix, this is not our problem to solve.  Does Reciva glitch on every Icy stream out there?!
Comment 3 Simon Hyde 2009-10-24 10:30:09 UTC
Interesting question. I hadn't really thought of it that way before.

After a fair bit more investigation it turns out that the Reciva radios don't pay attention to the icy-metaint header correctly unless it is preceded by the icy-name header. Shoutcast/Icecast servers always seem to output the icy-name header before the icy-metaint header, squeezebox server on the other hand happens to always output them the other way around.

I'll attach another patch which swaps the ordering of the icy-metaint and icy-name headers if the icy-metaint header was going to be output before the icy-name header.
Comment 4 Simon Hyde 2009-10-24 10:32:09 UTC
Created attachment 6194 [details]
Patch to re-order icy-name and icy-metaint headers to keep Reciva internet radios happy
Comment 5 Andy Grundman 2009-10-24 10:43:14 UTC
Heh, I hope you also filed a bug at Reciva's site!

I don't like this patch as it's huge, can you come up with a smaller one?  I'm willing to change this but only if it doesn't result in a huge if block specific to Reciva, i.e. we can just swap the headers for everyone.
Comment 6 Simon Hyde 2009-10-24 15:59:01 UTC
Created attachment 6196 [details]
Ensure icy-metaint is always the last header to keep reciva radios happy

On Sat, 24 Oct 2009, bugs@bugs.slimdevices.com wrote:

> Heh, I hope you also filed a bug at Reciva's site!

Well..I've posted a message on their forums, which is about as good as you
can get as an end user. I don't like my chances of getting much of a reply out of them.

> I don't like this patch as it's huge, can you come up with a smaller one?

Hmmm...okay...I can provide the same result in a one-liner regular expression instead, how's that? :)
Comment 7 Andy Grundman 2009-10-24 16:11:57 UTC
Much better, thanks. :)  Will get this into 7.5.
Comment 8 Michael Herger 2009-12-01 23:19:14 UTC
Andy - I can apply this patch if this is all that needs to be done :-).

Simon - is there any url I could test this with?
Comment 9 Simon Hyde 2009-12-02 11:02:33 UTC
(In reply to comment #8)
> Simon - is there any url I could test this with?


Ur...a URL? I think you're mis-understanding what this fix is for. It makes streams created by SqueezeBox Server playable on hardware internet radios based upon a board produced by Reciva.

As such to test it you need a Reciva hardware radio.
Comment 10 SVN Bot 2009-12-02 11:20:51 UTC
 == Auto-comment from SVN commit #29524 to the slim repo by andy ==
 == https://svn.slimdevices.com/slim?view=revision&revision=29524 ==

Fixed bug 14824, patch from Simon Hyde to fix Icy stream playback on Reciva devices
Comment 11 Mike Walsh 2009-12-03 23:33:38 UTC
kind of an amusing bug, but reciva or not, its probably a good idea and good that SBS should emulate shoutcast in the way it creates a stream.  nice.
Comment 12 Paul Webster 2010-01-19 06:33:45 UTC
*** Bug 15494 has been marked as a duplicate of this bug. ***
Comment 13 Paul Webster 2010-01-19 09:17:20 UTC
Any chance of retrofitting this small and low-risk bug to 7.4.2 since 7.5 is still a way of official release?
Comment 14 SVN Bot 2010-01-19 09:36:43 UTC
 == Auto-comment from SVN commit #29844 to the slim repo by andy ==
 == https://svn.slimdevices.com/slim?view=revision&revision=29844 ==

Bug 14824, backport Reciva hack to 7.4
Comment 15 Paul Webster 2010-01-20 05:24:58 UTC
Thanks for the back-port.
Downloaded and installed 7.4 nightly and it is working fine - no more digital chirp.
Comment 16 Chris Owens 2010-04-08 17:26:50 UTC
This bug has been marked fixed in a released version of Squeezebox Server or the accompanying firmware or mysqueezebox.com release.

If you are still seeing this issue, please let us know!