merthin
12 years agoVisitor
Questions on SetMaxVideoDecodeResolution + roScreen + roVide
Hello and Happy New Year 2014 all!
I’m working in a channel that uses both the 2D API (roScreen) and Video Playback (roVideoPlayer) to support a custom look while selecting the videos to play. The channel has only one screen and after some navigation it will create a roVideoPlayer playing a video serve over HLS.
In devices like the Roku XD|S and Roku 3 it works fine but not in the Roku 2 XS. In this device although I get messages like “DownloadSegmentInfo” but the video doesn’t play and eventually I get an event of type “requestFailed. (-3) An unexpected problem (but not server timeout or HTTP error) has been detected.”
After some search in the forums I try calling to the SetMaxVideoDecodeResolution method before playing the media content:
player.SetMaxVideoDecodeResolution(1080,720)
The video did play correctly but for only ~20 seconds, after that time, only the sound didn’t freeze. Which confirms that the issue I’m experimenting is memory related as the documentation of the method says: “This API enables applications that want to use both the 2D APIs and video playback with a lower resolution than 1080p. Without this call, these applications are likely to not have enough memory for either video playback or roScreen rendering.”
Checking at the models table I notice that both the Roku 2 XS and the Roku XD|S have 256 the RAM but only the former implements the 2D API using OpenGL (which seems to be shared with the decode memory). The Roku 3 otherwise relies on OpenGL but has 512 RAM.
Does anyone has experience something like this before? If so, what could be a good approach to power a custom UI with Playback in the Roku 2 | XS.
Also: the documentation is not clear, but are the dimensions 1920x1080 and 1080x720 the only valid inputs. What about an SD dimension? I try using them but I don’t get anything, yet I don’t see why I could not be within a display type of 1080p for my channel UI and force the video to don’t be rendered beyond an SD dimension.
Many thanks in advance for any comment!
I’m working in a channel that uses both the 2D API (roScreen) and Video Playback (roVideoPlayer) to support a custom look while selecting the videos to play. The channel has only one screen and after some navigation it will create a roVideoPlayer playing a video serve over HLS.
In devices like the Roku XD|S and Roku 3 it works fine but not in the Roku 2 XS. In this device although I get messages like “DownloadSegmentInfo” but the video doesn’t play and eventually I get an event of type “requestFailed. (-3) An unexpected problem (but not server timeout or HTTP error) has been detected.”
After some search in the forums I try calling to the SetMaxVideoDecodeResolution method before playing the media content:
player.SetMaxVideoDecodeResolution(1080,720)
The video did play correctly but for only ~20 seconds, after that time, only the sound didn’t freeze. Which confirms that the issue I’m experimenting is memory related as the documentation of the method says: “This API enables applications that want to use both the 2D APIs and video playback with a lower resolution than 1080p. Without this call, these applications are likely to not have enough memory for either video playback or roScreen rendering.”
Checking at the models table I notice that both the Roku 2 XS and the Roku XD|S have 256 the RAM but only the former implements the 2D API using OpenGL (which seems to be shared with the decode memory). The Roku 3 otherwise relies on OpenGL but has 512 RAM.
Does anyone has experience something like this before? If so, what could be a good approach to power a custom UI with Playback in the Roku 2 | XS.
Also: the documentation is not clear, but are the dimensions 1920x1080 and 1080x720 the only valid inputs. What about an SD dimension? I try using them but I don’t get anything, yet I don’t see why I could not be within a display type of 1080p for my channel UI and force the video to don’t be rendered beyond an SD dimension.
Many thanks in advance for any comment!