So I’ve appropriately set a valid url (in the sense that I can open the image in a browser) for both the SDPosterUrl and HDPosterUrl in the content metadata. The Roku fails to load this image into any screen I try (roGridScreen, roPosterScreen, etc). All I get is “Image not available” text or a TV placeholder image on newer Rokus. The strange thing is I can take the same image file that the url is pointing to and include it in the channel package and it will load up fine. Is there some header or other bit that the Roku is expecting when requesting the image from the provided url? The test url I’m using right now is https://dl.dropboxusercontent.com/u/13209686/chromecast/headphones.png, and as you can see is being served by dropbox.
“saulpower” wrote:
So I’ve appropriately set a valid url (in the sense that I can open the image in a browser) for both the SDPosterUrl and HDPosterUrl in the content metadata. The Roku fails to load this image into any screen I try (roGridScreen, roPosterScreen, etc). All I get is “Image not available” text or a TV placeholder image on newer Rokus. The strange thing is I can take the same image file that the url is pointing to and include it in the channel package and it will load up fine. Is there some header or other bit that the Roku is expecting when requesting the image from the provided url? The test url I’m using right now is https://dl.dropboxusercontent.com/u/13209686/chromecast/headphones.png, and as you can see is being served by dropbox.
If you’re using an “https” url then you need to call SetCertificatesFile on the screen object, e.g:
screen.SetCertificatesFile ("common:/certs/ca-bundle.crt")
I have that set, it doesn’t appear to be the issue.
Dropbox links that worked for me in the past look like this:
https://www.dropbox.com/s/ie5uiazxsubxu … e.mp3?dl=1
Try adding the ?dl=1 at the end
The image link works fine in an roPosterScreen on my Rokus (it shows a picture of some headphones). I’ve tried it on an old Roku HD running the 3.1 firmware, and on a Roku 2XS with the 6.2 firmware. It may help to use roSystemLog to check for http errors:
Sub Main ()
port = CreateObject ("roMessagePort")
sl = CreateObject ("roSystemLog")
sl.SetMessagePort (port)
sl.EnableType ("http.error")
sl.EnableType ("http.connect")
ui = CreateObject ("roPosterScreen")
ui.SetMessagePort (port)
ui.SetCertificatesFile ("common:/certs/ca-bundle.crt")
ui.SetContentList ([{
SDPosterUrl: "https://dl.dropboxusercontent.com/u/13209686/chromecast/headphones.png",
HDPosterUrl: "https://dl.dropboxusercontent.com/u/13209686/chromecast/headphones.png",
}])
ui.Show ()
While True
msg = Wait (0, port)
If Type (msg) = "roSystemLogEvent"
info = msg.GetInfo ()
If info.LogType = "http.error" Or info.LogType = "http.connect"
Print "roSystemLogEvent. Url: "; info.Url
Print "roSystemLogEvent. OrigUrl: "; info.OrigUrl
Print "roSystemLogEvent. Method: "; info.Method
Print "roSystemLogEvent. Status: "; info.Status
Print "roSystemLogEvent. TargetIp: "; info.TargetIp
Print "roSystemLogEvent. HttpCode: "; info.HttpCode
Print
EndIf
EndIf
End While
End Sub
Note that there is a long standing bug on the roGridScreen where it doesn’t support HTTPs posters, even if you set the certificates file. That may be the issue you’re running into, in which case, you could download them to tmp:/ first.
Could this issue be the same or related to viewtopic.php?f=34&t=85897 or viewtopic.php?p=483874&sid=f9b2c289420f07dcda53ae75bd8c5b0a#p483912
“wpinkman” wrote:
Could this issue be the same or related to viewtopic.php?f=34&t=85897 or viewtopic.php?p=483874&sid=f9b2c289420f07dcda53ae75bd8c5b0a#p483912
It doesn’t appear to be related. I haven’t had any problems accessing that url using roPosterScreen from my Rokus. I haven’t tried it from roGridScreen though.
I decided to implement the suggested workaround of downloading the images and saving them to tmp:/.
