Fixes an issue that could cause the "no support" message to not display properly where player cannot playback content due to device limitations
9.15.3 - April 18, 2024 PRODUCTION
New features
Improves smart preloading for computer/smart TV devices
Adds specific UI markers for "2K" and "5K" renditions in player quality menu (HD, 4K and 8K renditions were already marked)
Adds hint.poster and hint.logo in player labels for multi-languages support of alt text of images
Bug fixes
Replaces "of" English word with "/" universal word for aria-valuetext in seek bar for better user experience on screen reader (e.g. "00:00 of 01:02" now reads "00:00 / 01:02")
Fixes an issue that could cause playlist/related JSON files to fail at loading (regression from 9.15.2)
Disables support for preload set to "metadata" with hls.js (will behave like "auto" from now on)
Dependencies
Updates Shaka player: 4.7.12 -> 4.7.13 for latest bug fixes
Updates rmp-vast: 14.0.1 -> 15.0.1 for latest bug fixes and features
9.15.2 - April 12, 2024 PRODUCTION
Bug fixes
Fixes an issue that could cause poster to not display properly in some case-scenario (regression from 9.15.1)
Fixes an issue that could cause side-loaded VTT captions to not display with MPEG-DASH streams (regression from 9.14.0)
9.15.1 - April 10, 2024 PRODUCTION
API
Viewable feature API is now available even when viewablePlayPause or
viewableAutoplay settings are not set
Frame-accurate navigation API is now always available regardless of
enableFrameNavigation setting
Player will now fire framerateavailable event when frame rate changes for different renditions in a same manifest
Advertisement
Adds __autoplay__, __muted__ and __language__ ad tag variables
Adds adImaDaiVodPodRequestStreamURLCallback setting to start supporting Google IMA DAI VOD Pod streams BETA
Streaming
For renditions with frame rate greater than 30fps (like 60fps or 120 fps) the frame rate will now show in the quality menu next to the rendition height (example 1080p60 for 60fps full HD)
Adds 1013 warning: player ready but hls.js is not instantiated yet - cannot initiate playback - exit
Bug fixes
When preload is set to metadata with hls.js, fixes an issue where very early click on player could cause player to enter unending buffering state if hls.js library has not finished loading - a second click was necessary
to actually start playback, this is no longer the case
Dependencies
Updates Shaka player: 4.7.11 -> 4.7.12 for latest bug fixes
Updates hls.js: 1.5.7 -> 1.5.8 for latest bug fixes
DEPRECATED
enableFrameNavigation setting
9.15.0 - March 20, 2024 PRODUCTION
Google IMA DAI
Adds adImaDaiAuthToken setting to support authorization
token for stream request
Adds omidAccessModeRules setting support for IMA DAI streams
Google Cast
When Google Cast receiver does not support volume control, hide volume button on sender device while casting (receiver volume must be adjusted with TV remove)
When Google Cast receiver does not support volume control, save volume level from sender before casting to re-enable this value when cast session ends
AirPlay
Adds support for AirPlay with HLS using Managed Media Source
Improves sender device volume UI while airplaying to better fit latest AirPlay versions
UI
Adjusts button size in module menu for better usability on small to medium player sizes
MPEG-DASH
Adds support for audioPreference.label property
Improves multiple audio tracks detection
Dependencies
Updates rmp-vast: 14.0.0 -> 14.0.1 for latest bug fixes
9.14.1 - March 11, 2024 PRODUCTION
Bug fixes
Refines smart preloading on mobile devices
Enables adTagReloadOnEnded setting on Apple devices
Fixes an issue with Icecast streams that could fail to start on iOS because of
preload setting
Disables post-roll VMAP/ad-scheduler video ads with Google IMA on iOS due to content recovery issues
Fixes an issue where getCaptionsData could return null on iOS when data were available
Sets fullwindow mode for fullscreen for ads with rmp-vast on iOS (to fit rmp-vast v14 update)
Disables Google IMA video ads on iOS with MPEG-DASH due to content recovery issues
Adjusts border-radius for s1 skin seek-bar and volume-bar to 8px (from 11px)
Dependencies
Updates rmp-connection: 2.0.0 -> 2.1.0 for latest bug fixes and features
9.14.0 - March 8, 2024 PRODUCTION
Video Advertisement
Sets support for SIMID with rmp-vast out of BETA (linear creative only)
Clarifies returned value for getAdUniversalAdIds in documentation
Fixes an issue that could cause HLS streaming with hls.js to pick legacy codecs when newer codecs were available in manifest and supported by the device
Fixes an issue that could cause update of text tracks on Google Cast receiver to not work when initiated from the sender device
Adjusts CSS for FCC closed captions menu at .rmp-large size
Fixes an issue that could cause reset to default request in FCC closed captions menu to not update the selected options properly
Fixes an issue that could cause audio module to be missing after call to setSrc API method
Fixes an issue that could cause volume UI to not properly update after a call to
setSrc when previous content had closed captions
Fixes an issue that could cause enterpictureinpicture and
leavepictureinpicture API events to fire multiple times when not supposed to
Dependencies
Updates rmp-vast: 13.2.0 -> 14.0.0 for latest bug fixes and features
Updates Shaka player: 4.7.8 -> 4.7.11 for latest bug fixes
Updates hls.js: 1.5.4 -> 1.5.7 for latest bug fixes
DEPRECATED
ajaxTimeout setting
9.13.2 - February 12, 2024 PRODUCTION
Bug fixes
Enables video advertisement on iOS when using Managed Media Source with MPEG-DASH or HLS
Fixes an issue with MPEG-DASH streaming where an audio track with an alternate role could not show in the audio selection UI
When only one MP4/WebM file is provided for progressive download, the quality selection UI will now show 'medium quality' instead of 'low quality'
Make sure native HLS is used over Managed Media Source HLS on iOS by default (overridden with
forceHlsJSOnAppleDevices setting)
Dependencies
Updates rmp-vast: 13.1.0 -> 13.2.0 for latest bug fixes and features
9.13.1 - February 7, 2024 PRODUCTION
Bug fixes
Improves frame-by-frame navigation accuracy, especially for high-frame-rate content
HLS streams with attribute FRAME-RATE in manifest no longer require frameRate setting to be explicitly set for frame-by-frame navigation
getCurrentTime and getDuration and other related API methods now return full value for duration and current time in milliseconds but without rounding
Dependencies
Updates Shaka player: 4.7.7 -> 4.7.8 for latest bug fixes
Updates hls.js: 1.5.2 -> 1.5.4 for latest bug fixes
9.13.0 - January 29, 2024 PRODUCTION
Managed Media Source support on Apple devices
We now support the new Managed Media Source API available on Apple devices (Safari 17.0+ for macOS and iPadOS and Safari 17.1 for iOS)
This new API enables a better streaming experience and optimised energy management on Apple devices already using Media Source Extensions
This feature is enabled by default for MPEG-DASH streaming on eligible Apple devices (including iPhone)
For HLS streaming this feature needs to be explicitly enabled for the time being with
forceHlsJSOnAppleDevices set to true or hlsEngine set to 'shakaplayer'
Adds contentMetadata.animatedPoster property to set animated poster
Adds autoplayAnimatedPoster setting to autoplay animated poster on player load - by default the animated poster will show when mouse is hovered the player (standard poster will be shown in the meantime)
Adds 1002 warning: failed to load animated poster at provided URI
Streaming
Adds support for Content Steering with MPEG-DASH or when using HLS with hlsEngine setting set to 'shakaplayer' (feature already available with hls.js)
Adds audioPreference and subtitlePreference settings to set language preference (works with all streaming engines)
Adds preferredVideoHdr setting (works with all streaming engines)
Improves codecs support detection (works with all streaming engines)
Releases rmp-wait-for-live on GitHub: this script handles timed live event automatically for use with Radiant Media Player (HLS or MPEG-DASH)
Adds preliminary support for CMSD (Common Media Server Data) - mb, etp and rtt properties - adds enableCMSD setting (Shaka player only)
Adds preferSpatialAudio setting (Shaka player only)
Adds cmcdIncludeKeys property to cmcd setting (hls.js only)
Video Advertisement (ad-blocker detection)
Adds adOnAdBlockPreventPlayback setting to block playback in case an ad-blocker is detected - a message is shown to the viewer in that case scenario
Adds hint.ads.adBlockDetectedMessage,
hint.ads.adBlockMessageMessageExtended and hint.ads.adBlockDetectedButton properties to customize ad-blocker detected messages presented to the viewer
Automated Player Localization
Adds 5 new languages: Bengali, Greek, Romanian, Swahili, Ukrainian
Improves environment language detection
Improves some translations
New technology alliance partner
Adds support for System73 WebRTC-powered (or peer-assisted) solution with Radiant Media Player for HLS streaming
User interface
Set delayToFade default to 3500 ms (previously 3000)
Bug fixes
Fixes a bug with setSrc API called at ready event that would cause player to not update content properly
Fixes a bug where quality menu would not show all expected renditions when multiple bitrates were available for same resolution with MPEG-DASH streaming
Dependencies
Updates hls.js: 1.4.12 -> 1.5.2 for latest bug fixes and features
Updates Shaka player: 4.5.0 -> 4.7.7 for latest bug fixes and features
Updates rmp-vast: 13.0.0 -> 13.1.0 for latest bug fixes and features
Deprecated (still available in v9 but will be removed in v10)
forceHlsJSOnMacOSSafari and forceHlsJSOnIpadOS settings > use
forceHlsJSOnAppleDevices now
shakaPreferredAudioLanguage and shakaPreferredTextLanguage settings > use audioPreference and subtitlePreference settings that works universally
shakaStreamingIgnoreTextStreamFailures setting
hint.cast, hint.airplay and
hint.pip properties for player localization
preferredVideoCodecs and preferredAudioCodecs settings
backupSrc setting > for MPEG-DASH use multiple Base URLs and for HLS redundant variant streams
Known issues
Disabled video advertisement with iOS (iPhone) when using Managed Media Source > continue using native HLS when wanting to display video advertisement for the time being
Some AWS MediaTailor streams cause advertisement user interface to not be updated properly
Improves rendition switching latency with MPEG-DASH for more immediate better quality on larger player sizes - adds shakaClearBufferSwitch setting
Adds longFormContent setting for specific buffer configuration for long-form content (> 10 minutes in duration)
Adds shakaLiveSync setting to enable live stream sync against the live edge by changing the player playback rate
Adds support for HLS-TS streaming with Shaka player, including for HEVC content (use hlsEngine: 'shakaplayer' setting)
Bug fixes
Fixes an exception with setPositionState method with customized media notifications for some live streams
Dependencies
Updates Shaka player: 4.3.13 -> 4.5.0 for latest bug fixes and features
9.11.1 - November 2, 2023 PRODUCTION
Bug fixes
Fixes an exception with Media notifications setPositionState method in some cases where playbackRate on HTML5 video element would return 0
Dependencies
Updates Shaka player: 4.3.9 -> 4.3.13 for latest bug fixes
9.11.0 - November 1, 2023 PRODUCTION
Customized media notifications
Adds support for Media notifications for Apple devices
Adds support for setPositionState
Bug fixes
getAdSurveyUrl now correctly returns string with rmp-vast (a bug caused it to return an object since 9.10.0)
Fixes updating of artwork with Media notifications for playlist/related
9.10.0 - September 14, 2023 PRODUCTION
Seekbar usability improvements
Fixes issues with seekbar indicator/thumbnails/cuepoints that would overflow player layout in some instances
Improves UX for seekbar for s2 skin
rmp-vast
Updates to rmp-vast 13.0.0 for SIMID support BETA and latest bug fixes
SIMID support needs to be explicitly enabled with adRmpVastEnableSimid setting
Bug fixes
Revert changes from 9.6.5 to fullscreen management for macOS and iPadOS Safari as new versions of Safari 16.6+ and 17 do not have the bug previously reported anymore. macOS and iPadOS Safari fullscreen now work correctly for Safari 16.6+
and 17.
For companion ads with rmp-vast adSlotID property is now adSlotId
9.9.0 - September 5, 2023 PRODUCTION
Android TV
Revamped our Android TV
integration for Radiant Media Player 9+ and modern Android TV devices
Deprecated
Deprecated support for building Xbox Apps with Radiant Media Player due to low usage
Dependencies
Updates hls.js: 1.4.10 -> 1.4.12 for latest bug fixes
9.8.1 - August 23, 2023 PRODUCTION
Bug fixes
Fixes an issue with ccFiles setting on iOS when only one track is made available to the player the captions icon would not show when player is in window mode (e.g. not fullscreen)
Dependencies
Updates Shaka player: 4.3.8 -> 4.3.9 for latest bug fixes
9.8.0 - August 21, 2023 PRODUCTION
SCTE-35 Metadata
Adds support for EXT-X-CUE-IN and EXT-X-CUE-OUT metadata - this is available upon
meta event with getMetadata method
Bug fixes
SEI packets event now only fires when samples data are available
9.7.0 - August 18, 2023 PRODUCTION
SCTE-35 Metadata
Adds support for EXT-X-DATERANGE metadata - this is available upon meta event with
getMetadata method
Bug fixes
Meta event for EXT-X-PROGRAM-DATE-TIME now fires consistently across use-cases
9.6.9 - August 15, 2023 PRODUCTION
Bug fixes
Fixes an issue where playlistitem event could fire twice on initial item load
9.6.8 - August 14, 2023 PRODUCTION
Bug fixes
Check for PiP support in Android WebView before appending module
9.6.7 - August 14, 2023 PRODUCTION
Bug fixes
Fixes an issue with type declaration (TypeScript) when using Angular
Dependencies
Updates hls.js: 1.4.8 -> 1.4.10 for latest bug fixes
9.6.6 - July 11, 2023 PRODUCTION
Bug fixes
Sets default HTML5 video tag poster to a black screen for Android TV
9.6.5 - July 10, 2023 PRODUCTION
Bug fixes
Following 9.6.3 release, exiting fullscreen was broken for macOS and iPadOS Safari 16.3- (while working as expected for Safari 16.4+). This release fixes this issue and fullscreen now work as expected on all versions of Safari for macOS
and iPadOS.
9.6.4 - July 5, 2023 PRODUCTION
Dependencies
Updates rmp-vast: 11.0.2 -> 11.0.3 for latest bug fixes
9.6.3 - July 4, 2023 PRODUCTION
Bug fixes
Fixes an issue with fullscreen management in Safari 16.4+ for macOS
Dependencies
Updates hls.js: 1.4.7 -> 1.4.8 for latest bug fixes
9.6.2 - July 3, 2023 PRODUCTION
Bug fixes
Adds support for customTrackNames with native HLS (iOS mainly)
9.6.1 - July 3, 2023 PRODUCTION
Dependencies
Updates rmp-vast: 11.0.1 -> 11.0.2 for latest bug fixes
9.6.0 - June 30, 2023 PRODUCTION
New features
Adds shakaFullCustomConfig and hlsJSFullCustomConfig settings
Adds support for Quanteec peer-assisted streaming solution
shakaCustomConfig now does not override other player settings related to Shaka player but complement those (this aligns shakaCustomConfig behaviour with
hlsJSCustomConfig) - use shakaFullCustomConfig for complete override
Dependencies
Updates hls.js: 1.4.6 -> 1.4.7 for latest bug fixes
Deprecated
Support for Streamroot P2P and eCDN solution as Lumen is discontinuing Streamroot suite of products on September 30th, 2023
9.5.0 - June 22, 2023 PRODUCTION
New features
Adds logo updating support for playlist/related
Adds native captions support in iOS Safari with ccFiles setting - this allows for rendering of closed captions with iOS native fullscreen
When ads are rendered in iOS Safari use native fullscreen per default -
adForceNativeFullscreenOnIosForAds to true (previously false as default)
Dependencies
Updates Shaka player: 4.3.5 -> 4.3.7 for latest bug fixes
9.4.1 - June 16, 2023 PRODUCTION
Bug fixes
Properly apply sizing classes when player is used in responsive iframe
Dependencies
Updates hls.js: 1.4.5 -> 1.4.6 for latest bug fixes
9.4.0 - June 14, 2023 PRODUCTION
New feature
Adds flipVideo setting that allows video content to be rotated around X, Y or Z axis
Bug fixes
Fixes an issue where default audio track would not be selected correctly with HLS when not presented as first audio track in the manifest
Improves error recovery for HLS when manually selecting levels
Dependencies
Updates hls.js: 1.4.4 -> 1.4.5 for latest bug fixes
9.3.0 - June 02, 2023 PRODUCTION
HLS streaming
Support for HLS Content Steering
GAP Tag/Attribute Support
Implement EXT-X-DEFINE Variable Substitution
Support QUERYPARAM Variable Substitution
Support AES-128 Encrypted Low-Latency HLS Parts
Adds retryParameters.steering property
New adblock API
Adds getAdBlock API method
Adds adblock API event
Adds warning 10001: failed to load optional library Google IMA SDK - no ad will be shown
Chapters API
Adds chaptersparsed and chaptersloaded API events
Adds setChapters API method
Adds warning 15000 and 15001
Sharing API
Adds getSharingUrl and getSharingCode API methods
Adds setSharingUrl and setSharingCode API methods
Seekbar thumbnails API
Adds thumbnailsloaded, thumbnailsparsed events
Playlist/related
Adds support for chaptersLoc setting
Adds support for sharingUrl and sharingCode settings
Advertisement
Adds adsResponse setting support with rmp-vast
adsRequest.contentDuration for Google IMA is now set automatically for VOD content when
adContentDuration is not set
Player UI
Player module overlay for quality, audio, captions, chapters now automatically close when a manual selection is made by the viewer
Player sizing is now based on ResizeObserver API for better adaptation to dynamic UI
Module items in overlays now resize automatically and are bigger at rmp-large player size or when player is in fullscreen
Bug fixes
Handles failed autoplay properly with viewableAutoplay setting
Sandbox player polyfills to avoid polluting the global space
stopAds API method can now be called upon adloaded event (before
adstarted event needed to be reached)
Fixes quality indicator UI for audio only streams on iOS/macOS Safari when no data is available
Correctly updates UI for HLS DEFAULT=YES attribute for in-manifest closed captions
Fixes an issue with some LL-HLS streams that will not be treated as low-latency live streams
Fixes an exception when using the screen.orientation.lock API in Safari
Deprecated
adparserloaderror event and getAdParserBlocked -> replaced with new adblock API
Warning 11000: failed to load optional library Google IMA SDK - no ad will be shown
retryParameters.maxTimeout setting
liveOnResumeKeepSyncWithEdge setting > use hls.js custom setting instead
Disabled hlsJSLiveSyncDurationCount setting due to potential conflicts with some LL-HLS streams > use hls.js custom setting instead
Dependencies
Updates hls.js: 1.3.5 -> 1.4.4 for latest bug fixes
Updates rmp-vast: 10.0.1 -> 11.0.1 for latest bug fixes
9.2.2 - April 17, 2023 PRODUCTION
Floating feature
Anchor now exists with CSS pixels and does not hide when player is out of view
Background of anchor is now filled with player poster when available
Fixes an issue where player could flicker nearing in/out of view point
Adds floatingThreshold setting
9.2.1 - April 14, 2023 PRODUCTION
Bug fixes
Allow Google Analytics integration to run after player is ready (cases of deferred consent for cookie laws)
adScheduleCallback now runs for preroll as well
Re-enabled player event logs in debug mode (removed before with v9 release)
Deprecated - will be removed in Radiant Media Player v10 but still available in v9 for backward compatibility
hlsJSCaptionsTextTrack1Label, hlsJSCaptionsTextTrack2Label,
hlsJSCaptionsTextTrack3Label, hlsJSCaptionsTextTrack4Label settings -> use
customTrackNames.captions instead to set custom caption track names
labels.bitrates.auto and labels.bitrates.renditions -> use respectively
labels.hint.auto and customTrackNames.quality instead
9.0.2 - March 8, 2023 PRODUCTION
New features
Adds forceLegacyDependencies setting
Dependencies
Updates Shaka player: 4.3.4 -> 4.3.5 for latest bug fixes
Updates to rmp-vast: 10.0.0 -> 10.0.1 for latest bug fixes
9.0.1 - March 6, 2023 PRODUCTION
Bug fixes
Properly reads NAME attribute first, then LANGUAGE in HLS manifest (#EXT-X-MEDIA) for multiple audio tracks (LANGUAGE would be read first in previous releases)
9.0.0 - March 2, 2023 PRODUCTION
New API custom event system (breaking change)
API events are now registered to player instance with the on and one methods and unregistered with the off method. We no longer
use addEventListener or
removeEventListener with synthetic DOM events - instead we have built a full custom event system within the player library. This allows for events to be dispatched faster and prevents polluting the DOM with synthetic events
which could lead to edge bugs difficult to troubleshoot.
Full Google Analytics 4 support (breaking change)
Our updated Google Analytics 4 integration now requires developers to explicitly add the Google tag (gtag.js) on the page where the player stands. The player no longer automatically
load and configure Google Analytics client-side JavaScript library. This allows for more advanced configuration of Google tag
Adds enableGAVideoTracking setting
Adds gaEventParameters setting and related getGaEventParameters and
setGaEventParameters API methods
Adds 13000 warning: "Google tag is not installed on this page -> cannot send data to Google Analytics"
PLATFORM Edition allowlisting and denylisting (breaking change)
When submitting JSON allowlisting and denylisting files to our back-end, the JSON file needs to
adhere to a new structure: "blacklist" key is replaced with "denylist" key, "whitelist" key is replaced with "allowlist" key, "appWhitelist" key is replaced with "appAllowlist" key - while you can still use the old keys for backward
compatibility reasons it is recommended to use the new keys when updating to Radiant Media Player 9+
New player settings
Adds googleCastDisableAds setting
Added customAllowDenyListUrl setting
Bug fixes
Fixes a UI issue with adForceNativeFullscreenOnIosForAds where replay icon would show on iOS instead of pause button
Fixes a UI issue when swapping from VOD content to live content in a playlist where content time and duration would not update properly
hideExternalPlayerLabels now hides volume label as well
When HLS with multiple audio tracks do not have a lang property make sure to still display audio tracks in the UI
Fixes a UI issue where CC/audio/quality menu could collide with content time/duration on smaller sizes
Fixes a UI issue where long content duration could cause overflow of text for current time/duration at smaller player sizes
Fixes translation of "LIVE" label for Scandinavian languages
Allows CMAF HLS streams to play on our Google Cast receiver application (setting useShakaForHls flag to
true)
Breaking changes
Removed our deprecated eCDN solution
Removed our old API system using addEventListener/removeEventListener with DOM events on player container -> use the new API system with on/off API methods targeting player instance object instead
Removed UI quality indicator for Apple devices
gaLabel and gaCategory settings are now removed and replaced with
gaEventParameters
getGACategory, setGACategory, getGALabel,
setGALabel API methods are now removed and replaced with
getGaEventParameters and
setGaEventParameters
Removed gaAnonymizeIp setting - this is no longer needed in Google Analytics 4 as it no longer collect IP information
Removed gaTrackingId, gaTrackingIdAlt settings because of the updated Google Analytics 4 integration that no longer automatically load Google Analytics client-side JavaScript library
Removed sendGAEvent API method
Google Analytics 3 is no longer supported - while it could still work with our player we no longer support Google Analytics 3
Removed hlsJSUseManifestRenditionName setting - the player will query for NAME attribute first, then LANGUAGE in HLS manifest (#EXT-X-MEDIA) - if none are available it will show a default indexed value
Removed dvrJumpToLive API method (replaced with syncToLiveEdge API method)
Dependencies
Updates hls.js: 1.3.1 -> 1.3.4 for latest bug fixes
Updates Shaka player: 4.3.2 -> 4.3.4 for latest bug fixes
Updates to rmp-vast: 9.1.1 -> 10.0.0 for latest bug fixes and new features