Upgrading to v10 from v9? read our migration guide to avoid breaking
changes in your player set up! It should be noted that only critical bug fix will be released for Radiant
Media Player v9 from now on, so all users are encouraged to update to Radiant Media Player v10 as soon as
possible. Radiant Media Player v9 documentation can still be accessed
here.
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
Added forceMseHlsOnAppleDevices setting that replaces
forceHlsJSOnAppleDevices (forceHlsJSOnAppleDevices is still available for
backward compatibility)
Previous releases are PREVIEW releases and should not be used in production
10.0.9 - February 3, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
Added iconSpinner setting and set default value to 'classic' for a classic circling
spinner (other option is 'rmp' for a more modern spinner)
Bug fixes
Fixed a race issue that could cause setSrc API to fail when used before player
initialisation
Fixed a layout issue when using a custom flex items order for time/volume elements in player
control bar
Dependencies
Updated Shaka player: 4.12.8 -> 4.12.10 for latest bug fixes
10.0.8 - January 30, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Bug fixes
Fixed stop, seekToChapter, seekToFrame,
loadAds API methods that could fail at rejecting in some edge cases
10.0.7 - January 30, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Bug fixes
Clarified Promise rejection value for setSrc that can be either an error or a warning
(non-fatal)
Fixed an issue that could happen when using setSrc API method before player
initialisation where Promise would not reject as expected
Fixed some warnings that would not return correct value with warningData getter
10.0.6 - January 27, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Bug fixes
Fixed a Promise race issue that could cause error at init method to resolve when
supposed to reject
Fixed returned value for Promise rejection with API methods that reject to a WarningData Object
(WarningData Object would return default values before)
10.0.5 - January 24, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
Re-added dashFirst setting
Some logs reformatting for debug build
Dependencies
Updated hls.js: 1.5.18 -> 1.5.20 for latest bug fixes
10.0.4 - January 22, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
All player builds now have a specific types file
Added warningData getter
Dependencies
Updated Shaka player: 4.12.4 -> 4.12.8 for latest bug fixes
10.0.3 - January 22, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
Re-named rmp.module.js to rmp.min.mjs file to for better consistency
Added the possibility to load Radiant Media Player as a module through our cloud-player with
importmap
Bug fixes
Fixed default text track that would not be enabled on iOS when using ccFiles setting
getAutoplayResult and getStreamMode API method can now be called before
ready event
10.0.2 - January 20, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
Improved documentation for types (JSDoc, TypeScript)
Bug fixes
Re-added missing rmp.min.d.mts file with v10 release
10.0.1 - January 15, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
Improvements
Revamp UI for cue-points
Bug fixes
Fixed custom modules not positioned correctly, following v10 release
Fixed waiting UI not positioned correctly for s2 skin, following v10 release
10.0.0 - January 13, 2025 PREVIEW
PREVIEW RELEASE - DO NOT USE IN PRODUCTION - ONLY FOR
DEVELOPMENT AND TESTING
Radiant Media Player v10 brings our player up to modern JavaScript standards with a complete rewrite to
add CSS Flexbox and JavaScript async, Promise, getter|setter support - Radiant Media Player v10 is our
fastest and best developer-friendly work to date - Enjoy!
CSS Flexbox support - Breaking Changes
Rewritten player CSS with CSS Flexbox for improved responsive design
The new Less CSS player files structure is as follows:
360/360.less
accessibility/accessibility.less
ads/ad-blocker.less
ads/ads.less
ads/rmp-vast.less
ads/ssai.less
ads/vpaid.less
audio-only/audio-only.less
cast/airplay.less
cast/google-cast.less
control-bar/auto-hide.less
control-bar/control-bar.less
control-bar/cue-point.less
control-bar/hide-controls.less
helpers/colors.less
helpers/fonts.less
helpers/mixins.less
helpers/reset.less
helpers/scrollbar.less
icons/common-icons.less
icons/icons-font-awesome.less
icons/icons-material.less
icons/icons-size.less
list/playlist.less
list/related.less
live/dvr.less
live/live.less
misc/central-ui.less
misc/container.less
misc/error.less
misc/floating.less
misc/fullscreen.less
misc/logo.less
misc/poster.less
misc/title-description.less
misc/transcripts.less
modules/fcc.less
modules/modules.less
modules/sharing.less
modules/vtt-js.less
skins/outstream.less
skins/s1.less
skins/s2.less
skins/tv.less
spinner/spinner.less
Added module selection support when an overlay module is opened
Rewritten transcript layout with CSS Flexbox
Rewritten related layout with CSS Flexbox and revamped related wall UI
Rewritten playlist layout with CSS Flexbox and revamped playlist UI
Replaced rmp-time-total CSS class with rmp-seek-bar-sliding-area
Replaced rmp-current CSS class with
rmp-seek-bar-sliding-current-position CSS class
Replaced rmp-loaded CSS class with rmp-seek-bar-sliding-loaded
Replaced rmp-handle CSS class with
rmp-seek-bar-sliding-handle CSS class
Streaming
Added cmcdIncludeKeys setting to support includeKeys CMCD for Shaka player (already
available for hls.js)
Replaced forceHlsJSOnIpadOS, forceHlsJSOnMacOSSafari and
forceHlsJSOnIos settings with forceHlsJSOnAppleDevices setting
Removed retryParameters.maxTimeout property and updated default timeout values for a
more patient default retry behaviour
Shaka player will now select codecs with lowest bitrate by default if multiple codecs are
available for a same rendition
Improved ABR logic with Shaka player for faster bandwidth estimate computation
Added ignoreHardwareResolution setting (Shaka player only)
Added disableIFrames setting (Shaka player only)
Added disableThumbnails setting (Shaka player only)
Replaced preferSpatialAudio with audioPreference.spatialAudio
Added audioCodecs property to audioPreference setting
Added textFormats to subtitlePreference setting
Replaced preferredVideoCodecs and preferredVideoHdr settings with
videoPreference.videoCodecs and videoPreference.videoHdr - Added
videoPreference setting
Added abrstatuschanged API event
Added emsg meta API event with Shaka player - emsg metadata can be queried with
metadata getter when meta event fires
Added ID3 meta API event with Shaka player - ID3 metadata can be queried with
metadata getter when meta event fires
Replaced autoLowLatencyMode setting with lowLatencyMode setting that
needs to be explicitly set - this is to avoid unnecessary code execution for non-low-latency streams
Added HDR mention in quality menu for MPEG-DASH when available
Added displayCodecData setting (defaults to false) to display codecs info for each
rendition in quality menu
Video ads
Added adScheduleReloadOnEnded setting
Added adTagWaterfall optional parameter to loadAds API method to pass a
client-side waterfall solution when dynamically loading video ads in player
Added adprogress and adbuffering API events
Added shakaAWSMediaTailorTrackingUrl setting
Mobile devices
Added automaticLandscapeOnFullScreen setting
automaticLandscapeOnFullScreen and automaticFullscreenOnLandscape
settings now lock screen on landscape mode - viewer needs to explicitly exit fullscreen to disable
lock
360° video
Added gyrometer-based 360° video for mobile devices (note that this requires granting permission
for iOS)
Added video360MobileGyroOffset setting
Logo inclusion - Breaking Changes
logo setting needs to be passed as an object now. This setting has the following
properties:
imgUri: String
clickUri: String
position: String
margin: String
watermark: Boolean
pauseContentOnLogoClick: Boolean
Replaced getLogo() and setLogo() API methods with
logoConfiguration getter|setter
download now returns a Promise that resolves if download has been successful or
rejects to a warning ErrorData object if not
abortDownload now returns a Promise that resolves if download has been
successfully aborted or rejects to a warning ErrorData object if not
Replaced getDownloadedList API method with listDownloadedContent
that returns a Promise that resolves to a DownloadedItem object or rejects to a
ErrorData warning object
Removed downloadlistavailable API event > use listDownloadedContent
Promise result instead
Replaced getAutoplayMode API method with getAutoplayResult API method
Replaced hasDownloadSupport API method with
environment.hasDownloadSupport property
Replaced isOnline API method with
environment.isOnline property
Replaced getPlayerWidth, getPlayerHeight API methods with
getPlayerSize API method (returns an object with width and height properties)
Replaced getBitrateIndex with quality getter
setPlayerSize now only accepts an Object with a width and a
height property as an input
quality getter now replaces
getCurrentBitrateIndex API method (removed)
Removed resetCameraView API method - use cameraView setter with values
{lat: -1, lon:-1, fov: -1} to reset camera angle to default values
Player API - new features
Added getAutoplayResult API method that returns a Promise
downloadprogress event now has Number progress value as event.data
property
Added adScheduleConfiguration getter|setter API to allow dynamic update to an
ad-schedule (when using adSchedule setting)
resize API event now fires only when player actually resizes, not when a resize is
requested
Playlist
New resize mechanism for playlist
Replaced getCurrentPlaylistItemIndex with getPlaylistItem API method
Replaced isPlaylist API method with getPlaylistData API method (will
return [{}] when no playlist is loaded)
getPlaylistItem API method now returns Number representing the index of the currently
loaded playlist item - use getPlaylistData to get playlist item data Object
Removed resetPlaylistItemCallback API method - use
setPlaylistItemCallback with a simple function that returns null instead
Added getPlaylistLoc and setPlaylistLoc API methods
Related
Replaced getCurrentRelatedItemIndex with getRelatedItem getter
Replaced isRelated API method with getRelatedData getter (will return
[{}] when no related is loaded)
getRelatedItem API method now returns Number representing the index of the currently
loaded related item - use getRelatedData to get related item data Object
Removed resetRelatedItemCallback API method - use
setRelatedCallback with a simple function that returns null instead
Added getRelatedLoc and setRelatedLoc API methods
Error management - Breaking Changes
Replaced 101, 102 errors with 7** errors
Added 8** errors for transcript layout
Replaced 1003 warning with 17*** warning
Replaced 1004 warning with 1013 warning
Replaced 1005 warning with 12000 warning
Replaced 1006 warning with 704 error
Added 1010, 1011 warning
Replaced 1014 warning with 1010 warning
Added 1015-1050 warnings
Added 3009 warning
Added 4003 warning
Replaced 700* Google Cast warnings > 1600* warnings
70** warnings are now for playlist/related
Replaced 9002-9005 warnings with 800-802 errors
Added 10003-10019 warnings
Replaced 1200* warnings with setSrc 12000-12004 warnings
Google Cast
Improved sender user-experience when casting ads
Added googleCastAllowSenderVolumeManagement setting and set default to false
User interface
Added custom scrollbar styling for Firefox
Revamped seek-bar thumbnails UI
Updated player icons with newer versions of font-awesome and Google Material Icons project
Consume less energy mode (a.k.a. eco mode)
Refined consumeLessEnergy and capLevelToPlayerSize behaviour when using
Shaka player
Player Performances
Reduced core player build size ~ 10% versus v9
Player sizing now supports full precision for player width and height (no more rounding)
Improved player module overlay fading in and out
Devices support - Breaking Changes
Bump minimum Android version support to Android 6+
Bump minimum Safari version support to Safari 12+
Bump minimum iOS version support to iOS 12+
Bump minimum Tizen version support (Samsung TV) to Tizen 4+
Bump minimum webOS version support (LG TV) to webOS 4+
Removed support for using Radiant Media Player to build Fire TV apps and Android TV apps due to
low usage
Bug fixes
Fixed hlsLevelData getter that could return invalid values
adSkipTimeOffset getter now returns -1 when no ad is on stage
Guarding against multiple init calls on a single player instance
Fixed some potential orientation issues for mobile devices
Correctly updated current time on Google Cast receiver player after playing ads
Properly ordered navigation for quality/audio/captions control bar icons when using keyboard tab
key
Fixed "ResizeObserver loop completed with undelivered notifications" non-fatal error that could
happen
in some edge cases
Fixed a bug that could prevent ad markers to show with adSchedule setting when
streaming
with MPEG-DASH
Fixed potential Google Cast failure because getMediaSession would not be available
Fixed some navigation issues with tab key when an overlay module is opened
Breaking Changes
Please review "CSS Flexbox support - Breaking Changes" above section
Please review "Player API - Breaking Changes" above section
Please review "Devices support - Breaking Changes" above section
Removed built-in aync player loading support -> refer to
async loading documentation for a new way
to achieve aync player loading
Removed rmpasyncplayerinstanceavailable API event
Removed player module build -> this will be re-added with an upcoming minor release
Removed skip button on cast sender player for skippable ads > ads need to be explicitly skipped on
TV/receiver now
Removed forceInitialVolume setting
Removed getCurrentBitrateIndex API method > use quality getter
Removed hasDownloadSupport API method > use
environment.hasDownloadSupport now
Removed isOnline API method > use
environment.isOnline now
Removed legacy support, forceLegacyDependencies setting and related files
Removed Streamroot P2P support as this solution is now obsolete and streamrootConfig
setting
Replaced forceHlsJSOnIpadOS, forceHlsJSOnMacOSSafari and
forceHlsJSOnIos settings with forceHlsJSOnAppleDevicessetting
Removed detectViewerLanguage setting - this is now managed internally by player
adSchedule.preroll and adSchedule.postroll must now be a string (no more
passing Array support)
Removed shakaPreferredAudioLanguage and shakaPreferredTextLanguage
settings
- use audioPreference and subtitlePreference settings
Replaced preferredVideoCodecs and preferredVideoHdr settings with
videoPreference.videoCodecs and videoPreference.videoHdr - Added
videoPreference setting
Removed backupSrc setting - use MPEG-DASH Multiple Base URLs or HLS Redundant variant
streams instead
Removed labels.hint.cast, labels.hint.airplay and
labels.hint.pip
Removed labels.bitrates property
Removed enableFrameNavigation setting - this is now enabled by default
Removed ajaxTimeout setting - this is now set internally
Removed liveOnResumeKeepSyncWithEdge setting for hls.js > use hls.js custom
configuration instead
Removed retryParameters.maxTimeout property
Removed hlsJSStartLevel, hlsJSDefaultAudioCodec and
hlsJSMinAutoBitrate for hls.js - those settings are now automatically set internally
Removed shakaStartAtSegmentBoundary, shakaInaccurateManifestTolerance
and shakaIgnoreMinBufferTime for Shaka player - those settings are now automatically
set internally
Removed environment.isModern property
Replaced preferSpatialAudio with audioPreference.spatialAudio
Removed adparserloaderror API event > use adblock API event instead
(included for Google Analytics)
Removed getAdParserBlocked API method > use getAdBlock instead
Removed startuptimeavailable redundant API event > use firstframe API
event instead
Removed shakatrackschanged API event
Re-named rmp.module.js to rmp.min.mjs file to for better consistency
Added warningData getter - warning details can no longer be obtained with
errorData getter upon 'warning' event but warningData getter must now be
used
Replaced shakamanifestparsed and hlsmanifestparsed with universal
manifestparsed API event
Replaced initialBitrate with initialQuality setting
Replaced hlslevelloaded with levelloaded API event (hls.js only)
Replaced hlsmanifestloaded with manifestloaded API event (hls.js only)
Replaced hlsfragmentbeingplayedchanged with fragmentbeingplayedchanged
API event (hls.js only)
Replaced hlsfragmentloaded with fragmentloaded API
event (hls.js only)
Replaced hlsinstancecreated with hlsjsinstancecreated API
event (hls.js only)
Replaced levelswitching with universal qualitychanging API event
Replaced levelswitched with universal qualitychanged API event
Replaced audiotrackswitching with universal audiotrackchanging API event
Replaced audiotrackswitched with universal audiotrackchanged API event
Removed playlist and related API events > use
setPlaylistData, setPlaylistLoc and setRelatedData,
setRelatedLoc Promise result instead
Replaced playlistitem with playlistitemloaded API event
Replaced relateditem with relateditemloaded API event
Custom icon "off-volume" property is now "volume-off" property
Removed "vr" custom icon
Replaced autoLowLatencyMode setting with lowLatencyMode setting that
needs to be explicitly set
Dependencies
Updated Shaka player: 4.7.15 -> 4.12.4 for latest bug fixes and features
Updated three.js: r141 -> r160 for latest bug fixes and features
Updated hls.js: 1.5.17 -> 1.5.18 for latest bug fixes