PDA

View Full Version : SqueezePlay and SqueezeBox Radios not loading the covers I give them



torarnv
2010-03-15, 13:42
Hey all,

I'm doing a ProtocolHandler where I implement getMetadataFor(), and the HASH i return contains cover => "http://myserver:8080/image?id=12345".

What I'm seeing is that both the SqueezeBox Server web interface and the iPeng app for the iPhone loads the covers just fine, but the SqueezePlay application and my two SB Radios don't. This is also true if I just try to pass a static resource on the same server http://myserver:8080/images/foo.jpg

If I try passing http://myserver/test.jpg it works fine, where port 80 is running Apache, and also if I pass http://myserver:8089/test.jpg where I run a minimal python-based web server (BaseHTTPServer).

Does anyone have any tips on what could be causing this or where I could look for differences?

I've tried making the headers exactly the same, but to no avail.

Thanks for any input!

Tor Arne

torarnv
2010-03-15, 17:06
Small update:

I was playing around with something else (getting custom covers for favorites) and tried returning http://myserver/images/cover.jpg from my protocol handler's getIcon().

I then looked in the SB web interface and discovered a missing image for the favorite entry I had just created, so I checked the src tag:


http://www.mysqueezebox.com/public/imageproxy?w=25&h=25&u=http://myserver/images/cover.jpg

No wonder the image was broken. Could this be the same case for SqueezePlay and my two Radios? That they use the image proxy?

Is there any way to turn off the imageproxy completely?

Thanks!

andyg
2010-03-15, 17:18
On Mar 15, 2010, at 8:06 PM, torarnv wrote:

>
> Small update:
>
> I was playing around with something else (getting custom, per-track
> covers for playlists) and tried returning
> http://myserver/images/cover.jpg from my protocol handler's getIcon().
>
> I then looked in the SB web interface and discovered a missing image
> for the playlist entry I had just created, so I checked the src tag:
>
> http://www.mysqueezebox.com/public/imageproxy?w=25&h=25&u=http://myserver/images/cover.jpg

You can use a private IP address instead of a hostname to disable the imageproxy. Resizing is slow and the quality sucks when using SDL on the device, that's why we try to have the server resize all remote URLs. Our detection of a local vs. remote URL isn't perfect, obviously.

torarnv
2010-03-15, 17:43
You can use a private IP address instead of a hostname to disable the imageproxy. Resizing is slow and the quality sucks when using SDL on the device, that's why we try to have the server resize all remote URLs. Our detection of a local vs. remote URL isn't perfect, obviously.

Ah, I see. Where in the code can I find the detection part if I want to learn more about it? I tried 192.168.1.100:8080 and it's still using the image proxy :(

Thanks!

Tor Arne

PS: I guess if imageproxy was part of Squeezebox Server so I ran the downscaling on my local server everything would be fine (that would also remove any privacy issues by exposing stuff to squeezebox.com)

andyg
2010-03-15, 18:00
On Mar 15, 2010, at 8:43 PM, torarnv wrote:

>
> andyg;525450 Wrote:
>>
>> You can use a private IP address instead of a hostname to disable the
>> imageproxy. Resizing is slow and the quality sucks when using SDL on
>> the device, that's why we try to have the server resize all remote URLs.
>> Our detection of a local vs. remote URL isn't perfect, obviously.
>
> Ah, I see. Where in the code can I find the detection part if I want to
> learn more about it? I tried 192.168.1.100:8080 and it's still using the
> image proxy :(

http://svn.slimdevices.com/repos/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/SlimServer.lua

Search for imageproxy.

Your URL should work with that IP/port though.

torarnv
2010-03-15, 18:20
Thanks, I'll try to play around with SqueezePlay

torarnv
2010-03-18, 11:21
Thanks, I'll try to play around with SqueezePlay

Turns out this was the cause:

Bug 15912 - Case-sensitive handling of HTTP response headers causes network timeouts
https://bugs.slimdevices.com/show_bug.cgi?id=15912

Luckily there's a way I can hack around it on my side