Radiant Media Player

Version history

Release notes quick-access

Lastest version: 4.10.1
4.10.*: 4.10.3
4.9.*: 4.9.3, 4.9.1, 4.9.0
4.8.*: 4.8.1, 4.8.0
4.7.*: 4.7.4, 4.7.3, 4.7.2, 4.7.1 , 4.7.0

  • 4.10.1 - June 14, 2018

    • Adds preliminary support for using Radiant Media Player in Electron-based desktop apps
    • Generates error event and error message in case critical streaming library like hls.js or Shaka player fail to load
    • Updates to Shaka player 2.4.1 which notably adds support for Fetch API
    • Allow Google Cast detection to run in environment where FILE protocol is used (even if not supported)
    • Cloud player subresource integrity: sha384-DF3999CAUqM17J5fZhwY6T+MYpp+r7XA3fR05zrbjip8mPxNoImWwIPcPnuPdVVV
  • 4.10.0 - June 12, 2018

    • Flash fallback removal

      As announced on our blog, we are effectively removing our deprecated Flash fallback with 4.10.0 release. Previous player versions will still have the Flash fallback available.

    • CSS

      Rewrote async player CSS file loading for faster execution

    • Ads
      • Fixes an issue where some IMA ad events could cause non-blocking uncaught errors with some player settings
      • Removes adForceImaInWebView setting and improves documentation for video ads support in iOS & Android WebView. The choice of the parser is now free in WebView and must be made with the adParser setting
    • Player framework
      • Refactors JavaScript primitive object detection
      • Makes sure all timeouts & intervals clear when destroy API is called
      • Makes sure destroycompleted API event fires when destroy API is called while the player is in no-support mode
    • Cloud player subresource integrity: sha384-TUPXxz/I2JAKndQ6hdKjwCQd1s7HPw2M0DL0KA8fybFIC6A07agSmf+z0CnjC7HE
  • 4.9.3 - June 6, 2018

    • Adds ajaxWithCredentials and ajaxTimeout settings
    • Adds chapter start time to chaptering module and extends the number of allowed characters for chapter title
    • Adds allowLocalStorage setting
    • Adds castapiavailable API event
    • Fixes an issue with backupBitrates setting which would cause delays in starting playback when a backup resources is requested with MP4/WebM progressive download
    • Fixes a potential non-blocking TypeError when using HLS streaming with hls.js in slow-speed network conditions (since 4.9.0)
    • Fixes a potential non-blocking TypeError when calling destroy API method (since 4.9.0)
    • Cloud player subresource integrity: sha384-dvwCu8CA3xC9yswQ9m64zFXhUsOSHjcfK3CuiKBxaqCysupRKTV99FoZuD69znPo
  • 4.9.2 - June 6, 2018

    • Internal release - no new feature or bug fix
    • Cloud player subresource integrity: sha384-5Kb1smX1kOoRfdq8zNllaqYUcO99UeXHBrul5xXGU0f9M3M3CIU9ZMSnMYoKoBNh
  • 4.9.1 - May 23, 2018

    • UI
      • Adds support for WOFF2 format for player icons allowing faster player icons loading
      • Removes legacy EOT format for player icons and Roboto font
      • Adds new player icons set for s4 skin
      • Insures all player modules have skin-specific player icons
      • Adds labels.error.noSupportInstallChromeLink label
      • Sets control bar height to 40px (previously 38px) for s1 and s2 skins
      • Increases seek bar actionable height for better usability
      • Further breaks down less files and adds skin-specific icons less file - this also reduces per-skin CSS size
      • Various CSS optimisations
    • Playlist
      • Adds support for s3 and s4 skins
    • Player modules
    • Logo inclusion
      • Adds logoMargin setting
      • Adjusts CSS for logoPosition setting
    • 360 video
      • Plus/minus 360 UI icons now increase/decrease FOV by 4 (previously by 2)
    • Video ads
      • Adds adclientsidewaterfallrequested API event and availability for this event in our Google Analytics plugin
      • Following Chrome 66 release, removes adOutStreamMutedAutoplayVolumeHover setting to avoid issues with un-muting when using mouseenter or mouseover events - updates outstream ads gallery examples accordingly
      • Fixes a UI issue with Adsense for video full slot ad format introduced with 4.9.0, where player controls would remain visible while the ad is on stage
      • Fixes adTagReloadOnEnded setting when used with rmp-vast as content would not automatically resume upon reloading the provided VAST tag
      • Time-sorts ad-scheduler values provided as adSchedule.midroll in case not orderly provided
    • Cloud player subresource integrity: sha384-fX5m5EETkRkc+whPZ43BDMlgiYsOTl+GwZdQ/i0R1xHxh+eohyaKYXf7gK7b+FWJ
  • 4.9.0 - May 16, 2018

    • UI
      • New unified mobile-first player modules layout (quality, speed, captions, audio)
      • Renamed modules-related CSS classes for better unification with player labels:
        • .rmp-i-nav to .rmp-i-speed, .rmp-nav to .rmp-speed
        • .rmp-i-cc to .rmp-i-captions, .rmp-cc to .rmp-captions
        • .rmp-i-hd to .rmp-i-quality, .rmp-hd to .rmp-quality
        • .rmp-i-audios to .rmp-i-audio, .rmp-audios to .rmp-audio
      • Sets default player font-size to 14px and makes sure font-size is never lower than 12px to comply with the accessibility recommendations from Google Lighthouse
      • Sets default of delayToFade to 2500 ms. On mobile delayToFade value is automatically increased by 33% for easier user-interaction.
      • Further breaks down Less files structure (player CSS) to reduce per-skin CSS file size
      • Fixes a UI loader issue in Chrome 66+ when player startup is programmatically requested through play API method but blocked by Chrome autoplay interference engine
      • Sets fadeInPlayer default to true
      • Adds uiSeparator setting
    • Playlist/related
      • Adds support for initialising a playlist and related player with a JavaScript array of objects through the playlistData or relatedData settings
      • Adds setPlaylistData and setRelatedData API methods which allow to dynamically update a playlist or related player
    • Async player core library loading
      • Streamlines HTML + JavaScript async player embedding - this new async embedding method is intended to help with page performance and SEO audit
    • Streaming
      • Disables media preloading with Shaka player in macOS Safari to workaround a content startup issue (pending further investigation)
      • Adds audio tracks API example
      • Documents and adds example for HLS with ID3 tags support on iOS (available since 4.6.23 but previously undocumented)
    • Video ads
      • Makes sure autoplaysuccess and autoplayfailure API events fire with video ads
      • Adds adinitialplayrequestsucceeded API event (rmp-vast parser only)
      • Updates to rmp-vast 1.3.16
    • Announcing removal for our deprecated Flash fallback on June 12, 2018
    • Removal
      • Removes overabundant getRelatedOverlayVisible, setRelatedOverlayVisible and getRelatedLoc API methods
    • Cloud player subresource integrity: sha384-i3qlEyPNI8XWb4gU9AmU1cZeqZCeGI77B6wA4sq7fp7j8vvchcW54FuZrEACmZIF
  • 4.8.1 - May 2, 2018

    On May 15, 2018, Google will be sunsetting Flash in the IMA SDKs. Video ads in our (deprecated) Flash fallback will no longer be available. The only area where Flash may still be needed with Radiant Media Player, is to cover HLS streaming in Internet Explorer 11 in Windows 7. If you are currently using HLS with video ads and want to keep supporting Internet Explorer 11 in Windows 7, then this is a recommended update. This announcement from Google opens the way to sunsetting our (deprecated) Flash fallback in the near future.

    • Lightens player processing when using (deprecated) Flash fallback due to removal of video ads support in Flash (see above announcement)
    • Adds htmlmediaelementappendedtodom API event
    • Adds getHlsJSInstance, getShakaPlayerInstance, getHtmlMediaElement API methods
    • Adds getGALabel & setGALabel API methods (Google Analytics)
    • Adds getGACategory & setGACategory API methods (Google Analytics)
    • Adds supports for updating gaLabel (Google Analytics) in playlist/related based on contentTitle when a new item starts
    • Adds gaAnonymizeIp player setting to help with compliance with specific privacy laws like GDPR (Google Analytics)
    • Adds videoTitle player setting (iOS-specific to display content title in control center) - also adds getVideoTitle and setVideoTitle API methods
    • getAppName, getContentID, setContentID, getContentDescription, setContentDescription, getContentTitle, setContentTitle API methods can now be used before player ready event fires - getters now return an empty string when value is not available, setters now accept empty string as input value
    • Adds fadeInPlayer player setting
    • Replaces isVPAID API method with isVpaidCreative to avoid a naming conflict with internal variables
    • Do not show adSkipButton when a VPAID ad is on stage (rmp-vast)
    • Cloud player subresource integrity: sha384-1u/Boqoix4lB0DsOlvz3kTKh1vTFEytMxxeCBS4wmNb0hL9FEZ0ps8pp4g/71tKA
  • 4.8.0 - April 25, 2018

    • Updates to hls.js 0.9.1
      • Various performance improvements for HLS streaming
      • Fixes an issue with preload set to 'metadata' which could cause a buffer gap after first segment is played
      • Fixes hlslevelswitched event which would not fire properly on player start with some player configuration
    • Updates to Shaka player 2.3.7
      • Enables media preloading for Shaka player based streaming
    • Updates to rmp-vast 1.3.11
      • Improves volume management of VPAID creatives
      • Improves non-linear creatives rendering
    • API
      • getAdMediaHeight and getAdMediaWidth API methods now return -1 when value is not available
      • Adds adinteraction and adlinearchanged events to rmp-vast video ads API
    • UI
      • Adds fadeIn and fadeOut effects for overlay current time indicator and chapters
    • Player settings
      • adOutStreamMutedAutoplayVolumeHover and adOutStreamMutedAutoplay settings now explicitly require autoplay set to true to come into effect
    • Removal
      • Removes adOutStreamCloseButton and adOutStreamCloseOnEnded settings: those settings only provided partial implementation for the wanted behaviour. Those behaviour are best implemented with the player API. Our examples at outstream-ads-gallery have been updated to reflect this change.
      • Removes deprecated dashtrackschanged, dasherror, dashwarning, dashinstancecreated, dashaudiotrackswitching, dashlevelswitching API events
      • Removes deprecated adOutStreamInArticle, adOutStreamInArticleMutedAutoplayWithHoverApi player settings
      • Removes deprecated 'friendlyiframe' value for adVpaidMode setting (replaced with 'insecure' value)
    • Cloud player subresource integrity: sha384-IJr6IPYSo/W0vI7tcPSsBD32IqXX6WlVm5ozqyZQ+KkDFSBWP4c/jlkJ4S0CTnUg
  • 4.7.4 - April 11, 2018

    This release is a recommended update for users using autoplay or/and video ads with Radiant Media Player

    • Improves initial ad loading process when player first starts
    • Adds support for Chrome 66+ and Firefox (w/ media.autoplay.enabled set to false) autoplay interference engines - this comes in supplement to macOS Safari 11+ autoplay interference engine which was already supported
    • Adds support for setAdWillAutoPlay and setAdWillPlayMuted for IMA ads - this allows for better bids when requesting Google Ads
    • Insures player controls are hidden at VPAID start with rmp-vast when adVpaidControls is set to false
    • Updates to rmp-vast 1.3.10
    • Released media preloading guide
    • Minor adjustments to related UI CSS
    • Cloud player subresource integrity: sha384-Kb/KAbDJDP4azHeoa+2bXM3OEQATca+Br/FQ/V3LBdZX0lbm+Oes8Y6bBjn2qlSt
  • 4.7.3 - April 9, 2018

    • Adds support for media preloading (through preload setting) with hls.js
    • Improves HTML5 video error management when using progressive download or native HLS
    • Fixes an issue that would cause video ads to not display properly with related/playlist since 4.7.0
    • Disables non-linear IMA ads with 360 video to avoid 360 navigation issues
    • Disables ads with rmp-vast on macOS Safari with 360 video to avoid layout issues
    • Updates to rmp-vast 1.3.8
    • Does not remove chapters or seek-bar thumbnails when changing progressive download rendition with quality menu
    • Allows setSrc method to be used while a video ad is present on stage
    • Improves setSrc behaviour when Google Cast is engaged and correctly updates duration on casting player
    • Improves hlsJSStopDownloadWhilePaused setting behaviour at player startup
    • Workaround false negative detection for native HLS support in Android legacy devices (Android 4 and below)
    • Cloud player subresource integrity: sha384-fLLm2bPQGLySUVzFCRNvD/4wfzPie68dMSCujw8XZs2tdgv48TSk6MxDNDm6MiRE
  • 4.7.2 - April 4, 2018

    • Adds adloaderror and adplayerror API events and make them available for Google Analytics
    • Sets useRmpVastOnImaLoadError setting default to false
    • Adds getAdErrorType API method support with rmp-vast
    • Updates to rmp-vast 1.3.5
    • Allows setCaptionsList to be used when no caption (through ccFiles setting) was made available when player init method was called
    • Improves HLS support detection
    • Improves support for change in captions when swapping source (setSrc API method) with hls.js
    • Validates support for change in captions when swapping source (setSrc API method) with Shaka player
    • Updates to Shaka player 2.3.5
    • Adds getTimeReady API method usage example
    • Cloud player subresource integrity: sha384-kBcHoNZwhQG67IXzbxMfKGpEjIaku1l9wsK4z5QkrTdohKSOEiFgEk0ywop501dB
  • 4.7.1 - March 30, 2018

    • Viewable
      • Adds support for viewable feature based on Intersection Observer API
      • Adds viewableAutoplay, viewablePlayPause, viewableThreshold settings
    • Improved closed captions/subtitles support
      • Adds setCaptionsList API method
      • Adds ccParser setting
      • Adds support for Google casting of HLS in-manifest VTT captions
    • Improved UI at smaller player sizes
      • Adds player module at rmp-extrasmall size
      • Adds logo at rmp-extrasmall size
      • Removes rmp-large class size and simplifies player sizing to 3 classes: rmp-extrasmall (player width < 375px), rmp-small (player width < 480px), rmp-medium (player width >= 480px)
    • Ads
      • Adds support for custom ad scheduling with HTML5 audio player
      • Adds support for changes in linearity for VPAID creatives with IMA SDK BETA
      • Fixes an issue that could cause playback to not start when using autoplay and rmp-vast parser when Firefox autoplay interference engine is enabled
      • Removes deprecated adAjaxTimeout setting
    • Adds docs for Widevine DRM robustness levels
    • Adds firstframe API event
    • getPlayerWidth & getPlayerHeight API methods can now be called before ready event fires
    • Adds player starts analytics to back-end (PLATFORM Edition) BETA
    • Renamed streamrootP2pConfig setting to streamrootConfig
    • Cloud player subresource integrity: sha384-q5NkIBpecc8yK/zN+EG+PP3aUQxSZuXvO6+CdaECqP7b/NavgWptcn2tzyzwrfBq
  • 4.7.0 - March 16, 2018

    • Google Cast
      • Developed and published a new custom Cast Application Framework (CAF) receiver app to Google which is now default for Radiant Media Player. Further customisation including support for DRM and video ads is possible and examples have been published on GitHub. googleCastReceiverAppId setting default is now 'C899A03E'.
    • Video ads
      • Adds CSS mask for pre-roll ads for smoother transition from player initial state to ad and back to content
      • Updates to rmp-vast 1.3.4
      • Adds support for post-roll ads through ad-scheduler for all iOS devices (previously only available on iPad)
      • Adds support for using the loadAds API method on iOS while a linear ad is already on stage
      • Improves repeated loading of ads with rmp-vast through the loadAds API method
      • Fixes an issue that would cause replay icon to be shown when a post roll ad is paused
      • Disables rmp-vast ads for macOS Safari when MSE playback is used to avoid content recovery issues
      • Fixes a layout central UI issue on mobile when a VPAID ad is paused
      • Fixes a CSS layout issue for IMA ads in Chrome 65+ when dir="rtl" is used on a web page
    • Performance
      • Removes legacy device support which lightens environment detection process when core player library loads
      • Simplifies code related to autoplay-capabilities detection for various devices
    • HLS streaming
      • Built HLS with H.264/MP3 support within player and removed no-longer needed hlsWithMp3Audio setting
      • Applies hlsJSUseManifestRenditionName to audio tracks for hls.js
    • DASH streaming
      • Updates shakaStreamingRebufferingGoal default to 4 seconds
      • Adds shakaManifestDashDefaultPresentationDelay setting
    • Partners
      • Updates Streamroot integration to support DNA 2.0 - also adds support for using Streamroot technology with Radiant Media Player through Shaka player (DASH)
    • Removal
      • Removes settings: googleCastInitialBandwidth, googleCastHlsSegmentFormat, googleCastLicenseUrl, googleCastLicenseCustomData, googleCastProtectionSystem (part of GitHub examples now)
      • Removes deprecated settings: dashAbrDefaultBandwidthEstimate, dashStreamingBufferBehind, dashStreamingBufferingGoal, dashStreamingRebufferingGoal, dashStreamingIgnoreTextStreamFailures, dashRetryParameters, dashRestrictions, dashDrm, dashRequestConfiguration, dashPreferredAudioLanguage
      • Removes setting: useNativeHlsOverMseHls
    • Cloud player subresource integrity: sha384-PMpc2MUiM7SfbsCOiB0lwySsfEY93/vLwKSUieHxfaQxCu35/KVBkYg33aYTjkXV
  • 4.6.34 - March 7, 2018

    • Adds debug logs for FairPlay streaming
    • Fixes certificateRequestHeaders for fpsDrm setting that could cause an error when using custom certificate request headers
    • Updates docs for iframe autoplay policy with the release of Chrome 65
    • Cloud player subresource integrity: sha384-9JZq/zV2WCtM22PXhHdz+/7AJ+K2VfAZzK9FE0xxxI2dUTjfctWdPlYdEE3kXsAO
  • 4.6.33 - March 2, 2018

    • Updates to rmp-vast 1.3.1 and adds full support for VPAID 1 & 2 creatives with rmp-vast
    • Updates adRmpVastEnableVpaid default to true
    • Adds debug version of Shaka player
    • Updates to Shaka player 2.3.3
    • Updates default of adLoadVastTimeout setting to 8000 ms
    • Cloud player subresource integrity: sha384-/gyNf31AfSgJ5BTDK6BQutBqcVPjDCArJ1XiEcf+asxCzCqD7qvNe26FBVcJcR7M
  • 4.6.32 - February 28, 2018

    • Adds support for adTagWaterfall (e.g. client-side ad waterfalling) for playlist and related
    • Cloud player subresource integrity: sha384-YzUYrSub7ZJD5q6GDTBujZUQqfT5D1tk73aTn+LcDsmw3EC8rr9TS8NL2Xy3mHu+
  • 4.6.31 - February 23, 2018

    • Clarifies that adSkipButton should not be used with IMA SDK and enforces this policy at player level
    • When both adSkipButton is set to true and a VAST skippable ad is detected, makes sure only one skip button is shown and ensures VAST skippable data takes precedence
    • When hideControls and adBlockerDetection are set to true, makes sure adBlockerDetectedMessage is visible if an ad-blocker is detected
    • Updates to rmp-vast 1.2.9
    • Cloud player subresource integrity: sha384-0e5VoJys67yt6cz1Ibu8uYZquAAscPyK6qP2a/u8FXKlgeC6BO1dM2r8H4asqJCI
  • 4.6.30 - February 22, 2018

    • Adds adOutStreamMutedAutoplay setting and defaults player to muted autoplay outstream ads when autoplay is requested on both mobile and desktop (before it was only enforced for mobile) - this should help Radiant Media Player users to comply with the Initial Better Ads Standards from the Coalition for Better Ads which recommend outstream ads to be only made available as muted autoplay when autoplay is requested. Read our blog post for more insight on the subject.
    • Adds hlsJSUseManifestRenditionName player setting
    • Adds more debug log for autoplay success or failure
    • Cloud player subresource integrity: sha384-rKsGQUOKiCuxRkc8BUGZDXbSNwG+xkttZj5jVEVCeZdWs9MpIHwIWXem5eVDYZlq
  • 4.6.29 - February 20, 2018

    • Fixes a layout issue that would cause the seek bar to briefly appear when removing player from DOM with adOutStreamCloseButton or adOutStreamCloseOnEnded settings
    • Adds getAdParserBlocked player API method
    • Makes sure destroycompleted event fires in case hlsinstancecreated (or shakainstancecreated) event has not yet fired but player is in a ready state and can legitimately be destroyed (HLS or DASH streaming)
    • Makes sure destroycompleted event fires when an ad-blocker is detected
    • Cloud player subresource integrity: sha384-sMI2HuoPulvUlSUh7354Ye9LU4jDAFk7kVVXNDk4mCW3O7fV5uWX78fn9MRjjScO
  • 4.6.28 - February 17, 2018

    This update focuses on improving support and adding new options for outstream video ads with Radiant Media Player

    • Adds outstream skin (set with skin: 'outstream' setting)
    • Adds adOutStreamCloseButton and adOutStreamCloseOnEnded settings
    • Replaces adOutStreamInArticle setting with outstream skin - adOutStreamInArticle is now deprecated but still available for legacy support
    • Renames .rmp-ad-in-article CSS class by .rmp-ad-outstream
    • Replaces adOutStreamInArticleMutedAutoplayWithHoverApi setting with adOutStreamMutedAutoplayVolumeHover setting - adOutStreamInArticleMutedAutoplayWithHoverApi is now deprecated but still available for legacy support
    • Fixes destroycompleted event that would not fire for oustream ads
    • Fixes outstream ads that would not fire the correct chain of events when ending on iPhone
    • Cloud player subresource integrity: sha384-9WfDC+tphreFQVYz2Td68g/J9S+L68yv30WE58s5R/xCUq49Heu+S0S9AvNDvyet
  • 4.6.27 - February 14, 2018

    • Improves async loading of player dependencies for faster readiness and startup
    • Enables load timeout for Google IMA and rmp-vast dependencies
    • Adds configurable skippable ads support through player settings
    • Adds guidelines for using CloudFlare Rocket Loader with Radiant Media Player
    • Ensures player controls do not auto-hide while Google casting is enabled for better remote control navigation
    • Ensures volume bar UI is at 0 when muted autoplay is enabled on macOS Safari
    • Cloud player subresource integrity: sha384-E8aO4S1voMy797AgTnAkTxxgLOwRyax0iuY2piZek1FX7jlAB+zSvxJTt629ISz5
  • 4.6.26 - February 8, 2018

    • Fixes an alignment issue for central UI elements with in-article outstream ads
    • Cloud player subresource integrity: sha384-i5f/2Oly/ujkvw8bs+MdwBIp8TH92m/47H4DrPVOcDR2qzz7CpOcypYnuYmvPO0C
  • 4.6.25 - February 5, 2018

    • Updates to Shaka player 2.3.2 and adds support for live fmp4 HLS to Radiant Media Player with Shaka player (including live HLS w/ DRM support)
    • Removes shakaabradaptationchange and hlsabradaptationchange events in favour of shakalevelswitching and hlslevelswitching events to avoid confusion and to unify level switching API events
    • Fixes shakalevelswitching event that would fire unexpectedly from time to time
    • Fixes hlslevelswitching event that would fire unexpectedly with HLS v4 (separated audio manifest) streams with hls.js
    • Minor update to quality control UI
    • Fixes getDuration API method that would return -1 before ready event when a value could be available for progressive download streams
    • Upgrades cloud player origin servers to support HTTP/2 (cloud edges were already supporting HTTP/2)
    • Cloud player subresource integrity: sha384-MuqQdPNsl/Vd1zSJkNl/cj/zjOtOPPX5Af1FfwA+1F09GiQAmpvBbG1SfJPRuzv/
  • 4.6.24 - January 29, 2018

    • Adds FairPlay DRM support with HLS on iOS Safari (requires iOS 11.2+)
    • Adds getCaptionsList API method
    • Adds texttrackloaded, texttrackloaderror, alltexttracksloaded API events
    • Fixes an issue that would cause side-loaded VTT captions in window mode on iOS to be displayed in the wrong order
    • Cloud player subresource integrity: sha384-Mu+2z7TvWR9SWxibgPybwz/bDzd7ojvKFb/qz66ZogW/9O82aEc6mehG0Og+AQqy
  • 4.6.23 - January 23, 2018

    • Adds getRelatedOverlayVisible|setRelatedOverlayVisible API methods
    • Reworked HLS with ID3 frames support
    • Cloud player subresource integrity: sha384-npfUUo581BXySUhaRsisKtuax1vZZT9ToyV/EnPe7SHrY1XMO0yz4ghnN9Cli6Eq
  • 4.6.22 - January 18, 2018

    • Adds getHlsBwEstimate API method
    • Adds support for mobile/OTT app white-listing
    • Cloud player subresource integrity: sha384-oq7kwlhHR9LhRmk0OSiUuv9YdnZvVP4Wg645hfyvPY29McCKc+wAb8pTKvSvGhRW
  • 4.6.21 - January 17, 2018

    This is a recommended update for users displaying video ads with Radiant Media Player

    • Sets default for adBlockerDetection to false and updates ad-blocker detection policy
    • Reverts to using BlockAdBlock for ad-blocker detection as the AdBlock detection script from IAB was found to potentially cause delay in loading ads in slow network conditions or lower-end devices
    • Updates to rmp-vast 1.2.8 for faster loading and display of video ads
    • Adds hlsJSLight setting
    • Further reduces Radiant Media Player core library size by only using required Babel transform plugins - this also improves Radiant Media Player global execution time
    • Cloud player subresource integrity: sha384-tIqfg+xYg3kbrc25sNPyt3M1omvQo91j1TZhD0XQXJRGc8KS9IogVyFxkM208Qwj
  • 4.6.20 - January 12, 2018

    • Reduces by 10% Radiant Media Player core library size by removing unused core-js polyfills - this also improves Radiant Media Player global execution time
    • Cloud player subresource integrity: sha384-KK9w3bLc9OVQJXHfcekGusOPDySyNE+ow5WlEBxxfzTwhOh/b12J5AvZOofnu2dj
  • 4.6.19 - January 12, 2018

    • Fixes an issue that would cause current time information to be incorrect when dragging seek bar for VOD streams (since 4.6.14)
    • Cloud player subresource integrity: sha384-vQ8uiH7DgGudBRW/mpLjVicz3Gd9XlEaSXFHXBZyNxDT+GOugJSQUaAc1fpcrKDF
  • 4.6.18 - January 12, 2018

    • Improves labels.hint.live rendering to allow for more characters to be shown before truncated (live UI)
    • Fixes a UI restore issue on Android when using adAutoplayOnlyPreroll setting (since 4.6.7)
    • CSS performance improvement due to removal of unnecessary specificity
    • Adds live.less file (CSS for live UI)
    • Sets hlsJSCapLevelToPlayerSize|flashHlsCapLevelToStage settings default to true
    • Fixes an issue that would cause controls to not auto-hide on mobile devices after having interacted with cast or airplay module (since 4.6.7)
    • Adds hlslevelswitching event to player API for native HLS on iOS & macOS Safari
    • Improves resizing performance for 360 video on iOS
    • Cloud player subresource integrity: sha384-hIjeFN4zXP1E9S8o7dubuIklKas47acAVnzi3dPM0wxliw8YZYcibc/Z7U7wdnvM
  • 4.6.17 - January 9, 2018

    • Fixes an issue that could cause player controls to not auto-hide after repeated user interactions on the 360 UI on mobile devices (since 4.6.7)
    • Fixes a CSS vertical alignment issue for seek bar in s2 skin
    • Cloud player subresource integrity: sha384-u34w5HbVwhK/jHtn8y6S1B6Wz4xsgMpagKPFrbcsT0CWPMXtIw5QPv+++2aO5C1M
  • 4.6.16 - January 4, 2018

    • Fixes aliased rendering of 360 video on iOS
    • Fixes an issue that would cause some 360 navigation options to not work after an ad has completed when using the IMA SDK
    • Adds shakaCustomRequestFilter setting for easier configuration of Asynchronous Credentials DRM requests
    • Cloud player subresource integrity: sha384-hGxK92WNgFtkBuayYUucHW1NlzrCAgrmE8yHNnw//GmR1S90z7uA3Cqt4Tg3D6Oz
  • 4.6.15 - January 3, 2018

    • Adds full support for 360 video (HLS + MP4 progressive download) on iOS 11+
    • Fixes a CSS vertical alignment issue with current time for VOD streams (introduced with 4.6.14)
    • Improves CSS transition for volume icon on s3 skin
    • Cloud player subresource integrity: sha384-NHvpJ+UCgaz+Bfz2bDQkK92oIW8tpmfdt3h2dYCYtFGpXt3YAmeNhpV0MvxbVhl8
  • 4.6.14 - December 22, 2017

    • Improves DVR rendering engine & UI
    • Fixes a UI issue that could prevent seeking near the live edge for a DVR stream
    • Improves Live UI
    • Makes external libs required before ready event to load synchronously for faster perceived player readiness
    • Makes sure getDuration and getCurrentTime API methods always returns -1 for live streams
    • Adds getControlsVisible & setControlsVisible API methods
    • Adjusts scroll-bar position (when visible) for player module menu
    • Increases font-size for contentTitle setting at larger player sizes
    • Removes useBackupLibs and backupLibs settings that could cause unnecessary overhead at player init time
    • Debug logs now show timing at key player processing points
    • Updates to hls.js 0.8.9
    • Updates to Shaka Player 2.2.9
    • Cloud player subresource integrity: sha384-NTeKLq8UPeHHqEL6TK6CMelG4au446WOjhqUVWks6NBxj6LGz/KlFUgKgpZrnB83
  • 4.6.13 - December 16, 2017

    • Now uses icons for quickRewind that are specific to each player skins
    • Improves player rendering at very small sizes and increases minimum supported size for player width to 250px at 16:9 ratio
    • Cloud player subresource integrity: sha384-QuaUkZViCph4zX8YuukhEnK0hGqBnyJ5N2p4UtOTUlr/K+y1nvehZbrExHqqqKTf
  • 4.6.12 - December 15, 2017

    This updates focuses on improving player UI behaviour - this aligns Radiant Media Player with some current industry standards found in other commercial or open-source players

    • When player modules are hovered do not auto-hide controls
    • When controls are hovered do not auto-hide controls
    • When player is paused do not auto-hide controls
    • Adds fade-in/out effects for related and volume UI
    • When content resumes after a linear ad has played do not automatically show controls
    • When player initially loads do not automatically show controls (controls will automatically show on successful autoplay or user interaction)
    • Improves the in-controls related up-next layout for easier interaction
    • Increases central UI elements size
    • Updates to rmp-vast 1.2.6 which fixes an issue that could cause content to not resume as expected after an ad is played following a source change when using rmp-vast parser
    • Cloud player subresource integrity: sha384-6jlvsXeUg3+uhrrOLHUV5jZroclraYnfQ6dkR7BkcrNb81pZzBB56ynytfMyoxsM
  • 4.6.11 - December 12, 2017

    • Only remember volume through localStorage when a user interaction caused a volume change (e.g. do not remember volume changes through API calls or when player is started muted)
    • Fixes an issue where the volume icon would not display as muted when volume is read from localStorage on page load and the last known volume caused by a user interaction was muted
    • Cloud player subresource integrity: sha384-9iFjOzbzaBqrr5wIQcHNGTcOU9sD/6mtFwlc8RIZS2yh8+dAD3Qobk3VxloK+us8
  • 4.6.10 - December 11, 2017

    • Adds support for in-player quick rewinding through the quickRewind setting
    • Hides .rmp-ad-info when displaying ads with IMA SDK on mobile for s3 & s4 skin to avoid redundant information
    • Updates in-article outstream ads example to support pausing ad when player becomes out of view
    • Cloud player subresource integrity: sha384-E+EyaydrIrCXxA2HjOi+KodpeimEvwg6geA6602ClSTa+dRYf+GMnC5gTzRBQiJp
  • 4.6.9 - December 8, 2017

    • Updates spinner UI for s2 & s4 skins
    • When adDisableCustomPlaybackForIOS10Plus is set to true disable fullscreen button on iPhone with iOS10+ when a linear ad rendered with IMA SDK is on stage - this is to prevent accessing fullscreen while a linear ad is shown which can cause rendering issues with adDisableCustomPlaybackForIOS10Plus setting
    • Fine-tunes 360 video support detection on mobile and OTT devices
    • Updates to Shaka player 2.2.8
    • Cloud player subresource integrity: sha384-QpGMN10yqUaDnUxyaeYZwrHlEoDVbBG56pw24hyFq90qkweNTV9JOKJ/1Wj8rrUy
  • 4.6.8 - December 6, 2017

    • Fixes a layout issue with related UI on mobile (introduced with 4.6.7 update)
    • Cloud player subresource integrity: sha384-aWirx/V1YSxLVGuEkwtbEIeLyd/abp2/T57tlgKCovA8ibDwHH+PBYlwwLzcD5NS
  • 4.6.7 - December 6, 2017

    This update focuses on improving the player mobile UI

    • Adds new central play/pause UI for mobile devices
    • When ads are requested, hide fullscreen button on iOS when player loads, until an ad is loaded (or returns an aderror). This is to avoid giving the viewer the ability to go fullscreen before player starts, which may cause pre-roll ads to not render
    • Sets default of delayToFade setting to 2000
    • Improvements to s3 skin
    • Improvements to CSS transitions
    • Renames spin to rmpSpin and bounce to rmpBounce for CSS keyframes animation to avoid conflicting with potential other CSS files on page which may already have CSS keyframes animation by the name of spin or bounce
    • When related skip button is hovered makes sure player controls do not auto-hide
    • Removes dashMimeType setting which was adding unnecessary complexity for DASH multi-codecs configuration
    • Fixes an issue when using adTagReloadOnEnded setting where content may not resume automatically on next linear ad reload
    • Updates to hls.js 0.8.8
    • Cloud player subresource integrity: sha384-oxF22/Yj+CQcFPdGUMtAZyJTgP5HqeFl0zR8os/FmZewnrUM1exdReKow0phKwpB
  • 4.6.6 - December 1, 2017

    • Fixes an issue that would cause some trial license key to not work with 4.6+
    • Cloud player subresource integrity: sha384-58fz8nH5qgnYsOdb3aj7nqIXA4+nAVZl0EqSVdVSciCBHBFW+kvyF44yzdYlFjKm
  • 4.6.5 - December 1, 2017

    • Adds support for Fire TV apps
    • Adds hlsJSMaxAudioFramesDrift setting
    • Cloud player subresource integrity: sha384-WUAF54BQ64L3EoVVDY5v1Z7KTBqaelQDBEJ5M6xvzVtMfroeeLdyPxasGWper1f9
  • 4.6.4 - November 30, 2017

    • Adds official support for Facebook in-app browser for Android and iOS
    • stop API method is now asynchronous and fires the stopcompleted event when it finishes
    • stop API method now discards ads, if any on stage, when it is called
    • Makes sure destroycompleted API event fires properly when using rmp-vast
    • Documents adloadererror event
    • Documents adForceImaInWebView player setting
    • Clarifies that currently only Widevine DRM is available with fmp4-HLS (Shaka player)
    • Updates to Shaka player 2.2.7 which improves support for live DASH streaming
    • Extends support for DASH and Widevine DRM on Android devices
    • Cloud player subresource integrity: sha384-HGk8Yms7+rDKE7M8wEUDpJnU4Hb8OXShuSNhpTxF6zlVhjsAiPrSTUW9ZnlqF5CT
  • 4.6.3 - November 27, 2017

    This update focuses on improving our analytics API and especially our Google Analytics integration:

    • Adds gaEvents setting to enable customisation of events sent to Google Analytics
    • Code refactor to improve performance when sending data to Google Analytics
    • Removes gaAdvanced setting which was rarely used and complex to maintain
    • Adds heatMap setting and set default to false to make player analytics faster when heatmap feature is not wanted
    • When error layout is displayed make sure player modules are hidden
    • Cloud player subresource integrity: sha384-9bW9v6tE0EXmYeokZ8Q+RH20m0tQNlTHOhxyBoN949K5IzuTsb8SAMEoMcAif5Ms
  • 4.6.2 - November 24, 2017

    • Fixes an issue introduced in 4.5.15 with the 360 UI that would prevent proper usage of arrows to navigate 360 content
    • Cloud player subresource integrity: sha384-5ub6NLgamXvmGrBWNmq67XHZ8jSf6bIWw45oV02LLnC4zMYrYF+AaE2hy7wzDVHV
  • 4.6.1 - November 24, 2017

    • Complements 4.6.0 fix for using ad-blocker detection and the destroy API method to avoid potential concurrent ad-loading issues
    • Updates to hls.js 0.8.7
    • Updates to Shaka Player 2.2.6
    • Cloud player subresource integrity: sha384-MLPZhFD2RkccydJ73zj0O8hEBc8jdZ5diSe5Hw3L4j2vnkbJpC7QXMBeZMre1heo
  • 4.6.0 - November 23, 2017

    • Web-based mobile applications
    • Related
      • Adds support for related of related (e.g. each related item can have its own related list)
      • Adds getRelatedLoc API method
    • Volume management
      • Adds rememberVolume setting: this enables saving of current player volume (localStorage) so that it can be re-used on next page load
      • On mobile device set rememberVolume to false and initialVolume to 1 since volume is controlled physically on the device. The player can still be muted/un-muted
    • Google Cast
      • Updates custom receiver application to properly handle live and DVR stream (makes sure content starts at edge of live)
      • Adds googleCastPoster setting
    • Bug fix
      • Fixes an issue that could prevent playback after destroy() API has been used and a new player instance is created when an ad-blocker has been detected
      • On macOS Safari properly position player modules when no airplay receiver is detected to avoid having a blank space with some player configuration
    • Updates to rmp-vast 1.2.5
    • Adds useNativeHlsOverMseHls setting
    • Adds disableKeyboardControl setting
    • Cloud player subresource integrity: sha384-rqwRh8nGgKqeNA8ur+sI7qhWDEfZX20XT4ZVoM9oKZPog7n3RxOAFayfIwi6m1uR
  • 4.5.15 - November 16, 2017

    • Fixes multiple instances support that would mismatch some player settings since 4.5.11
    • Adds support for async logo and endOfVideoPoster image loading
    • Cloud player subresource integrity: sha384-UOGahVOpoWqVqcgcNFKFOEWH3RV2PoLAq2jmk8g1u9VR/bL8dqsHAsDGwFHPkmuE
  • 4.5.14 - November 13, 2017

    • Enhances support for AdSense Full-slot ad (linear) through the Google IMA SDK
    • Cloud player subresource integrity: sha384-Ay0R6/sLtmpxO1RJeFPNCcERU6+h13PjtUF7GrDPkNHHhCCcVuZePbtQ/MEB8TCH
  • 4.5.13 - November 9, 2017

    • Adds unified captions API
    • Improves captions default CSS positioning
    • Updates to rmp-vast 1.2.4 which enhances VPAID support and VAST XML parsing
    • Improves setSrc/desrtoy method with better clean up and memory usage
    • Implements async poster frame loading for faster player readiness
    • Allows adcontentresumerequested API event to fire for outstream video ads
    • Make it so that adblockerdetected event now fires after ready event to enable API methods to be used in adblockerdetected callback
    • Re-enables some API events for Flash fallback (deprecated)
    • Cloud player subresource integrity: sha384-ul1IiHDKlfpknL3cAaMtmKGEzoiVAQKgU+RqDFQe/9DNCMUM5IQ84rCxrs3u/mjI
  • 4.5.12 - November 7, 2017

    • Service release - no new feature
    • Cloud player subresource integrity: sha384-WN6nm6hJClke1o+zXAVvcKJnmIiKySdPyUb1POPfiUv8rjCwQDTrHhfDS76U4BOX
  • 4.5.11 - November 3, 2017

    • Video ads
      • Adds VPAID 1 and 2 JavaScript support in rmp-vast BETA - needs to be enabled with adRmpVastEnableVpaid setting
      • Adds full support for post-roll ads on iOS with IMA SDK (VMAP, ad scheduler & loadAds API method) - this is already supported with rmp-vast
      • When forceHlsJSOnMacOSSafari setting is used force video ads rendering with IMA SDK
      • When a video ad is on stage do not allow swapping of content for playlist & related - the ad must complete (or be skipped) before swapping is enabled again
      • Adds isVPAID API method
      • Sets default of adLoadVastTimeout setting to 7000
    • Adds dvrIsLive API method
    • Makes sure timeupdate event fires for live streaming
    • Adds srcChangeAutoplay setting
    • Updates to three.js r88 (360 video)
    • When mouse is over 360 video UI do not auto-hide control bar or player modules
    • Performance-oriented minor code refactor
    • Cloud player subresource integrity: sha384-gWE8aLSqrCtoCtXM4D5FZV5d97/5VLw9b46BlFcxM1Sk+ApMLcmaL9LnZvDwkt/K
  • 4.5.10 - October 27, 2017

    • Adds support for ad tag variables (Google IMA & rmp-vast)
    • Adds Google Cast support for playlist
    • Adds DVR support for macOS Safari through the forceHlsJSOnMacOSSafari setting BETA
    • Insures DVR works as expected on iOS 11+ with Apple new fullscreen player
    • Fixes an issue that would cause player to mix related item index when casting and switching items in a certain pattern
    • When an ad-blocker is detected and playback is prevented with adBlockerDetectedPreventPlayback setting makes sure all UI elements are hidden when custom message is shown
    • Adds requirement for contentDescription in related JSON (default values are set in case not provided)
    • Insures getContentTitle and getContentDescription API methods are available for each item in playlist/related
    • Cloud player subresource integrity: sha384-rNxt7JGPX5btmD7juA9NwCOJYx43C5NntiggTYV4AwQSssCfY76OwOMV+DlWaBCL
  • 4.5.9 - October 26, 2017

    • Updated Google Cast support
      • Pauses local player when remote player is engaged to save bandwidth
      • Improves sync speed between local and remote player
      • Adds player API methods and events to control remote player
      • Adds castmedialoaded and castmediaerror API events
      • Adds getCastUrl, getCastMediaLoaded and getCastConnected API methods
      • Adds full support for casting related content
      • When no playback option is available makes sure Google Cast icon does not show in Chrome
    • Updated ad-blocker detection script
      • Now bases on IAB adblockDetector script
      • Built-in player support (no need for player extension)
      • Adds adBlockerDetection, adBlockerDetectedPreventPlayback and adBlockerDetectedMessage settings
      • Adds getAdBlockerDetected API methods
    • When module/volume menu is open do not auto-hide control bar for better usability
    • Cloud player subresource integrity: sha384-oGWyIkTHLtRotRmiJZKGgbq+ndrzW4s153hVxOCnldm7jAulE7C98ZLX0RKxqbAF
  • 4.5.8 - October 20, 2017

    • Adds useRmpVastOnImaLoadError setting to allow to fallback to rmp-vast in case IMA SDK library is blocked by target client
    • Adds useBackupLibs and backupLibs settings - this allows for retry of loading of Radiant Media Player key dependencies - thus minimising the chance of player initialisation failure due to network errors/timeout
    • Removes requirement for providing the player with fully qualified URLs for loading HLS, DASH and video ads - they can now be loaded with a relative/absolute path as well but fully qualified URLs are still preferred to avoid pathing issues
    • An initial click/touch interaction on player container will now start playback for 360 video (previously an explicit interaction on a play button was required)
    • Reworks Flash fallback strategy for end-of-life support. Radiant Media Player Flash fallback will remain available in Radiant Media Player 4 mainly to support HLS streaming to Internet Explorer 11 on Windows 7:
      • Flash fallback is now based on a lightweight version of Radiant Media Player 3.10.16 Flash fallback - no more update or development will be made for Radiant Media Player Flash fallback and support is no longer guaranteed
      • Effectively this re-enables availability for video ads in Flash and some other player features - see here for updated information
    • Fixes a text ellipsis issue for playlist item title
    • Fixes an issue where items without adTagUrl in playlist/related JSON would use a cached adTag from a previous/newt item and display it instead of not displaying a video ad
    • Avoid loading an empty adTag when first item in playlist/related JSON has no adTagUrl and is first started
    • Cloud player subresource integrity: sha384-N8iccZx4+o/JQEudKK8sDITl0HDIppkYGCW9hAuTu8vIfjfUKAY6Hi20rDh5Q22g
  • 4.5.7 - October 19, 2017

    • Fixes an issue where content could require an additional interaction to start when an ad-blocker is used by viewer and player is configured to load ads (since 4.5.0)
    • Insures video ads rendered with IMA SDK now properly click-to-play in Desktop Safari 11+
    • Fixes a race condition that could cause Google Cast icon to appear when a pre-roll linear ad is on stage
    • Adds getAdBlockerDetected API method
    • Adds adblockerdetected API event (this deprecates adloadererror event which is still available for legacy support)
    • When an ad-blocker is detected prevents API method loadAds from running to avoid unnecessary error handling
    • Refactors destroy API method to allow for ad process to clear before destroycompleted API event fires
    • Prevents setSrc API method to run when Flash fallback is used to avoid unnecessary processing as this method is not supported in Flash fallback
    • Cloud player subresource integrity: sha384-UXWLV/6gEQ+QunNWdh5HDCB/Gy03Jk7r4E/umks1eLRfP3EmkKb3W0LUT5d5TaCK
  • 4.5.6 - October 18, 2017

    • Updates to hls.js 0.8.5
    • Updates to Shaka player 2.2.3 - improves shaka-player.compiled.js file size and execution time by removing unused code
    • Updates to rmp-vast 1.1.1
    • Fixes unnecessary checks for preview thumbnail when init is called
    • Cloud player subresource integrity: sha384-qb+PmooIWhAZeANOBZtHK1ELmwWy6OlB5p4VsS/TnKj7CLrdqeZ0I400P2kif/Gz
  • 4.5.5 - October 17, 2017

    • Adds WebVTT chapters support
    • Adds chapters player API
    • Allow pre-loading of preview thumbnail sprites for better user experience
    • Properly disposes of chapters and preview thumbnails when calling API methods destroy and setSrc
    • Removes requirement for providing the player with a fully qualified URL for loading preview thumbnails, chapters, WebVTT closed captions, playlist or related. They can now be loaded with a relative/absolute path as well.
    • Cloud player subresource integrity: sha384-brfzaBoXBM1eOjPlTQ28uCBhLV5dXN6itpNaFNPy90twzRnTDVdxDTa58J0Ws4b6
  • 4.5.3 - October 13, 2017

    • Service release - no new feature
    • Cloud player subresource integrity: sha384-er0ISz4hKXZBDR1UDNFxzhzdh3YaFzXyiHA1Ih54XYcSsSklhlk2FRlzvl+iJV79
  • 4.5.2 - October 10, 2017

    • Adds adTagWaterfall setting support for rmp-vast
    • Adds adLoadMediaTimeout setting support for rmp-vast
    • Deprecates adAjaxTimeout setting in favour of adLoadVastTimeout for rmp-vast (this is to unify settings with IMA SDK) - adAjaxTimeout is still available for legacy support
    • Adds autoplaysuccess/autoplayfailure event for outstream ads
    • autoplayfailure event now fires in case content cannot be fetched from server when player first starts
    • Now uses a full-black default poster when casting (Google Cast) when none is provided
    • Now uses a data:image/png;base64 image for default Google Cast / WebView poster (e.g. when none is provided) to avoid gray-scale rendering issues across browsers
    • Further enhances player skins with larger tap zones for tablets (following 4.4.15)
    • Fixes an overlapping CSS issue for play icon in audio-only player at rmp-small size (since 4.4.15)
    • Cloud player subresource integrity: sha384-PM6WpS0lEJu+ajAS4PIszEEkSH+ZVdrmKBrgpzT5Ewv7nowtSw7ahBZgzTyqRDq8
  • 4.5.1 - October 6, 2017

    • Updates to rmp-vast 1.1.0
    • Adds support for ad scheduler with rmp-vast
    • adAjaxWithCredentials setting now defaults to false for rmp-vast
    • Fixes an issue where loading post-roll ads through loadAds API method could cause content to automatically resume after ad is over
    • Fixes an issue with some exotic HLS streams not starting properly through hls.js
    • Fixes outstream ads broken in Chromium-based browsers with 4.5 update
    • Adds getAdParser method
    • Re-enables adDisableCustomPlaybackForIOS10Plus setting for IMA SDK but sets default to false (which is IMA SDK default)
    • Disable AirPlay for Apple FairPlay Streaming
    • video360InitialLon setting default is now 180° (previously -180)
    • Sets internal max/min latitude value for 360 video to 88° (previously 85)
    • Cloud player subresource integrity: sha384-aFMxmyrHUfKAU6rbW110V9h9E8GjV+gm5YWcXXwDPOauwKOWCQJynb5PC8k4z4Yl
  • 4.5.0 - October 3, 2017

    • 360 video
      • Rewrote 360 video rendering engine for smoother camera movements
      • Adds iOS 10+ support (MP4 progressive download)
      • Adds video360MoveSpeedFactor, video360InitialLat, video360InitialLon, video360ArrowMoveFactor setting
      • Adds dedicated 360 video player API: getCamLon, getCamLat, getCamFov, setCamLatLongFov, resetCamLatLongFov methods
      • Removes video360Fps setting - now auto-guess by player
    • HEVC support
      • Extends HEVC support with dedicated strategy using hlsHevc & mp4Hevc bitrates properties
      • Removes hasHevcSupport player API method in favour of the above
      • Adds hlsHevc value to getStreamType API method
      • Properly handles MANIFEST_INCOMPATIBLE_CODECS_ERROR with hls.js
    • Autoplay
    • Video ads
      • Removes adDisableCustomPlaybackForIOS10Plus setting for IMA SDK to adhere to new promise-based autoplay implementation. Effectively this means skippable ads are no longer supported on iPhone (remains active on iPad)
      • Smoother UI loading for pre-roll ads
    • Updates to Shaka Player 2.2.2
    • Cloud player subresource integrity: sha384-lstQX565IEOdXOoz6Wr7LmtKrD9LNi0UZgTmdYgP4zIQ2bmh/jgoxVqzjmDc9JEY
  • 4.4.26 - September 28, 2017

    • Fixes hlsJSStartLevel issue highlighted in 4.4.25
    • Re-rolled to hls.js 0.8.4 custom build
    • Cloud player subresource integrity: sha384-GgzsaG2qAZCS3F7z0YMOmbLJrvuWjdDHWFtSsoHuUJLbZd6sahiH62xUGfBJWf4I
  • 4.4.25 - September 27, 2017

    • Temporarily rolled back to hls.js 0.7.11 to avoid playback issues with some live streams and the hlsJSStartLevel setting
    • Cloud player subresource integrity: sha384-TVl3wTxKI0Uc70RP/kI49cRhf06d7B1cyYqp2AHmt4h39DFrzfJqHwSNRao00pUe
  • 4.4.24 - September 27, 2017

    • Lets autoplay, play & pause API methods run faster by directly accessing internal player methods
    • Adds getAutoplayRequested API method
    • Re-enables getReady API method that went missing with 4.4.0 release
    • getPlayerMode API method now also returns html5-legacy value
    • Cloud player subresource integrity: sha384-VYl1NlCSnNqj7M6PIE+Wz+5RCcA8cB04/R7N3yt26+bzQrsRTFdxUf1NSqGCWfeu
  • 4.4.23 - September 27, 2017

    • Fixes a thrown error for Google Cast support when multiple player instances are present in the same page that would prevent the first player to enable casting
    • Makes sure CSS transitions are only used for specific properties
    • Adjusts loading/spinner UI CSS for s1 & s3 skins (following 4.4.21)
    • Updates to hls.js 0.8.4
    • Cloud player subresource integrity: sha384-BEAxnIK6CxoZlOmAMKZ6D1Hv4BJDixXSyronSbsb5daKqWMldN1BVz5elfvT9aMH
  • 4.4.22 - September 26, 2017

    • In standalone mode (Web App) force use of rmp-vast ad parser on iOS to allow ads to be clickable
    • Cloud player subresource integrity: sha384-1lrN/uySZvveYoK6LkfTWjE4HFWnq0riaaZm7sXIX1+CVj1zwI0wNVv4LHytLzTw
  • 4.4.21 - September 26, 2017

    • New loading/spinner UI for s1 and s3 skins
    • Disables AirPlay for 360 video player in macOS Safari as AirPlay receivers cannot currently display 360 video
    • Cloud player subresource integrity: sha384-UEqMwpf99yI309evb9knqLTwuf15vkruuz2hnFIjuJ9he8vUzgIyxoVzgcYFpICy
  • 4.4.20 - September 25, 2017

    • Autoplay support detection does not rely on beacon files anymore which speeds up detection and gives higher autoplay rates
    • Adds adAutoAlign setting
    • Media content in UC Browser for Android is now rendered through a basic HTML5 video/audio tag (same as legacy browsers) as this browser overwrites custom HTML5 player by default
    • Updates to hls.js 0.8.3
    • Cloud player subresource integrity: sha384-8ia+H3UQETi8Ao7kpFHv86orc+4PZTdXZl1cTP5XnlmzDhQ3+WSSyr1ja0NXtUxQ
  • 4.4.19 - September 22, 2017

    • Adds mutedAutoplayOnMacosSafari11Plus setting to deal with macOS Safari 11 new feature that now blocks autoplay of media content with audio by default
    • Adjusts central UI icons size for s3 skin at rmp-extrasmall player size
    • Cloud player subresource integrity: sha384-MHxuw6s8n+Uh8xT1LYC0zcidvLkX9DN0otZPYoamhjIU8svCQARWXpRYEXV6o6LI
  • 4.4.18 - September 21, 2017

    • setPlayerSize API method only resizes based on input values and does not call resize API method immediately after anymore
    • Tighten type checking for input streaming data
    • Cloud player subresource integrity: sha384-uhqZFX9xKLMv6UzuPN3ljGR4CpWGOZwkluFsGt5bKAVxFueINaam5Rce7b6mEwbn
  • 4.4.17 - September 21, 2017

    • Fixes a video content sizing issue when in fullscreen mode with macOS Safari 11.0 public release
    • Cloud player subresource integrity: sha384-Cxmh51nDs20okCsc1t9IYrIb0F1NHlAcQiJDLjN1bwF9x88078tX1Ksdu77TLF/H
  • 4.4.16 - September 21, 2017

    • Properly makes available CEA-embedded captions with HLS and player captions UI if no text track is found within the first segments but become available with next segments
    • Properly disables click/touch interaction on central UI elements when not visible to avoid potential interference with other player interactions
    • Cloud player subresource integrity: sha384-MygqiNLSp9RgoDtcO5egZArjRSaAyJvfA7NFS32qej+kgvFAa/z4KGoQT2tfVz+0
  • 4.4.15 - September 20, 2017

    • Enhanced player touch-based interaction, notably with larger tap zone for buttons, for player sizes below 480px (.rmp-extrasmall and .rmp-small CSS sizing classes)
    • Adds fade-in/fade-out effects for player central UI elements
    • Content title UI (e.g. set with contentTitle setting) is now moved at the top left corner of the player
    • Validated support for public iOS 11.0 Safari release (no change made)
    • Enhanced in-article outstream ads layout for mobile rendering
    • Adds hideCentralBuffering setting
    • Fixed a potential sizing issue on iOS when leaving fullscreen after an orientation change happened while in fullscreen
    • Cloud player subresource integrity: sha384-OfllDJA4P9D6EA8h5FAjcJVyE0wN4dqc2RGGMkPX2x3Qgig+srB7YUWH4/H+6Qsd
  • 4.4.14 - September 19, 2017

    • Fixes a bug introduced with 4.4.12 in feature detection that would cause iOS Safari to be recognised as an iOS WebView and that would force default ad rendering engine to rmp-vast for iOS Safari
    • Cloud player subresource integrity: sha384-x6i0leD2T2WXxoCCr1B5niO3eARVI8fZY9z2POvWmRHZtIR9KZxQyt/lA8xuJIUM
  • 4.4.13 - September 15, 2017

    • Where muted autoplay is not possible on mobile devices and muted setting is set to false - do not mute player when player starts after user interaction is detected
    • Validated support for Chrome for Android 8.0 public release (no change made)
    • Cloud player subresource integrity: sha384-z3jHpvz/Us0l2gFO8o+R7/VCE4KOQbHKUQr8ZexfWTpD21vH4XlhdtR8v5NxK0Uj
  • 4.4.12 - September 15, 2017

    • Minor optimisations for WebView support
    • Cloud player subresource integrity: sha384-98PFU0ecxLFz9H4u8M2sRKB/PgfVxSB28o0qPltqJ1RfcQk0DqI0qU6gy5T42j0x
  • 4.4.11 - September 14, 2017

    • Adds Google Cast and AirPlay support for audio-only player
    • Updates to hls.js 0.8.2
    • Adds Flash fallback option for audio-only player
    • Fixes a bug where some older versions of Firefox (Firefox 50 and below) would not start hls.js to HTML5 video streaming (since player version 4.3.10)
    • Fixes full autoplay support in Android WebView where possible (previously only muted autoplay was available)
    • Cloud player subresource integrity: sha384-j/PeS1ZqM+gFK/6ElrGWNBnffFKd6TRhpO0DrjaR4JpbWJA9kjsrZnu4adDlSyE8
  • 4.4.10 - September 13, 2017

    • Adds legacy support for audio-only player
    • When player is in outstream ads mode disables AirPlay icon
    • Fixes destroycompleted event that would not fire for hls.js-based streaming
    • Cloud player subresource integrity: sha384-KWOBYPR6dmVGUqWEHqN6luDk3L5u1hVIa40rCQwiflUDaYwz6X0xuYyu2Eutq69U
  • 4.4.9 - September 13, 2017

    • Fixes a non-blocking path issue on cloud-player for loading beacon files required for autoplay support detection
    • Cloud player subresource integrity: sha384-irTK0/As25QpEOVW/w48qp75nfjxt/jbDgihk59bbZX8Q63+/jbIwUO1g4hUYHi6
  • 4.4.8 - September 13, 2017

    • Rewrites getCurrentBitrateIndex API method
    • setBitrate and getBitrates API methods now work with progressive download
    • getStreamType API method now returns 'outstream' for outstream ads
    • Fixes outstream ads support that would not work as expected in some browsers since 4.4.7
    • Cloud player subresource integrity: sha384-vwSdORiSDNqrLm1eTw61GxAo+S6bXEK+j9XfwUY7HuKiZsqlzXea3kYLrluMXaMX
  • 4.4.7 - September 12, 2017

    • Adds in-player built-in AirPlay support
    • Adds offsetStartPosition setting
    • Improves error management for iOS and Internet Explorer/MS Edge for progressive download and native HLS
    • Adds support for live content with playlist/related layout
    • Adds isPlaylist, getPlaylistData, isRelated, getRelatedData API methods
    • Updates to three.js r87
    • Updates to Shaka Player 2.2.1
    • Cloud player subresource integrity: sha384-RI6IFx/vYb4qXkXexfam1YeZL0mO5WVTJymatAVbsDnd9ML9cJJc1zcfAzAXIS9/
  • 4.4.6 - September 1, 2017

    • Rewrites and simplifies autoplay support for increase performance and accuracy especially in slow-network conditions and on older devices - removes featureDetectAutoplay and autoplayDetectionTimeout settings which are now auto-guess by player
    • Updates player resizing to support use-cases where player container parent width cannot be computed when init is called
    • Lightens internal resizing process when init is called and added documentation on player responsiveness
    • Sets player container ARIA role to application (previously figure) to comply with Google Lighthouse accessibility requirements
    • Prevents setPlayerSize API method to have any effect when autoHeightMode or iframeMode sizing settings are used
    • Cloud player subresource integrity: sha384-uZiEbqOWOgJDDyWf6otJpGPuRKmLPvi55AJsDeRtqZOOY4itNxfi7ZUKrH5bacQ9
  • 4.4.4 - August 4, 2017

    • Sets adLoadMediaTimeout defaul to 10000 (from 8000)
    • Sets adLoadVastTimeout default to 8000 (from 5000)
    • Sets internal ajax timeout (VTT files, JSON playlist, related ...) to 10s (from 8s)
    • Cloud player subresource integrity: sha384-KfgOHL+uRs3rPCnZledCYzAuPc3+eu4j6DQzjQH8370JtLm2QhZzZSlZ4r9OfCtK
  • 4.4.3 - July 31, 2017

    • Improves and simplifies ad-scheduler but removes support for consecutive pre-roll and post-roll ads - for such advanced use-cases VMAP should be used
    • Makes IMA-based ad-loading process faster
    • Set adVpaidMode setting default to insecure (replaces friendlyiframe value to be consistent with IMA documentation - friendlyiframe value is now deprecated but still available for the time being)
    • Adds adVpaidControls setting
    • Adds adDisableCustomPlaybackForIOS10Plus setting
    • Re-adds documentation for mutedAutoplayOnMobile setting
    • Removes some rarely-used player settings for IMA ads to further improve loading IMA ads: adPlayAdsAfterTime, adsResponse, adUseStyledLinearAds, adUseWatermarkCountdownAndMessage, adPpid, adCompanionBackfill
    • Cloud player subresource integrity: sha384-d/YGk73ezx/1fzJQo+f+ix+IqV0qiaD7/iX6rBP8WgpzmAapKmbYCRw+4LRSTENR
  • 4.4.2 - July 31, 2017

    • Renames Google Analytics event playbackstarted to playerstart and modifies it to be consitent with PLATFORM Edition logging
    • Renames Google Analytics event playbackended to ended to be consitent with player API
    • Cloud player subresource integrity: sha384-eBvTjbXHTBElwYBNq5ig/p8jcvl/Iiva6YLFlzrdl1E0Pn5DpY+S6P4FC2BJboie
  • 4.4.1 - July 30, 2017

    • Adds adAjaxWithCredentials setting for ad being loaded with rmp-vast
    • Adds support for multi-source (e.g. HLS, DASH, MP4 ...) for a playlist/related item. All items in the JSON list must have the same source configuration
    • Adds auto-detection for labels.bitrates.renditions and improves default naming support
    • Improves Google Analytics plugin to better support legacy and Flash fallback (deprecated) reporting
    • Throttles seeking events in Google Analytics plugin to avoid multi-sending on iOS for the same event
    • Fixes "nosupport" log for Google Analytics plugin
    • Removes playbackstartedafterhavingended event and readytime value from Google Analytics plugin
    • Cloud player subresource integrity: sha384-hyUna9e5jUeiZ65sCOad24txSozNFVFD5huHYSJKjnTLQm/o/vXe4RiAczrAiJZ5
  • 4.4.0 - July 29, 2017

    • Mobile Apps
      • Set support for web-based mobile apps (Cordova/WebView) out of BETA
      • Adds dedicated guides for using Radiant Media Player with Cordova and PhoneGap
      • Adds appName setting to uniquely identified an app in our back-end
      • Adds getAppName player API method
    • HLS with hls.js
      • Replaces hlsJSEnableCEACaptions setting with hlsJSEnableCaptions setting
      • Adds hlsJSAbrBandWidthFactor and hlsJSAbrBandWidthUpFactor settings
      • Sets default of hlsJSAbrDefaultBandwidthEstimate to 500000 and removes auto-detection to avoid overhead at start-up
      • Improves error recovery process
    • HLS & DASH with Shaka Player
      • Adds support for fMP4 HLS through Shaka Player
      • Adds hlsEngine setting to distinguish hls.js and Shaka Player HLS engines
      • Adds shakaCustomConfig setting
      • Adds shakaBandwidthDowngradeTarget and shakaBandwidthUpgradeTarget settings
      • Adds shakaJumpLargeGaps and shakaSmallGapLimit settings
      • Replaces player settings dashAbrDefaultBandwidthEstimate, dashStreamingBufferBehind, dashStreamingBufferingGoal, dashStreamingRebufferingGoal, dashStreamingIgnoreTextStreamFailures, dashPreferredAudioLanguage, dashRetryParameters, dashRestrictions, dashRequestConfiguration (those settings are now deprecated but still available for the time being) - with respectively: shakaAbrDefaultBandwidthEstimate, shakaStreamingBufferBehind, shakaStreamingBufferingGoal, shakaStreamingRebufferingGoal, shakaStreamingIgnoreTextStreamFailures, shakaPreferredAudioLanguage, shakaRetryParameters, shakaRestrictions, shakaRequestConfiguration
      • Replaces API events: dashinstancecreated, dashtrackschanged, dashlevelswitching, dashabradaptationchange, dashaudiotrackswitching, dasherror, dashwarning (those events are now deprecated but still available for the time being) - with respectively: shakainstancecreated, shakatrackschanged, shakalevelswitching, shakaabradaptationchange, shakaaudiotrackswitching, shakaerror, shakawarning
      • Removes dashManifestConfiguration setting
      • Removes dashAbrEnabled setting - ABR is always enabled now
      • Removes dashDrmUseAesHlsFallback setting - now auto detect
      • Sets default of shakaAbrDefaultBandwidthEstimate to 500000 and removes auto-detection to avoid overhead at start-up
    • DRM
      • Adds support for fMP4 HLS DRM (Widevine, PlayReady or Clear Key) through Shaka Player
    • Player skins
      • Adds support for s2 skin for audio-only and playlist layout
      • Optimised deferred CSS loading process
    • Audio-only player
      • Enforces Google IMA engine for audio-only ads
    • Player API
      • Optimises destroy API method
      • When destroy API method is called make sure buffer is fully emptied when destroycompleted event fires
      • Adds id property to return values from getAudioTracks and getBitrates API methods
      • Improves setSrc API to better deal with error while loading new content
      • Fixes an issue for ad resizing with the setPlayerSize API method
    • Analytics
      • getStartUpTime analytics API method is now more accurate in regards to real user-perceived startup time
      • getTimeViewed analytics API method precision is now 400 ms (previously 1000 ms)
      • Adds Google Analytics support for playlist & related
      • Fixes a race condition that would cause Google Analytics ready event to not fire in some configuration
      • Removes start-up time related information from Google Analytics
    • Video ads
      • Fixes support for skippable ads on iPhone iOS 10+
      • loadAds API method now works to load VMAP tags after srcchanged event
    • Flash fallback (deprecated)
      • Fixes API ready event that would not fire
      • Fixes a duplicated settings issue when multiple player instances were used
    • Cloud player subresource integrity: sha384-78DLoRcKjc9jWgbdKs4+mRC4RoLv41UXvLfL4UueMoCFovVPtCTewV2TpcS5Wefy
  • 4.3.10 - July 21, 2017

    • Adds support for setSrc & getDuration methods with DVR content
    • Adds dvrSeekTo and dvrJumpToLive methods to player API
    • setSrc method can now take an Object as input
    • Fine tunes 360 support detection
    • Removes playsInline setting - this is now automatically set by the player
    • Adds error event to Google analytics plugin
    • Adds html5-mp4Hevc data to Google analytics plugin
    • Removes adloaded event from Google analytics plugin
    • Makes sure API error event just fires when a fatal error is encountered
    • Cloud player subresource integrity: sha384-oqyrp9HkidOFyRcmx+X2yLeX4ICBkGqK+vCML6IeTlkD3JV9omoVl0lvZJNqdmTX
  • 4.3.9 - July 19, 2017

    • Updates to rmp-vast 1.0.0 (out of BETA)
    • Updates to hls.js 0.7.11
    • Updates to Shaka player 2.1.5
    • Fine tunes muted autoplay support on mobile devices
    • Cloud player subresource integrity: sha384-Ggo8w8n1YzpjVakXZJPalztrxGW+FyGW3zpfLEDd9G/Stx7dpDtGfjV2MfRdGGv7
  • 4.3.8 - July 13, 2017

    • Adds custom player module support
    • Updates 360 video UI and adds support for focal length adjustment
    • Adds video360Fps, video360MinFocalLength, video360MaxFocalLength settings
    • Adds support for DVR streaming in 360 video
    • Adds support for all player skins for 360 video
    • Adds support for all player skins for related content
    • Removes rmp-extralarge sizing class to reduce CSS sizing complexity
    • Simplifies CSS for rmp-mobile class
    • Removes adDisableFlashAds setting as Flash VPAID ads are no loner supported with the IMA SDK
    • Cloud player subresource integrity: sha384-AkLbwdonMr72eU0iFvGlNdweNTqK3/pv0PujLQjUxjFy9El2kw7x+zBOpMhJ/UMu
  • 4.3.7 - July 11, 2017

    • Adds adlog event to video ads API for non-fatal errors
    • Minor CSS adjustments to s3 skin
    • Reverts to custom playback for Google IMA ads on iOS 9
    • Updates to three.js r86
    • Properly displays no-support message with 360 video when no fallback is available
    • Cloud player subresource integrity: sha384-SsTJQRsUGuvgTxi/Dql9gPiVQ0Kfs/7uZF31tNy3Hc9BJ9/cVEblYx3sjNmQqMFd
  • 4.3.6 - July 6, 2017

    • Fixes a content recovery issue on iOS 9 with VMAP pre-rolls
    • Fixes a localStorage DOM exception on iOS 9 when in private browsing
    • Cloud player subresource integrity: sha384-ET3P03CG2zi1KKSPoufvydxn4k4pWr+864KksTsfvs7qRrniLM1JInI2N1iD+c0t
  • 4.3.5 - July 5, 2017

    • This updates focuses on updating support for video ads on iOS 10+ following the several changes made to the Google IMA SDK over the past few weeks
    • Adds support for post-roll video ads with iOS 10+
    • Adds support for skippable video ads on iPhone/iPod with iOS 10+
    • Fixes a bug on iPhone with VMAP mid-roll ads that would cause content to restart from 0 after ad completion
    • Improves fullscreen management of video ads for iOS 10+
    • Removes adDisableCustomPlaybackForIOS10Plus setting - this is managed internally now based on iOS version
    • Polishes design of s3 skin
    • Updates skins for better rendering of central icons at smaller player sizes
    • Cloud player subresource integrity: sha384-5Cd+GBzsbtvSp738My60+A8OrkXid7EBSFUXy5tSKtBC4UnGlWOiksfHwzaBMJqU
  • 4.3.4 - July 4, 2017

    • Releases updated rmp-font for better rendering of player icons
    • Cloud player subresource integrity: sha384-cd0IvCVEFW/OQgz2kVBoVVDZB79uxY9e1sYYq4JUdAUOuVlwL2wivYieT5UdzDby
  • 4.3.3 - July 4, 2017

    • Redesigns s3 skin
    • Cloud player subresource integrity: sha384-hxCxgyrqx+Z3mZPamoX4eQu8npcsh1EnLNH0FVWXIgIabzjb3HbKf2P2jAp1SfqN
  • 4.3.2 - June 29, 2017

    • Fixes an issue with iframeMode and the 4.3.0 resizing logic
    • At rmp-extrasmall player size make sure related icons does not overlap with cast icon when both are available
    • Cloud player subresource integrity: sha384-zb1E/lESss/5Ez8JxeTesxJffnCGUC9OQ6V9tUj+JS5Mk/Kly+L+8CduqVdEFlhE
  • 4.3.1 - June 29, 2017

    • Updates files for new Google Cast custom receiver application
    • Cloud player subresource integrity: sha384-AOf6cAVWrwe1lJo2kXuvQ9beYrk7I93XBbEShTiubMdsqt9nt/EVEZuJZ68eSFXW
  • 4.3.0 - June 29, 2017

    • Google Cast
      • New custom receiver application with support for Widevine and ClearKey DRM
      • Adds player settings for Google Cast:
        • googleCastLicenseUrl
        • googleCastLicenseCustomData
        • googleCastProtectionSystem
        • googleCastInitialBandwidth
        • googleCastMetadataType
        • googleCastContentTitle
        • googleCastReleaseDate
      • Makes Google Cast support detection lighter
    • New buffer API
      • Adds bufferstalled and buffernotstalledanymore events
      • Adds buffer API demo page
      • Updated default buffer settings for HLS and DASH based on A/B testing results
      • hlsJSAbrDefaultBandwidthEstimate and dashAbrDefaultBandwidthEstimate defaults are now auto-guess based on device capabilities
      • Removes generic HTML5 video events abort, suspend and stalled from player API
    • DASH
      • Updates to shaka player 2.1.4
      • Re-enabled dashPreferredAudioLanguage setting
      • Makes sure the ABR-selected initial bitrate is properly highlighted within the quality selector menu when player starts
    • HLS
      • Allows passing of custom config to hls.js with hlsJSCustomConfig setting
      • Removes hlsFragLoadingMaxRetry, hlsManifestLoadingMaxRetry, hlsLevelLoadingMaxRetry settings which should now be passed with the hlsJSCustomConfig setting
    • Player
      • Updates resizing logic for faster execution
      • Updates player internal framework for faster execution
      • Fixes an exception that would throw when an error would happen on loading the playlist/related JSON (since 4.2.6)
    • Ads
      • Removes adLinearHideControls setting. The logic for displaying controls when linear ads are displayed is as follows:
        • VPAID linear ads: should not have controls and should not pause on click. The VPAID ad should provide the UI to navigate its content.
        • All other linear ads should have player controls. Controls can be tuned or hidden with CSS using the ads API (getAdOnStage and getAdLinear methods) though this should only be done to support specific use-cases.
      • When autoplay is set with outstream ads makes sure the player UI is reset when an ad-blocker is detected
    • Cloud player subresource integrity: sha384-hYfazBDAXz7LfRIzQa1zqXPRG++ZoygB/1XpD1vb+cBk6dbE6kFr/iFPnyyjba9u
  • 4.2.7 - June 27, 2017

    • Sets default for adVpaidMode setting to 'enabled' while investigating a potential issue with IMA SDK for VPAID handling with 'friendlyiframe'
    • Bumps to hls.js 0.7.10
    • Cloud player subresource integrity: sha384-C0sSn+J+s5Dqpm+q4b3+LYtSJvBnjJzqVnne0z+m+cWPz2Nkw6pSoBKTkBkt3/R2
  • 4.2.6 - June 19, 2017

    • Adds bitrates.mp4Hevc option to support both MP4 with AVC/AAC and MP4 with HEVC/AAC while allowing the player to select which is best based on device capabilities
    • Adds mp4Hevc to getStreamType API method
    • Prefers native HLS on Samsung Internet on Android mobile devices when possible
    • Adds error recovery mechanism for playlist/related layouts. When an item is found in error the next item in playlist/related is automatically loaded
    • Adds getCurrentPlaylistItemIndex and setPlaylistItem API methods
    • Adds getCurrentRelatedItemIndex and setRelatedItem API methods
    • Adds subresource integrity support to cloud player
    • Cloud player subresource integrity: sha384-EGi0y8DzA+f8Swb6Jwji/w05SNTpAzinQskowCH5kuOM3glKeJFP7+z+afAlie3O
  • 4.2.5 - June 19, 2017

    • Fixes an issue for playing some types of non-linear VPAID ads with IMA SDK
    • Fixes an issue for playing some audio-only AAC/MP3 HLS streams with hls.js
    • Improves fMP4 HLS support with hls.js
  • 4.2.4 - June 14, 2017

    • Adds HEVC support (don't get too excited - very few devices support HEVC at the moment) and docs
    • Adds hasHevcSupport player API method
    • Adds test codecs page
    • Updates guides for FFmpeg and MP4Box for HEVC encoding and DASHing
    • Properly updates UI for modules after a successful error recovery in DASH
    • Fixes a source sourceMappingURL non-blocking error log in MS Edge
  • 4.2.3 - June 10, 2017

    • Updates to Shaka player 2.1.3 (DASH decoder)
    • Improves DASH error management and error recovery process - adds dasherror and dashwarning events
    • Adds getAudioTracks and setAudioTrack API methods for DASH
    • dashtrackschanged event now fires properly when a new period starts
    • Removes dashStreamingUseRelativeCueTimestamps setting - all segmented WebVTT cue timestamps are now segment-relative
    • Removes dashPreferredAudioLanguage and dashPreferredTextLanguage settings - those are guessed from the DASH manifest now
    • Implements error recovery process for MP4/WebM progressive download when multiple renditions are provided and one causes network errors (automatic fallback to another rendition)
    • getBitrates API method now returns active track information as a property (this deprecates the getCurrentBitrateIndex API method)
    • getAudioTracks API method now returns the active audio track as a property
  • 4.2.2 - June 6, 2017

    • Adds audio track API for HLS with getAudioTracks and setAudioTrack metods
    • Adds adinteraction API event (VPAID AdInteraction event - IMA SDK)
    • Adds adLoadVastTimeout setting (IMA SDK)
    • Adds adDisableCustomPlaybackForIOS10Plus setting BETA (IMA SDK)
  • 4.2.1 - June 2, 2017

    • Adds hlsFragLoadingMaxRetry, hlsManifestLoadingMaxRetry, hlsLevelLoadingMaxRetry settings
  • 4.2.0 - June 1, 2017

    • Updates to hls.js 0.7.9 - this brings support to Radiant Media Player for:
      • In-stream WebVTT
      • CEA 608/708 enhancements
      • SAMPLE-AES decryption
      • HLS with fmp4 BETA (fragmented MP4 container)
      • Audio-only HLS in MPEG Audio container (MPEG-1/2 Audio Layer III audio only streams)
      • API events: hlslevelswitching, hlslevelswitched, hlsaudiotrackswitching, hlsaudiotrackswitched, hlssubtitletrackswitch
    • Adds support for Google cast in playlist, related and through the API setSrc method
    • Fixes an inconsistency in pause event handling when received from Google cast device
    • Adds support for passive event listeners (removes warning in latest Chrome)
  • 4.1.3 - May 23, 2017

    • Set default for autoplayDetectionTimeout setting to 8000 (8s) for better accuracy in busy JavaScript/network environments
    • Set default for adAjaxTimeout setting to 8000 (8s)
    • Updated to rmp-vast 0.1.11
    • Now uses rmp-vast.js un-compiled for easier debugging
    • Allow getEnvironment and getFramework API methods to be queried before init call on player
    • Adds navRates setting
  • 4.1.2 - May 6, 2017

    • Adds support for Radiant Media Player in web-based mobile applications (WebView, Cordova, standalone web-app) BETA
    • Adds getWaitingUI and setWaitingUI methods to player API
    • Removes adtagloaded event from Google Analytics integration
    • Prevents double-loading of Google analytics.js in some case scenario
    • Fixed a bug for iframe usage in Firefox related to https://bugzilla.mozilla.org/show_bug.cgi?id=548397
    • Updates to rmp-vast 0.1.10
    • Improves ad loading UI for rmp-vast
    • Adds adPauseOnClick, adCountDown and labels.ads.controlBarCustomMessage support for rmp-vast
    • Fixes a bug with stopAds/loadAds methods with rmp-vast that would cause player to not restore content UI properly
  • 4.1.1 - May 2, 2017

    • Updated to rmp-vast 0.1.5
    • Added support for adAjaxTimeout, adMaxNumRedirects, labels.ads.skipMessage, labels.ads.skipWaitingMessage and labels.ads.textForClickUIOnMobile settings for rmp-vast in Radiant Media Player
  • 4.1.0 - April 27, 2017

    • Introduced rmp-vast: open-source VAST client
    • Integrated rmp-vast into Radiant Media PlayerPREVIEW
    • Removed adDelayBeforeSkip & adSkipButton player settings - skippable ads are now only available with VAST 3 compliant skippable ads
    • Implements HTMLMediaElement.play() returns a Promise where supported
    • Performance improvement due to faster internal player framework
  • 4.0.28 - April 17, 2017

    • Fix for a non-fatal error message produced by the Google Cast framework in Chrome when multiple player instances are used (Uncaught DOMException: Failed to execute 'registerElement' on 'Document')
  • 4.0.27 - April 14, 2017

    • Added example for HLS server-side ad insertion and ad UI display
    • Server-side ad insertion: when ad UI is on prevent seek keyboard navigation
    • For in-article outstream ads layout do not auto-hide controls
    • Insure that custom playback is used on iOS 10+ for displaying ads through the IMA SDK
  • 4.0.26 - April 12, 2017

    • Added support for dedicated thumbnail files in playlist and related layouts
    • Added playlistEndedLoop and relatedEndedLoop settings
    • Minor CSS and JavaScript improvements for playlist and related
    • Updated loading indicator UI for better accuracy when player is fetching external resources
  • 4.0.25 - April 12, 2017

    • Internal release - no new feature
  • 4.0.24 - April 08, 2017

    • Updated CSS for in-article outstream ads layout for uniformed rendering across devices
    • For in-article outstream ads layout only detect hover states for desktop devices (hover states do not apply on mobile devices)
    • Updated destroy API to best support adOutStreamInArticle, adTagReloadOnEnded settings
    • Updated beacon media files for featureDetectAutoplay setting
  • 4.0.23 - April 07, 2017

    • Added in-article outstream ad layout with adOutStreamInArticle, adOutStreamInArticleMutedAutoplayWithHoverApi settings and implementation example
    • Re-added hlsJSStopDownloadWhilePaused setting (previously available with v3 and now ported to v4)
    • Re-added adTagReloadOnEnded setting (previously available with v3 and now ported to v4)
    • For autoplay feature detection use WebM beacon first over MP4 beacon for better and faster results on Chrome for Android
    • Added hover API examples
  • 4.0.22 - April 06, 2017

    • Internal release - no new feature
  • 4.0.21 - April 05, 2017

    • Added hlsStopLoad and hlsStartLoad API methods
    • Added hlsmanifestparsed API event
    • Added getHlsFragmentBeingPlayedData API method
    • Added hlsfragmentbeingplayedchanged API event
    • Added getAdUI and setAdUI API methods
    • WebM detection for featureDetectAutoplay now relies on an external beacon.webm file for better accuracy
    • Fixed an issue with path resolution of required media files for featureDetectAutoplay when player is used in self-hosted version with pathToRmpFiles default value
  • 4.0.20 - April 03, 2017

    • Added featureDetectAutoplay setting and reworked feature-detection for autoplay support to account for use-cases where the player is dynamically appended to the page
    • Set autoplayDetectionTimeout default to 3000
    • Ad scheduler: when no pre-roll is present previously an aderror event would fire which was not actually representing an ad-related error with the player
    • In HLS when a manifest documents a rendition with a bitrate lower than 10 kbps do not show the bitrate value in the quality module - the main reason for this to happen is when wrong bitrate information are present in an HLS manifest
    • Specified IMA-related logs with a starting "RMP-ads-ima" string when player is in debug mode
  • 4.0.19 - March 31, 2017

    • Added muted autoplay support for video ads on mobile devices
    • Updated feature-based autoplay detection support on mobile devices for better accuracy
    • Added autoplayDetectionTimeout setting
  • 4.0.18 - March 30, 2017

    • Added contentID player setting, getContentID & setContentID API methods
    • Added getLogo & setLogo API methods
    • Added domain whitelisting support for PLATFORM Edition
    • Bump to Shaka Player (internal DASH-decoder) version 2.0.7 - previously version 2.0.5
  • 4.0.17 - March 27, 2017

    • Added full support for DASH multi-period
    • Added dashtrackschanged event to player API
    • Added server-side ad insertion documentation
    • Fixed an issue where the label for quality module would not show as expected in some instances
  • 4.0.16 - March 24, 2017

    • Added support for video ads with 360 video
    • Added support for HLS DVR streaming with audio-only content
    • Google Cast: when content ends on cast device keep the current session active, unless explicitly disconnected by the viewer - in the event a new play is requested the receiving device can display content again faster
  • 4.0.15 - March 23, 2017

    • Internal release - no new feature
  • 4.0.14 - March 22, 2017

    • Added Streamroot support
    • Added iframeAllowed setting
    • Fixed an issue with the loadAds API method that would cause content recovery issues on iOS when called repeatedly
    • Fixed a reference issue with the debug player that would cause DASH decoder to not load in some instances
  • 4.0.12 - March 20, 2017

    • Google Analytics plugin now sends adimpression event instead of adstarted event
    • Fixed a typo for sharingNetworks setting that was previously incorrectly named sharingNetowrks
  • 4.0.11 - March 17, 2017

    • Added Apple FairPlay Streaming support
  • 4.0.10 - March 16, 2017

    • Added getAdPodInfo API method
    • Added getAdvertiserName API method
    • Added getAdCreativeAdId, getAdCreativeId & getAdDealId API methods
    • Added getAdMediaUrl API method
    • Added getAdSurveyUrl API method
    • Added getAdUniversalAdIdRegistry & getUniversalAdIdValue API methods
    • Added adsResponse player setting
    • Added adPlayAdsAfterTime player setting
    • Added adContentDuration, adContentKeywords & adContentTitle player settings
    • Added adForceNonLinearFullSlot player setting
    • Added adDisableFlashAds player setting
    • Added adPpid player setting
    • Added adCompanionBackfill player setting
    • Pre-detect Google Cast support before loading cast_sender.js which can cause unwanted side-effect on MS Edge at playback start
  • 4.0.9 - March 15, 2017

    • Internal release - no new feature
  • 4.0.8 - March 14, 2017

    • PLATFORM Edition release
  • 4.0.7 - March 10, 2017

    • Internal release - no new feature
  • 4.0.6 - March 7, 2017

    • Now using the default receiver application from Google for Google Cast - this notably fixes issues related to aspect ratio on the receiver device. The custom receiver application that was used previously is still available for legacy support purposes
    • Fix an issue where the poster frame would take some extra time to be removed at player start-up with progressive download
    • Fix a deprecation notice warning in browser console (related to "-internal-media-controls-overlay-cast-button") in latest Chrome Canary
    • Adjustment to CSS for colors of the DVR bumper
  • 4.0.5 - March 3, 2017

    • Added sharingNetowrks setting which add customisation to the sharing module including support for: Facebook, Twitter, LinkedIn, Google Plus, Reddit & email
    • Minor optimisation to the feature detection logic
    • For audio-only streaming disable DVR layout as not supported (use live instead)
    • Fixed a potential error when using the destroy method with 360 video
    • Added destroy API example
    • Added getFramework method to player API
  • 4.0.4 - March 2, 2017

    • Internal release - no new feature
  • 4.0.3 - March 1, 2017

    • Correctly display data in Up Next menu in related content when last item is played
    • setSrc API method now correctly works when content has not been initialised
    • Added setSrc API examples to docs
    • Replaced admanagerloaded event with adtagloaded event for better understanding of the ad loading process (admanagerloaded event still available for legacy support)
    • Added adtagloaded & adloaded to Google Analytics reporting
  • 4.0.2 - February 28, 2017

    • Fixed JSON-based related/playlist that would not work with MP4 or WebM progressive download.
    • Added getEnvironment to player API
  • 4.0.1 - February 24, 2017

    • Re-added resize method to the player API that went missing with 4.0.0 release
    • Disabling muted autoplay of video ads on iOS. A recent update of the Google IMA SDK caused an inconsistent behaviour on iOS - so the mutedAutoplayOnMobile is now disabled when using video ads on iOS. This feature will be re-enabled as soon as possible. The mutedAutoplayOnMobile continues to work as expected on mobile devices when not used with ads.
    • Minor adjustments to CSS shadows
    • When dodgy values for bitrate/height data are found in a HLS or DASH manifest do not show them in HD module - instead show default values
  • 4.0.0 - February 20, 2017

    • Related content
      • Added related content support with JSON input
      • Up next and discovery overlay support
    • Playlist
      • Updated playlist support with JSON input
      • Updated playlist design
    • DASH
    • 360 video
      • Official release for 360 video support in Radiant Media Player
      • Added support for macOS Safari
      • Added support for progressive download with 360 video
    • Player
      • Added playsInline settings
      • Playback rate values from the nav setting now ranges from x0.25 to x4
      • Rewrote fullscreen management for faster entering/exiting fullscreen
      • Backup streaming URL (backupBitrates setting) is now supported for progressive download
      • Added webmCodecs setting for easier targeting of specific WebM codecs combination
      • Logo for logo setting can now be provided as JPEG, PNG or GIF
      • In HLS or DASH when bitrate changes in ABR auto mode the bitrate selector module now indicates which bitrate is currently playing
      • Added vtt.js support for macOS Safari (external WebVTT captions)
      • Default buffer length for HLS & DASH is now unified at 60 seconds
      • Minimum buffer length value for HLS & DASH is now set to 10 seconds
      • Removed displayStreams setting
      • Updated noSupportInstallChrome player label default
      • Preload setting now only has effect for progressive download & native HLS
      • Enabled proper iframe policy as per terms of service
    • Audio-only
      • Added support for M4A & MP3 progressive download
      • Updated layout for audio-only player
      • Removed audio-only with poster layout - this would need to be built on top of the audio-only player now
    • Ads
      • Updated ad-loading mechanism allowing for faster rendering
      • Improved chain ad-loading
      • Improved outstream ad coverage on older device/browsers
      • Added adAutoplayOnlyPreroll setting
      • Set default of adVpaidMode to 'friendlyiframe'
      • Set default of adUseWatermarkCountdownAndMessage to true
      • Removed adRemainingTimeColor setting - this is now set based on CSS accent color
    • Flash
      • Deprecated Flash fallback support - Flash support is now limited to essential functionalities for legacy browsers and will be progressively phased out of Radiant Media Player
    • HLS
      • Added hlsJSAbrDefaultBandwidthEstimate setting
      • Added hlsJSBWFactor setting
      • Added hlsJSAppleAppStoreCompliance setting
      • Added player API methods & events for HLS streaming: getHlsManifestData, getHlsLevelData, getHlsFragmentData methods & hlsmanifestloaded, hlslevelloaded, hlsfragmentloaded, hlsabradaptationchange events
      • Added support for #EXT-X-PROGRAM-DATE-TIME through getHlsEpochProgramDateTime & getHlsRawProgramDateTime API methods
      • Added full support for #EXT-X-DISCONTINUITY & #EXT-X-DISCONTINUITY-SEQUENCE
      • Removed hlsJSStopDownloadWhilePaused setting
      • Removed useNativeHlsOverHlsJS setting
      • Renamed hlsjserror event to hlserror & hlsjswarning event to hlswarning
      • Renamed hlsjsinstancecreated event to hlsinstancecreated
      • Bump to hls.js 0.6.21
    • Player API
      • Completely reworked setSrc API with support for update in video/audio tracks - it also supports DASH and live content now
      • Added getReady method
      • Simplified retuned values for getStreamType method
      • Added getBufferLength method
      • Added getLoop, getControls, getContentTitle, getContentDescription & getPoster methods
      • Added setContentTitle & setContentDescription methods
      • Renamed toggleFullscreen method to setFullscreen
      • setBitrate method does not require a type parameter anymore
      • Added destroyerror & fullscreenerror events
    • CSS
      • Updated CSS sizing classes: .rmp-extrasmall, .rmp-small, .rmp-medium, .rmp-large & .rmp-extralarge are now available
      • Added overflow support for text content within player modules
      • Added 360.less, related.less, playlist.less, audio-only.less files for more consistent breakdown of player CSS
      • Updated CSS ready detection for faster time-to-ready
      • Fixed a layout issue with play/pause button in s4 skin
      • Fixed minor CSS issues while player is in casting mode
      • Renamed .rmp-i-share class to .rmp-i-sharing
      • Renamed .rmp-i-streams class to .rmp-i-hd
      • Moved CSS lint to stylelint
    • Player builds
      • New player build process to generate production/debug player builds
      • Production player is faster and lighter
      • Added debugLevel setting
    • Analytics
      • Added gaNamedTracker setting for Google Analytics
      • Removed getPercentHeatMap method which was redundant with getRawHeatMap method
      • Renamed trackingId setting to gaTrackingId

  • 3.10.16 - March 17, 2017

    • Pre-detect Google Cast support before loading cast_sender.js which can cause unwanted side-effect on MS Edge at playback start
  • 3.10.15 - March 2, 2017

    • Disabling muted autoplay of video ads on iOS. A recent update of the Google IMA SDK caused an inconsistent behaviour on iOS - so the mutedAutoplayOnMobile is now disabled when using video ads on iOS. This feature will be re-enabled as soon as possible. The mutedAutoplayOnMobile continues to work as expected on mobile devices when not used with ads.
    • Bump to hls.js 0.6.21
  • 3.10.14 - January 30, 2017

    • Disabled asset preloading for VMAP adTags in HTML5 video as it could cause content recovery issues with some pod configurations containing several ads - if you are using VMAP this is a recommended update
    • Bump to hls.js 0.6.19
  • 3.5.0 - August 19, 2016

    • Device support
      • Added Xbox One MS Edge support.
      • Pre-test for iOS 10 release.
    • Improvements
      • Completely rebuilt Google Analytics plugin.
      • Added black background for chained TV-like video ads.
      • Added counter for ad pods in VMAP (HTML5-video ads only).
      • Set dashAndroid setting default to true.
      • Added preload = 'none' support for MPEG-DASH and Flash.
      • getStreamType API method now also returns hlsflash and mp4flash.
      • Added adMaxNumRedirects setting.
      • Added useNativeHlsOverHlsJS setting.
      • Added hlsWithH264Mp3Support setting.
      • Re-enabled file:// protocol support but without support for specific file:// enabled environment.
      • Removed some extra processing for feature detection of playback rate.
      • Added dashXhrWithCredentials setting
      • MPEG-DASH bitrate switching is now faster
      • Added MPEG-DASH events:
        • manifestloaded
        • periodswitchstarted
        • periodswitchcompleted
        • qualitychangestarted
        • qualitychangecompleted
        • streaminitialized
    • Bug fixes
      • Using the player API for multiple instance of Flash players could cause collision of some methods
      • HLS-MSE now correctly fires the error event and display an error message on network error
      • Fixed a bug that was preventing fullscreen events to fire after a video ad has been played in flash
  • 3.0.0 30th April 2016

    • Refactor
      • Code base is now ES2015 JavaScript and compiled to ES5 with Babel
    • Added
      • HLS to HTML5 video on Desktop and mobile support (MSE-based)
      • TV like video ads experience
      • getBitrates getCurrentBitrateIndex getPlaybackRate getHlsId3TagSamples getFullscreen showCaptions hideCaptions API methods
      • hlslevelswitch hlsid3tagparsingcompleted destroycompleted API events
      • destroy API methods with update player examples
      • Customisable player labels
      • Fallback streaming URLs
      • Outstream video ads
      • initialVolume setting
      • Player hints for module (sharing, quality, speed ...)
      • dashCapLevelToStage setting
      • In-manifest CEA 608, WebVTT, TTML or EBU-TT-D captions for MPEG-DASH
      • backgroundColor setting
      • For MPEG-DASH download of chunks is now paused when player is in pause
      • Flash VPAID in HTML5 player
    • Changed
      • Set friendlyiframe as default for VPAID HTML5
      • adSchedule items must be passed as array
      • Bitrates information are now simplified as string (dash, hls) or simple array (mp4, webm)
      • Bitrates MPEG-DASH information are now bitrates.dash instead of bitrates.dash264
      • hlsToFlash setting is now enabled by default and cannot be disabled
      • Renamed defaultFlashAudioLabel to flashDefaultAudioLabel setting
      • getCurrentTime getDuration getVolume getTimeViewed getPercentViewed getTimeReady methods now returns -1 when not available
      • Setting ad-block detected custom message is now done with adBlockMessage setting
      • Playlist layout now based on destroy + update player API methods
    • Improved/bug fixes
      • Skin UI
      • Flash VPAID in Flash player
      • Error layout
      • Preloading behaviour for MPEG-DASH (only metadata are now loaded)
      • Seeking UI with MPEG-DASH and Android devices
    • Removed
      • setSrc API methods
      • autoNext feature from Playlist
      • adFlashTagWaterfall and adFlashTagUrl settings
      • dashFirefox setting (enabled by default now)
      • adForceNonLinearFullSlot setting
      • adBlockDetectedRestrictive adBlockDetectedRestrictiveMessage adBlockDetectedPermissiveMessage settings
      • defaultDashAudioTrack setting - now auto-guess from Manifest

  • 2.0.0 18th August 2015

    • Added Windows 10 support
    • New more flexible trial edition
    • Introduced Radiant Media Player R1, R2 and R3 editions
    • New Flash fallback with added features: new layout, multiple audio tracks support, SRT closed captions
    • Improved Apple HLS support: manual or auto bitrate switching, multiple audio tracks support
    • Added debug mode to the player
    • Added legacy mobile platforms support
    • New playback modifier module
    • New video loading and buffering module
    • New CSS skinning model with 5 pre-built skins
    • Improved HTML5 video ads module: ad waterfalling, ad scheduling (VMAP 1.0.1), universal skip button, better mobile support
    • New MPEG-DASH DASH264 decoder
    • Updated unified JavaScript API for HTML5 + Flash
    • Unified keyboard control HTML5 + Flash
    • Unified Google Analytics module HTML5 + Flash
    • Added prototype for file:// support BETA
    • Various minor bug fixes
    • In an effort to make our player better we have had to remove some features: WebM Dash support (this has been back with 2.2), design lab, RTMP support for Flash

  • 1.0.0 28th January 2015 OUT OF BETA