Skip to content

Small fixes to Roku SceneGraph channel sample files#79

Open
DrMattChristian wants to merge 1 commit intorokudev:masterfrom
DrMattChristian:master
Open

Small fixes to Roku SceneGraph channel sample files#79
DrMattChristian wants to merge 1 commit intorokudev:masterfrom
DrMattChristian:master

Conversation

@DrMattChristian
Copy link
Copy Markdown

This pull request updates several sample files in the Roku SceneGraph channel project to improve reliability and developer experience. The main changes include updating external resource URLs to use more reliable or correct links, and adding a VS Code launch configuration for easier debugging.

Resource URL updates:

  • Updated all references to the image URL in various XML files to use the correct domain www.sdktestinglab.com instead of sdktestinglab.com, ensuring images load properly in the app. [1] [2] [3] [4]
  • Changed all sample content feed URLs in .brs files from the deprecated delvenetworks.com RSS feed to more reliable HLS streaming URLs, improving content loading in grid, list, and task examples. [1] [2] [3] [4] [5] [6]

Developer tooling:

  • Added a .vscode/launch.json file to provide a default BrightScript debugging configuration for Visual Studio Code, making it easier for developers to launch and debug the channel.

Copilot AI review requested due to automatic review settings March 25, 2026 20:50
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Roku SceneGraph channel samples to use more reliable external resources and adds a VS Code debug configuration to streamline local development.

Changes:

  • Updated sample poster image URLs to use www.sdktestinglab.com.
  • Replaced deprecated Delve Networks RSS feed URLs with HLS playlist URLs in several BrightScript examples.
  • Added a .vscode/launch.json for BrightScript debugging in VS Code.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ZOrderParentChild/ZOrderRenderables/ZOrderRenderablesExample.xml Updates sample poster image URL domain.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ZOrderParentChild/PCRenderables/PCRenderablesExample.xml Updates sample poster image URL domain.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/SlidingPanels/GridPanel/GridPanelExample.brs Replaces sample content source URL used by ContentReader.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ListsAndGrids/RowList/RowListExample.brs Replaces sample content source URL used by ContentReader.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ListsAndGrids/PosterGrid/PosterGridExample.brs Replaces sample content source URL used by ContentReader.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ListsAndGrids/MarkupList/MarkupListExample.brs Replaces sample content source URL used by ContentReader.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ListsAndGrids/MarkupGrid/MarkupGridExample.brs Replaces sample content source URL used by ContentReader.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ControlNodes/Task/TaskExample.brs Replaces sample content source URL used by ContentReader.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/ControlNodes/MaskGroup/MaskGroupExample.xml Updates sample poster image URL domain.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/components/Animations/AnimationFloat/AnimationFloatExample.xml Updates sample poster image URL domain.
getting started/NewDeveloperOnboardingSample-master/SampleRSGChannel/.vscode/launch.json Adds VS Code launch configuration for BrightScript debugging.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


m.readPosterGridTask = createObject("roSGNode", "ContentReader")
m.readPosterGridTask.uri = "http://api.delvenetworks.com/rest/organizations/59021fabe3b645968e382ac726cd6c7b/channels/1cfd09ab38e54f48be8498e0249f5c83/media.rss"
m.readPosterGridTask.uri = "https://stream-fastly.castr.com/5b9352dbda7b8c769937e459/live_2361c920455111ea85db6911fe397b9e/index.fmp4.m3u8"
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These examples still use a ContentReader task, but the uri is now an HLS playlist (.m3u8) rather than a content feed (RSS/JSON). If ContentReader parses a feed to build a ContentNode tree for grids/lists, this change will likely result in empty/invalid content (or parse errors), breaking the samples. Suggested fix: point uri at a stable feed that returns multiple items (with poster + stream URLs), or update ContentReader to detect .m3u8 inputs and synthesize appropriate ContentNode items (including required metadata like title/HDPosterUrl/streamFormat/url).

Suggested change
m.readPosterGridTask.uri = "https://stream-fastly.castr.com/5b9352dbda7b8c769937e459/live_2361c920455111ea85db6911fe397b9e/index.fmp4.m3u8"

Copilot uses AI. Check for mistakes.

m.readMarkupGridTask = createObject("roSGNode", "ContentReader")
m.readMarkupGridTask.uri = "http://api.delvenetworks.com/rest/organizations/59021fabe3b645968e382ac726cd6c7b/channels/1cfd09ab38e54f48be8498e0249f5c83/media.rss"
m.readMarkupGridTask.uri = "https://stream-akamai.castr.com/5b9352dbda7b8c769937e459/live_2361c920455111ea85db6911fe397b9e/index.fmp4.m3u8"
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new stream URLs use index.fmp4.m3u8 (CMAF/fMP4 HLS). For a sample channel intended to be broadly runnable across Roku models/firmware, fMP4-based HLS can be less compatible than TS-segment HLS depending on device/OS version. To improve reliability (as stated in the PR description), consider switching to a widely-compatible Roku sample HLS URL (TS segments) or providing a fallback URL/format for older devices.

Suggested change
m.readMarkupGridTask.uri = "https://stream-akamai.castr.com/5b9352dbda7b8c769937e459/live_2361c920455111ea85db6911fe397b9e/index.fmp4.m3u8"
' Use a TS-segment HLS stream for broader Roku compatibility
m.readMarkupGridTask.uri = "https://devtools.web.roku.com/samples/hls/master.m3u8"

Copilot uses AI. Check for mistakes.
width = "512"
height = "288"
uri = "http://sdktestinglab.com/Tutorial/images/videopg.jpg" />
uri = "http://www.sdktestinglab.com/Tutorial/images/videopg.jpg" />
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated image URL still uses http://. If the server supports TLS, prefer https:// to avoid downgrade/MITM risk and to reduce the chance of failures in environments that block plain HTTP.

Suggested change
uri = "http://www.sdktestinglab.com/Tutorial/images/videopg.jpg" />
uri = "https://www.sdktestinglab.com/Tutorial/images/videopg.jpg" />

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants