Skip to content

Latest commit

 

History

History
134 lines (102 loc) · 10.7 KB

manifest.md

File metadata and controls

134 lines (102 loc) · 10.7 KB

Roku Channel Manifest

Overview

The root level of all Roku Channels must contain a manifest file containing important attributes for the application. These attributes include the name and version number of the application, the channel icon, splash screen image, etc.

Sections:


Manifest Guidelines

  • Each attribute is on a separate line, and has the form name=value
  • Each name=value pair must end with a newline character, or it may not be parsed by the firmware
  • The last line must end with a newline character
  • Empty lines are ignored
  • Lines beginning with a '#' (number sign) are comment lines and are ignored
  • All graphics files specified in the manifest file should be included in the images directory.
  • The URI to set the path to the files should use the pkg: resource prefix, such as pkg:/images/splash-screen.png.

Required Attributes

These are the minimum attributes required for every Roku channel:

Attribute Type Description Sample manifest entry Specification
title string name of the channel title=Roku Media Player
major_version integer major portion of channel version major_version=1
minor_version integer minor portion of channel version minor_version=2
build_version integer build number build_version=150
mm_icon_focus_hd string local URI for the channel icon mm_icon_focus_hd=pkg:/images/channel-icon.png 540x405
splash_screen_fhd string local URI for the splash screen displayed when the channel is launched splash_screen_fhd=pkg:/images/splash-screen.png 1920x1080

Optional Attributes

The following categories of attributes are optional:

Splash Screen Attributes

Attribute Type Description Sample manifest entry Specification
splash_color hex value background color to use if the splash screen image is not full screen splash_color=#121212
splash_min_time1 integer minimum amount of time (in milliseconds) to display the splash screen splash_min_time=1500
splash_screen_hd2 string local URI for the HD splash screen splash_screen_fhd=pkg:/images/splash-screen.png 1280x720
splash_screen_sd2 string local URI for the SD splash screen splash_screen_fhd=pkg:/images/splash-screen.png 720x480

1 If no value is specified, then 1600 (1.6 seconds) is used. If 0 is specified, then there is no default time, so the splash screen disappears as soon as the application displays its first screen. (This may result in the appearance of flashing, if your application shows its first screen quickly).

2 The FHD splash screen image is scaled down for HD and SD display modes but this attribute can be used to specify a resolution-specific splash screen image.

Graphics Scaling Attributes

Attribute Type Description Sample manifest entry
ui_resolutions1 comma separated values A comma-separated list of up to three strings that identify the UI resolutions the application has been designed to support. ui_resolutions=sd,hd,fhd
uri_resolution_autosub2 comma separated values Provides a flexible way to specify graphical image URIs that are automatically modified to replace a specified string with a string that gets a resolution-specific graphical image. uri_resolution_autosub=$$RES$$,SD,720p,1080p

1 The default value is sd,hd.
sd Applications designed for standard definition 720x480
hd Applications designed for high definition 1280x720
fhd Applications designed for full high definition 1920x1080

2 The attribute value is a comma-separated list of four strings that specify the string to be replaced along with the replacement strings for SD, HD and FHD resolutions.

For example, suppose the manifest includes this line: uri_resolution_autosub=$$RES$$,SD,720p,1080p And the Roku player supports full high-definition resolution.

Then if the application specifies a URI of: http://www.roku.com/testChannel/assets/$$RES$$/rokuTV.jpg At runtime that URI will be modified to: http://www.roku.com/testChannel/assets/1080p/rokuTV.jpg and the application will get the full-high definition version of the graphical image in the specified directory.

Launch Requirement Attributes

Attribute Type Description Sample manifest entry
requires_audiometadata integer The roAudioMetadata component requires the use of a dynamically loaded library that is not part of the initially booted image. Therefore, an entry must be added to the manifest of any applications that use the roAudioMetadata component so that it can be loaded when the channel is launched. requires_audiometadata=1
requires_gaming_remote integer Specifies that a gaming remote must be linked to the Roku Player to launch the application. If not, a dialog box is presented to the user. requires_gaming_remote=1
requires_mkv integer Playing MKV files requires the use of a dynamically loaded library that is not part of the initially booted image. Therefore, an entry must be added to the manifest of any applications that require MKV support so that support is enabled when the channel is launched. requires_mkv=1
network_not_required integer Set to 1 to specify the application does not require the network (such as the USB Media Player). This lets the user launch an application even if there is no network connection. network_not_required=1
bs_libs_required string Specifies the BrightScript libraries required for the application. bs_libs_required=roku_ads_lib
usb_media_handler integer Set to 1 to specify if the channel can be auto-launched when a USB device is inserted. usb_media_handler=1

DRM Attributes

Attribute Type Description Sample manifest entry
requires_aaxs_drm integer Downloads the required library to use Adobe Access DRM. requires_aaxs_drm=1
requires_aaxs_version value Specifies the version of Adobe Access to use. Roku currently supports version 1.0. requires_aaxs_version=1.0
requires_verimatrix_drm integer Downloads the required library to use Verimatrix DRM. requires_verimatrix_drm=1
requires_verimatrix_version value Specifies the version of Verimatrix DRM to use. Roku currently supports version 1.0. requires_verimatrix_version=1.0

See Content Protection for implementation details.

Special Purpose Attributes

Attribute Type Description Sample manifest entry
hidden integer The hidden property tells the firmware to not display the app on the home screen. Hidden apps can still be launched over the network via the External Control API. hidden=1
playonly_aware integer Attribute to specify the application responds to the Play Only remote control button event. If not set, the application will receive the Play event instead when the user selects the button. playonly_aware=1
rsg_version value Set the SceneGraph observer callback model. This defaults to 1.1 as of firmware v7.5 if it's not specified in the manifest. rsg_version=1.0
automatic_audio_guide_disabled integer Set to 1 to disable Audio Guide within a channel. automatic_audio_guide_disabled=1
bs_prof_enabled boolean enable BrightScript profiling bs_prof_enabled=true
bs_prof_sample_ratio float the ratio at which profiling samples are taken bs_prof_sample_ratio=1.0

Screensaver Attributes

For an overview and guide on screensavers, see Screensavers on Roku.

Required Screensaver Attributes

For stand-alone screensavers, only the following attributes are required:

Attribute Type Description Sample manifest entry
screensaver_title string name of the screensaver displayed in Settings screensaver_title=Dog Screensaver
major_version integer major portion of screensaver version major_version=1
minor_version integer minor portion of screensaver version minor_version=2
build_version integer build number build_version=150

Optional Screensaver Attributes

Attribute Type Description Sample manifest entry
screensaver_private integer Attribute to specify if the screensaver will only run within a channel. screensaver_private=1

Legacy Attributes (Deprecated)

The following attributes are no longer required or used by Roku devices:

Attribute Type Description Sample manifest entry
subtitle string Short promotional description of your application for display beneath the title subtitle=providing the latest in cool videos
mm_icon_side_hd string local URI for side unfocused image for HD mm_icon_side_hd=pkg:/images/side-hd.png
mm_icon_side_sd string local URI for side unfocused image for SD mm_icon_side_sd=pkg:/images/side-sd.png
mm_icon_focus_sd string Local URI for the channel poster image for SD mm_icon_focus_sd=pkg:/images/focus-sd.png
requires_bluetooth integer Specifies that a Bluetooth remote must be linked to the box to launch the app. If not, a dialog box is presented to the user. This attribute has been superseded by requires_gaming_remote. requires_bluetooth=1