logo

🚀 2022.1.0 (2022/01/17)

Officially announcing THEOplayer 3.0

Introducing a major version bump to THEOplayer 3.0. This version officially releases all the improvements and developments THEOplayer has achieved in the last months. This latest version is now stable, backward compatible, and recommended for general use.

Unified Android

  • A single SDK for all Android devices, including mobile, Smart TVs, and STBs.
  • Supports clear and encrypted playback through (LL-)DASH, (LL-)HLS, and HESP.
  • Support Widevine level 1 DRM encryption.
  • Modular connectors allow the integration of preferred functionalities.
  • Features:

    • Closed captions/subtitle: TTML, WebVTT, CEA-608 and CEA-608 over CEA-708.
    • Metadata formats: Out-of-band DASH eventstream, in-band EMSG metadata & ID3.

      ⚠ Note

      Some features are not yet supported, therefore, only the above-mentioned features are available.

Package Managers

  • Allow engineering teams to save time-to-live.
  • Automated version management allows THEOplayer customers to bump to the latest version without reaching the portal.
  • Much lower build/ download time across all platforms, especially on iOS and Android.
  • Modular development approach.

Smart TVs & STBs

  • Support for a wide range of Tizen and WebOS versions, including legacy versions (Tizen 2.4+ and WebOS 3.0+).
  • Performant seamless multi-period DASH playback with and without DRM on Tizen and WebOS supporting advanced SSAI use-cases.
  • Optimized performance on RDK and Android TV STBs.
  • Supports stable playback with DRM and subtitles on STBs.

Low Latency

  • Support superior playback through LL-DASH and LL-HLS on all THEOplayer SDKs.
  • Tested low latency capabilities end-to-end.

High Efficiency Streaming through HESP

  • Sub-second latency at scale.
  • Fast channel change, immediately at the live latency cross-platform.
  • Improved ABR.

Web (3.0.0)

🐛 Issues

  • Fixed an issue where we would sometimes not error when an HESP stream goes offline.
  • Fixed a compatibility issue when using the player UI with react-native-web.
  • Fixed an issue where playback on EOS stb devices would not be smooth.
  • Fix an issue where VR streams were not rendered properly on mobile Safari 15.2

👎 Deprecations

Android (3.0.0)

🐛 Issues

  • Fixed an issue where calling requestFullScreen before the player is done initializing caused the player to ignore it.
  • Fixed an issue where Audiotrack switching on Chromecast was broken on the UI.
  • Fixed an issue where updating app to targetSdkVersion 31 (Android 12) and using cast framework v20.1.0 triggered a crash whenever a casting session is started.

👎 Deprecations

  • Deprecate THEOplayer Android MinApi16 SDK.
  • Last major version of the THEOplayer Android SDK to support Android 4.x (API level 16). The next minimum version is Android 5.0 (API level 21)

Unified Android (3.0.0)

🐛 Issues

  • Fixed an issue where the player would potentially crash when the hosting application would go to the background.
  • Fixed an issue where play-out of DRM-protected streams would sometimes fail on mobile Samsung devices.

iOS (3.0.0)

🐛 Issues

  • Fix an issue where fullscreen device orientation was broken when using fullscreenOrientationCoupling.

🚀 2021.4.2 (2021/12/17)

General

🐛 Issues

  • Fixed an issue where the player would freeze after a quality switch when using the LL-HLS pipeline.

Web (2.92.0)

✨ Features

  • Exposed creativeId, adSystem, title and wrapper properties in the API for Google DAI ads.

🐛 Issues

  • Fixed an issue where HESP ABR would drop to lowest quality due to an underestimated bandwidth estimate on certain streams.
  • Fixed an issue where the player would not automatically prune based on the bufferLookbackWindow in the ABRConfiguration.
  • Fixed an issue with the Verizon ad integration sometimes not dispatching adend and adbreakend events on post-roll ads.
  • Fixed an issue with filtering of unsupported DASH representations.
  • Fixed an issue where MPEG-DASH live streams with very large media timestamps failed to play on Tizen 3.

Android (2.92.0)

🐛 Issues

  • Fixed an issue where setting the target quality of an audio/video track would not work when playing HLS.

Android TV (2.92.0)

🐛 Issues

  • Fixed an issue where Verizon ad events would not be dispatched.

Unified Android (2.92.0)

✨ Features

  • Added support for rendering CEA608 subtitles.

🐛 Issues

  • Fixed an issue where play-out of some DRM protected streams would fail.

tvOS (2.92.0)

🐛 Issues

  • Fixed an issue where requestCurrentProgramDateTime would return nil in tvOS

🚀 2021.4.1 (2021/11/29)

Web (2.91.1)

🐛 Issues

  • Fixed an issue where the player would not automatically prune based on the bufferLookbackWindow in the ABRConfiguration.

Android (2.91.1)

🐛 Issues

  • Fixed an issue where setting the target quality of an audio/video track would not work when playing HLS.

🚀 2021.4.1 (2021/11/18)

General

✨ Features

  • Added fallback logic for failing rendition playlist fetches in the LL-HLS pipeline.
  • Added fallback logic for failing segment/part/map/preload hint fetches in the LL-HLS pipeline.

🐛 Issues

  • Fixed a UI issue when receiving empty ad breaks from the Verizon ad integration.
  • Fixed an issue causing indefinite buffering on Firefox when playing HLS streams.

Web (2.91.0)

✨ Features

  • Added support for the Label tag in AdaptationSets for DASH streams.

🐛 Issues

  • Fixed an issue where replaying or seeking after a DASH stream has ended could result in glitches or stuttering on Tizen 4 or lower and webOS 4 or lower.
  • Fixed an issue where ads could not be scheduled after the last ad had finished playing.
  • Fixed an issue where the notification about an upcoming ad was not removed after the ad finished playing.
  • Fixed an issue where the live UI would not show when playing a LL-HLS live stream.
  • Fixed an issue where a black screen showed up on a quality change for HESP streams on iOS Safari.
  • Fixed an issue where a stream with ISOBMFF segments that contain multiple tracks would only retain the first track.
  • Fixed an issue where Verizon Ad events were being dispatched before playback started.

Unified Android (2.91.0)

🐛 Issues

  • Fixed an issue where enabling or disabling audio and video tracks in the callback of an addtrack event would not work.
  • Fixed an issue where a multi-period DASH stream would stall during start of playback and when transitioning between periods.
  • Fixed an issue where an expired DRM license would not be renewed during play-out.
  • Fixed an issue where WebVTT subtitles containing markup tags would not be properly displayed.

iOS (2.91.0)

🐛 Issues

  • Fix an issue where the player would be in a paused state after seeking or during audio interruptions.
  • Fix an issue where the muted state would not be reflected correctly in the API.
  • Fix an issue where player would crash after trying to re-cache a previously cached source.
  • Fix an issue where a caching task that hadn't started downloading yet would be removed when going to background.

🚀 2021.4.0 (2021/10/29)

iOS (2.90.1)

🐛 Issues

  • Fixed an issue where initializing a non-chromeless player failed

🚀 2021.4.0 (2021/10/21)

General

⚡ Improvements

  • Added mediaType and subType to segment requests from the Network API when playing a DASH or HLS stream.

🐛 Issues

  • Fixed an issue where HESP playback would not start in recent Safari versions.

Web (2.90.0)

✨ Features

  • Added ChromecastConnectionCallback to dynamically update the source while connecting/disconnecting from Chromecast.
  • Fixed a DASH multi-period playback issue on Tizen 2.4 where the periods have different timescales.

⚡ Improvements

  • Added support for switching between audio or video tracks with supported (but not cross-compatible) codecs in MPEG-DASH, e.g. from AAC-LC to Opus, or from AAC-LC to Dolby Digital (if supported).
  • The player now tries to hide any native on-screen navigation UI buttons when in fullscreen on mobile devices. This can be overridden with PlayerConfiguration.ui.fullscreenOptions.
  • Improved HESP playback on Safari macOS and Safari iPadOS.

🐛 Issues

  • Fixed an issue where chapter markers would not be shown in the UI.
  • Fixed an issue where the font size of subtitles would be too large when entering fullscreen portrait mode.
  • Fixed an issue where subtitles were not displayed when enabled programmatically. The subtitles only started to show after several minutes.

👎 Deprecations

  • The Chromecast.source is deprecated in favor of Chromecast.chromecastConnectionCallback.

Android (2.90.0)

✨ Features

  • Added ChromecastConnectionCallback to dynamically update the source while connecting/disconnecting from Chromecast.

🐛 Issues

  • Fixed an issues where using Native IMA with preloading could cause stalls.
  • Fixed an issue where setting the target quality of an audio/video track would not work.

👎 Deprecations

  • The Chromecast#setSource(SourceDescription source) is deprecated in favor of Chromecast#setChromecastConnectionCallback(ChromecastConnectionCallback callback).

Unified Android (2.90.0)

🐛 Issues

  • Fixed an issue where DRM protected segments of a DASH stream could sometimes not be decrypted.

iOS (2.90.0)

✨ Features

  • Add support for native VR360.
  • Added ChromecastConnectionDelegate to dynamically update the source while connecting/disconnecting from Chromecast.

🐛 Issues

  • Fixed an issue where going native fullscreen on iOS during an adbreak would show the content instead of the ad.

👎 Deprecations

  • The Chromecast.source is deprecated in favor of Chromecast.setChromecastConnectionDelegate.

tvOS (2.90.0)

🐛 Issues

  • Fixed an issue where switching content protected assets would not work.

🚀 2021.3.2 (2021/09/28)

Web (2.89.1)

🐛 Issues

  • Fixed playback of Fairplay HLS on MacOS when using Safari 15.
  • Fixed an issue where sometimes not all text tracks are removed after a source change when using native playback.

🚀 2021.3.2 (2021/09/23)

General

✨ Features

  • Added support for both webvtt and ttml renditions in the same subtitle rendition group for the LL-HLS pipeline.
  • Added support for DEFAULT and AUTOSELECT rendition tags for LLHLS.
  • Add discontinuity support for LLHLS.
  • Added support for mediaTimeOffset property in manifest for HESP streams.

⚡ Improvements

  • Added retry logic for failing master playlist fetches in the LL-HLS pipeline.

🐛 Issues

  • Fixed an issue where the HESP ABR mechanism sometimes would switch to a lower quality immediately after switching to a higher quality.
  • Fixed an issue where player.network.estimator.bandwidth would be null for a short period after loading a HLS source.
  • Fixed an issue where DASH streams containing WebM representations with an @indexRange attribute could crash the player.

Web (2.89.1)

✨ Features

  • Added support for Vast Errors 303, 403, and 900 in case of wrapper ads.
  • Exposed adSystem and creativeId for THEO ads.

⚡ Improvements

  • Added support for triggering all error URIs of wrapper VAST ads.

🐛 Issues

  • Fixed an issue where the player would stall after replaying certain multi-period DASH streams with non-seamless period transitions.
  • Fixed an issue where the player would incorrectly try to seamlessly switch between different audio codecs when not supported by the browser.
  • Fixed an issue where captions were not available in the API or UI with a HLS stream using native playback on Safari.
  • Fixed an issue where no captions were available when changing from native playback to non native and back to native playback.

iOS (2.89.1)

💥 Breaking Changes

✨ Features

🐛 Issues

  • Fixed an issue where the phone disconnected from Chromecast when the app went to background.

tvOS (2.89.1)

💥 Breaking Changes

✨ Features

Chromecast (2.89.1)

🐛 Issues

  • Fixed an issue where the player would periodically stall on older chromecast devices.

🚀 2021.3.1 (2021/08/31)

General

✨ Features

  • Expose a unique identifier for texttrack related cues.
  • Added a CEA608 subtitle fallback to DASH streams containing the CEA708 accessibility tag.
  • Added support for multiple CEA608 channels/tracks in DASH streams.
  • Added preservation of text track selection across periods.

🐛 Issues

  • Fixed an issue where the start and end times of CEA608 cues would sometimes be wrong for multi-period DASH streams.

Web (2.88.0)

💥 Breaking Changes

  • Experimental method HespApi.goLive() no longer returns a Promise. Successful completion of the live seek is still signalled by the golive event.

✨ Features

  • Added seamless period switching support for MPEG-DASH streams containing clear periods, as well as DRM protected periods in the past.

⚡ Improvements

  • Support seamless period switching for MPEG-DASH streams containing periods with different DRM systems on desktop browsers.
  • Improved HESP ABR algorithm and network estimation.

🐛 Issues

  • Fixed an issue where calculated HESP latency could become smaller than the remaining buffer.
  • Fixed a fatal buffering error on WebOS 5.1.
  • Fixed an issue where multiple audio tracks could be enabled at the same time.
  • Fix an issue where quality menu in the UI shows the lowest quality from the array of qualities set by targetQuality
  • Fixed an issue where Tizen and webOS devices versions 4.x and below would repeat frames during start of playback.
  • Fixed an issue where on Tizen 2.4 and Tizen 3 the player would sometimes stall at the end of a period in a multi-period DASH stream.
  • Fixed an issue where the ABR mechanism would never go to a higher bitrate on HESP streams.
  • Fix an issue where cue with start time 0 was displayed before playback began.

⚠ Known Limitations

  • Filtered out ec-3 audio on Tizen and WebOS by default as most devices failed playout and the codec support check was not useable.

Android (2.88.0)

🐛 Issues

  • Fixed an issue where the player tried to initialize Chromecast even if the device does not support it.

⚠ Known Limitations

  • Native Google-IMA Ads preloading does not work as expected in some cases. Please explicitly specify AdPreloadType.NONE on the AdsConfiguration.Builder when configuring THEOplayer.

iOS (2.88.0)

🐛 Issues

  • Fixed an issue where setting a DRM protected VerizonMedia source on player.cast.chromecast.source did not play while casting.

🚀 2021.3.0 (2021/07/30)

General

💥 Breaking Changes

  • Changed type of Quality.id, MediaTrack.id and TextTrack.id from number to string. It now is the id found in the DASH manifest instead of an auto-generated id.

✨ Features

  • Enabled Thumbnail text tracks by default.
  • Thumbnail text tracks now contain cues for multiple periods.
  • Exposed EXT-X-DATERANGE metadata through the API for LL-HLS.
  • Added support for WebVTT subtitle renditions to the LL-HLS pipeline.
  • Added support for all emsg text tracks being accessible during each period.

⚡ Improvements

  • Made the parsing of MPEG TS segments more robust by ignoring unusable data instead of terminating playback.

🐛 Issues

  • Fixed an issue where setting sources with autoplay enabled on some Tizen devices could cause the player to freeze.
  • Fixed an issue where the seekable for a VOD would not include the last few segments for the LL-HLS pipeline.
  • Fix LLHLS pipeline making HTTP range request to infinity.
  • Fixed an issue where duplicate text track cues would be displayed twice.
  • Fix an issue where sideloaded SRT subtitles did not have cues.
  • Resolved an issue for DASH where the essential property to indicate tiled thumbnails was not picked up correctly.
  • Fixed an issue where the player would not end when seeking to the duration or beyond for some DASH streams.
  • Fixed an issue where enabling date ranges in the player configuration did not work.

Web (2.87.0)

⚡ Improvements

  • Disable Airplay button for HESP streams.

🐛 Issues

  • Fix an issue where the player was unable to change the styling of the texttracks.
  • Fixed autoplay detection for WebOS.
  • Fix an issue where ttml texttracks would be rendered incorrectly when using the tts:origin attribute.
  • Fixed an issue where response headers were missing in the Network API and Content Protection Integration API on Tizen 3.0.
  • Fixed an issue where HESP playback doesn't recover after a network drop on iOS Safari.
  • Fix an issue where the VAST tracking URL for completion would be triggered when skipping a THEO-advertisement.
  • Fixed an issue for HESP live playback where latency control would break after some time.
  • Fixed an issue where HESP ABR used to over-estimate available bandwidth by a very high margin on native android.
  • Fixed an issue where CEA-608 text tracks would not be rendered for HLS streams.
  • Fixed an issue where some VOD DASH streams would fail to start.
  • Fix an issue where Yospace reporting would be delayed for DASH sources.

Android (2.87.0)

✨ Features

  • Add possibility to set language on Native IMA via the UIConfiguration object

🐛 Issues

  • Seek problems with boxes and TVs due to handling decoder flush in other way + DRM starting issue
  • Fix an issue where setting a new source while casting the video will play on the sender.
  • Fixed an issue where DRM license requests were sometimes failing.
  • Fix an issue where caching could not be resumed after being paused.
  • Fixing uid brdging and Android 10 DRM playback
  • Fixed an issue where the player would sometimes stall when switching periods in a multi-period DASH stream.

iOS (2.87.0)

✨ Features

  • Add possibility to set language on Native IMA via the UIConfiguration object

⚠ Known Limitations

  • In the lifetime of an application session you can set UIConfiguration.language only once for Native IMA. Setting this property after the first player is initialized will be ignored.

tvOS (2.87.0)

✨ Features

  • Add possibility to set language on Native IMA via the UIConfiguration object

🚀 2021.2.2 (2021/07/12)

Web (2.86.1)

🐛 Issues

  • Fixed playback of Titanium DRM streams on WebOS.
  • Fixed an issue where the VAST tracking URL for completion would be triggered when skipping a THEO-advertisement.

iOS (2.86.1)

🐛 Issues

  • Fixed an issue that caused THEOplayer to fail playing a cached stream that has redirection in its source on iOS 12.
  • Fixed an issue where DRM protected streams did not play on Airplay in certain scenarios.

🚀 2021.2.2 (2021/07/05)

General

✨ Features

  • Add support for CBCS encryption in MPEG-DASH streams in supporting browsers.
  • Construct HESP content request URLs by applying relative resolution.
  • Add support for EMSG v1 boxes.

🐛 Issues

  • Fix an issue where in rare cases a sideloaded text track stops updating after a DASH period switch.
  • Improved LLHLS bandwidth estimation. Support parsing ENVC and ENCA sample entry MP4 boxes.
  • Fixed incorrect LLHLS timeline when switching between renditions.
  • Fixed an issue where CBCS encrypted streams would fail to play on Firefox.
  • Improved the LLHLS download pipeline to download segments from the live edge if all the parts for that segment are already available.
  • Fixed some issues when parsing LLHLS playlist.
  • Improved LLHLS ABR behaviour.
  • Fix seeking to time 0 in an HLS live stream before the playlist is loaded.
  • Fixed an issue where seeking to live would not get into the buffer causing an indefinite stall.
  • Fixed an issue where WebVTT subtitle renditions were not loaded correctly when the HLS stream contains discontinuities.

Web (2.86.0)

🐛 Issues

  • Fix an issue where HESP latency was too high for certain iOS and Android devices.
  • Fix an issue where the big play button is still visible when autoplaying an HESP stream on iOS Safari.
  • Fix an issue where a play event is dispatched after a playing event for HESP streams on iOS Safari.
  • Fix an issue where sometimes the player is pulsing on iOS Safari when playing HESP streams.
  • Fix an edge case where the player could fail to start playing after preloading an HLS stream while the tab was in the background.
  • Fixed an issue where for some HLS streams audio would become out of sync with video.
  • Fix unintentional warnings logged in the browser console when loading an HLS stream.

⚠ Known Limitations

  • No HESP playback supported on iOS Chrome/Firefox for iOS versions lower than 14.

Android (2.86.0)

🐛 Issues

  • Fix an issue where the current time would not be shown on the progress bar.
  • Fixed an issue where a loadstart event was not dispatched for HESP streams.
  • Fix an issue where the play/pause icon is not in sync with the playback state when in Picture in Picture.
  • Fix an issue where Picture in Picture window could not be resized on Android 11.
  • Fix an issue where destroying THEOplayerView while in fullscreen throw an Exception.

iOS (2.86.0)

💥 Breaking Changes

  • Removed support for iOS 9 & 10. The minimum supported iOS version is now 11.0.

✨ Features

  • Optimize FairPlay system to improve offline playback.

🐛 Issues

  • Fix an issue where the player was not able to select an initial audio track when no DEFAULT=YES or AUTOSELECT=YES option was specified.
  • Fix an issue where the current time would not be shown on the progress bar.
  • Fix issue where texttracks were not rendered correctly for picture in picture.
  • Fix an issue where pip button was not disabled for native pip while Google IMA and THEO ads were playing.
  • Fix a bug that prevents the advertisement from auto-starting when using NativeIma = false

⚠ Known Limitations

  • In iOS 12 an offline asset only plays once: after closing the asset, you cannot play it again. To achieve that it needs to be re-cached.

tvOS (2.86.0)

💥 Breaking Changes

  • Removed support for tvOS 10. The minimum supported tvOS version is now 11.0.

✨ Features

  • Optimize FairPlay system to improve offline playback.

🚀 2021.2.1 (2021/06/18)

iOS (2.85.3)

🐛 Issues

  • Fix an issue where THEOplayer would crash if native Picture in Picture is enabled.

🚀 2021.2.1 (2021/06/10)

General

🐛 Issues

  • Improved LLHLS bandwidth estimation. Support parsing ENVC and ENCA sample entry MP4 boxes.
  • Fix an issue where the player could stall and enter an infinite buffering loop due to rounding errors.

🚀 2021.2.1 (2021/06/07)

General

💥 Breaking Changes

  • The estimator property of the NetworkEstimator API is no longer writable, it is superseded by setEstimator.

✨ Features

  • Implement LLHLS global timeline.

⚡ Improvements

  • When playing a multi-period DASH stream containing EventStream metadata, the player will now create a single text track (rather than a text track per period) to contain the event metadata cues.
  • Improved ABR behaviour for the HESP pipeline.
  • Prune more aggressively on DASH streams with long segments.
  • Added timeout to segment requests to deal with segment network requests that never complete.

🐛 Issues

  • Fixed an issue where some TTML tracks did not render.
  • Fix a rare crash when the player performs a seamless period switch at the same time that the currently playing period is removed from the MPD.

Web (2.85.1)

💥 Breaking Changes

  • Remove Blob and Document request/response types from Network API.
  • Remove HespAbrConfiguration and former HESP ABR mechanism.

✨ Features

  • Add initial version of the new HESP ABR mechanism.
  • Implement currentProgramDateTime for HESP streams.
  • Add support UniversalAdId in the THEO ad system.
  • Added support for Widevine DRM for HESP streams.
  • Add currentServerLiveTime and currentLatency to the HESP API.

⚡ Improvements

  • Support seamless period switching for MPEG-DASH streams containing both clear periods and DRM protected periods.
  • Support seamless period switching for MPEG-DASH streams on Tizen version 2.4 and above, and webOS version 3 and above.

🐛 Issues

  • Filter on supported codecs before initial variant stream selection.
  • Fix an issue where the player would stall indefinitely instead of ending playback at the end of some DASH streams containing sidx sub-segments.
  • Fixed an issue where playing HESP content on iOS Safari was not possible if the player was starting muted.
  • Fix an issue where the currentAds and currentAdbreak API would be empty for non-linear ads.
  • Fix an issue where MPEG-DASH live streams with very large media timestamps failed to play on Tizen 2.4.
  • Fix an issue where measurers from an externally configured estimator on the (experimental) Network Estimator API could not measure certain requests.
  • Fixed an issue where playing an HESP stream on iOS Safari fails with a 'disable casting' error on screen.
  • Fix an issue where ended event comes before the adbreakend event on a post roll ad in THEO ad system
  • Fix an issue where the post-roll ad was not preloaded on the THEO ad system

Android (2.85.1)

✨ Features

  • Add support for Picture in Picture mode.

🐛 Issues

  • Fix issue where player would resize after orientation changes when using Google IMA.
  • Fix an issue where the player was unable to persist the license for offline playback.

iOS (2.85.1)

💥 Breaking Changes

  • Starting from this version the iOS/tvOS SDKs are built with Xcode 12 (Swift 5.3 compatibility).

✨ Features

  • Add support for native Picture in Picture.
  • Upgrades Google Cast SDK to 4.6.0 which contains iOS 14 specific changes from Google.

🐛 Issues

  • Fixed an issue where the chromless player could not start casting on Airplay.

🚀 2021.2.0 (2021/05/14)

General

🐛 Issues

  • Fixed a regression where some MPEG-DASH livestreams failed to play when the last segment's S@d attribute changes between two MPD updates.

🚀 2021.2.0 (2021/05/07)

General

✨ Features

  • Add support for hexadecimal and octal format suffixes in DASH SegmentTemplate URLs.

⚡ Improvements

  • Improved the ABR logic to also consider qualities with higher dimensions than the player's dimesions, if there is no exact match.
  • Optimized handling of DASH MPDs with long SegmentTimelines.
  • Improved the performance of the player on DASH streams.

🐛 Issues

  • Fixed an issue where the player would sometimes stall indefinitely when calling play immediately after setting a DASH source.
  • Fixed an issue where the player would sometimes error on some HLS streams with Fairplay protected audio and video.
  • Fixed a rare edge case where the player would throw an "Invalid duration" error when changing between DASH sources.
  • Fixed an issue where the player would sometimes stall indefinitely on some DASH streams when changing the source.
  • Fixed an issue where an HLS stream on chrome on a slower network would only play audio while video freezes.
  • Fixed an issue where the player tried to parse a WebM segment as an MP4.
  • Fixed an issue where the order of the Verizon Media preplay parameters is not maintained.

Web (2.84.0)

✨ Features

  • Change experimental ChromelessPlayer.hesp API to be available before setting a HESP source.
  • Add API and UI support for track and quality selection for HESP streams.
  • Expose universalAdIds for Google IMA.
  • Make the HESP latency property configurable before setting a source and preserved across source changes.
  • Change HESP source type to 'application/vnd.theo.hesp+json'.
  • Add support for latest HESP manifest version v1.0.0 and drop support for v0 HESP streams.
  • Add support for streaming advertisements and ads preloading in the THEO ad system.

🐛 Issues

  • Fixed an issue where the player would stall indefinitely on some HLS streams with nonaligned discontinuities on Firefox.
  • Fixed an issue where a faulty postroll would restart the content for THEO ads.
  • Resolve sequence of incorrect currentProgramDateTime values observed while seeking on iPhone
  • Fixed an issue where the player would error on HLS streams with CMAF segments that don't contain a MOOF box.
  • Fixed an issue where the player would retry to fetch a segment with a constant delay instead of using exponential backoff.
  • Fixed an issue where fullscreen mode was not working for HESP playback on iOS Safari.
  • Fixed an issue where the service worker used for HESP playback on iOS Safari could require additional page refreshes to become functional.

⚠ Known Limitations

  • Streaming advertisements downloads the highest quality instead of using the ABR-logic on Tizen.
  • Seeking during an ad results in content becoming visible on Tizen.

Android (2.84.0)

✨ Features

  • Expose universalAdIds for Google IMA.

🐛 Issues

  • Fixed an issue where Chromecast.isCasting() and Chromecast.getState() did not reflect the same state.
  • Fixed an issue where using native IMA pausing an advertising is not possible.
  • Fixed an issue where for some HLS streams the ABR mechanism did not switch to a higher profile on Android.

Android TV (2.84.0)

🐛 Issues

  • Fixed an issue where on FireTV the player would sometimes fail to configure the video codec when switching to a new period.

iOS (2.84.0)

✨ Features

  • Expose universalAdIds for Google IMA.
  • Added Support for GoogleInteractiveMediaAds framework to 3.14.1.

🐛 Issues

  • Fixed an issue where WebVTT subtitles are not rendering with together with thumbnails.
  • Fixed an issue where AudioSession interruption did not trigger a PauseEvent
  • Fixed an issue where WebVTT subtitles would duplicate.

⚠ Known Limitations

  • Text track captions are temporarily unavailable.

tvOS (2.84.0)

✨ Features

  • Added Support for GoogleInteractiveMediaAds framework to 4.4.1

🐛 Issues

  • Fixed an issue where bitmap ID3 subtitles would unintentionally scale up.

⚠ Known Limitations

  • The tvOS SDK API presents some issues, which will be fixed on 2.84.1.
  • Text track captions are temporarily unavailable.

🚀 2021.1.3 (2021/04/19)

General

🐛 Issues

  • Resolved a problem where disabling/enabling text tracks could make them go unrendered.

🚀 2021.1.3 (2021/04/13)

General

🐛 Issues

  • Fix an issue where sometimes the player would get stuck when setting a new source
  • Fix an issue where the duration of the player is set to Infinity when the source of a VOD DASH stream is set.
  • Fixed an issue where the player would sometimes throw on DRM protected LL-HLS streams.
  • Fixed an issue where the player src property would be equal to the Chromecast source while not casting.
  • Fix an issue where playing Google DAI stream the source parameter was not passed completely
  • Fix an issue where the player fails to jump over an unplayable segment at the start of a DASH VOD stream.

Web (2.83.0)

✨ Features

  • Added TypeScript type definitions.
  • Add initial support for playback of HESP streams. For more information visit https://www.theoplayer.com/high-efficiency-streaming-protocol.
  • Add experimental ChromelessPlayer.hesp API for functionality specific to the playback of HESP streams.
  • Add HespTypedSource for configuration of HESP streams.

⚡ Improvements

  • The SIDX boxes are now also cached when caching an MPEG-DASH stream using the caching API.

🐛 Issues

  • Fix an issue where the player would discard the streamType property when passing a source configured with Yospace SSAI.
  • Fix an issue where the player will be unmuted after a reload or source change when the google ima integration is used.
  • Fixes a bug that prevented AirPlay sessions from being re-established.
  • Fixed seekable end for LLHLS live streams without parts.
  • Fixed seeking the LLHLS player when there is no seekable yet.
  • Fix a bug that caused THEOPlayer to show the same sideloaded texttrack twice in the texttracks menu.
  • Fixed DRM for Tizen 2.x
  • Fixed an issue where the contentprotectionsuccess event would not always fire for PlayReady streams on Edge.
  • Fixed an issue where the initial bandwidth of an ABR strategy was not retained until a properly measured bandwidth was available.
  • Fix an issue where sometimes the player state is not ended when it reaches the end of the stream on Tizen 5.
  • Prevent handling of empty webkitkeymessage events
  • Fixed an issue where requesting firstFrame and frameRate could return NaN for HLS streams.

Android (2.83.0)

🐛 Issues

  • Fix an issue where disconnecting from Chromecast using native Google Cast button didn't stop the receiver.
  • Fix an issue where MediaRouteDialog does not show if THEOplayerView is not initialized on Activity's onCreate method.

iOS (2.83.0)

🐛 Issues

  • Fix an issue where a faulty error message would be printed when passing a license through the configuration.
  • Fix an issue where playing a cached source multiple times in a row would not work.
  • Fix an issue where resetting the source with text tracks would sometimes crash the player.

🚀 2021.1.2 (2021/03/16)

General

✨ Features

  • Added support for AES-128 encrypted segments for LLHLS streams.

⚡ Improvements

  • Improve period switching between periods with different key systems.

🐛 Issues

  • Fix an issue where the player would report paused as false when ended.
  • Fix a crash when playing a VOD DASH stream that does not contain the expected number of SegmentURL elements.
  • Resolved issue where large chunks cause problems with LL-HLS byteranges in preload hints
  • Fix an issue where some ad-related events were still dispatched after the player is destroyed.
  • Added support for nested regions in ttml cues.
  • Fix an issue that caused THEOplayer to stall after doing a short seek between two periods if the buffer started getting segments of the next period.
  • Fixed an issue where Preplay parameters in the configuration would be overwritten by generated values.
  • Fix seeking in a HLS VOD or event stream with discontinuities sometimes not being frame-accurate.
  • Reduced the memory usage for long running viewing sessions where some memory would be kept until the stream ends.
  • Fixed an issue where seeking near period edges in a DASH stream would sometimes result in an error.

Web (2.82.0)

✨ Features

  • Add media data gap detection and jumping in the LL HLS pipeline.
  • Improve the ABR behaviour of the LL HLS pipeline.
  • Support the EXT-X-STREAM-INF SCORE attribute in LL HLS pipeline.

🐛 Issues

  • Fix a Google IMA issue that caused THEOplayer to only play the last ad if multiple midrolls are scheduled with a timeOffset.
  • Disable the Airplay button during an ad.
  • Fixed an issue where some FairPlay protected streams failed to start on Safari.
  • Fix an issue where thumbnail previews were shown incorrectly on mobile

Android (2.82.0)

🐛 Issues

  • Fix an issue where an empty ad XML would result in an endless spinner for Google IMA.
  • Fix an issue where connecting to Chromecast using native Google Cast button after player creation was not handled.

iOS (2.82.0)

✨ Features

🐛 Issues

  • Fix an issue where setting a metadata title including apostrophe would fail.
  • Fix an issue where changing audio tracks freezes THEOplayer.

tvOS (2.82.0)

✨ Features

🐛 Issues

  • Fixes a bug that caused THEOplayerSDK on tvOS to have wrong entries for UIDeviceFamily.

🚀 2021.1.1 (2021/02/24)

General

🐛 Issues

  • Reduced the memory usage for long running viewing sessions where some memory would be kept until the stream ends.

🚀 2021.1.1 (2021/02/12)

General

✨ Features

  • Implement basic ABR for new LL HLS pipeline.

⚡ Improvements

  • Added support for EventStream@presentationTimeOffset in MPEG-DASH streams.
  • Improved the interval for fetching manifest updates for DASH streams to be closer to the minimumUpdatePeriod.

🐛 Issues

  • Fix an issue where the player would sometimes seek to the start of the DVR window when play was called.
  • Fix an infinite stall when seeking to the end of a DASH VOD stream on Safari.
  • Fix an issue where creativeAdId was exposed through imaAd.creativeId (instead of creativeId)
  • Fix an issue where our Google IMA-integration would incorrectly dispatch a playing event when ad is immediately paused
  • Fix an issue where the player would hang when loading certain DASH livestreams that only contain segments that are already available.
  • Fix an issue where after a seek beyond the end of the seekable range will result in seeking too close to livepoint and starting to stall.

Web (2.81.0)

✨ Features

  • Upgrade Youbora adapter version to 6.7.7.

🐛 Issues

  • Fix audio only LL-HLS playback.
  • Fix an issue where subsequently skipping forward or backward in a DASH stream sometimes incorrectly marks a gap in the buffer.
  • Fix an issue where the player would freeze when clicking replay after playing a clipped HLS stream on iOS Safari.
  • Fix an issue where repeatedly starting an HLS stream on Safari sometimes results in playback with frame skips.
  • Improved gap jumping for less powerful devices such as smart tv's.
  • Fix an issue where the player would get stuck near the end of a DASH stream that uses indexed addressing.
  • Fixed playing across periods for WebOS 3.x and lower.
  • Fix LL HLS pipeline reset logic not working after the player has already played.
  • Fix an issue where the player would sometimes stall near a DASH period boundary on Samsung Tizen smart TVs.
  • Fixed Moat integration for multiple adblocks use-case

Android (2.81.0)

✨ Features

  • Upgrade Youbora plugin version to 6.7.7.

Android TV (2.81.0)

🐛 Issues

  • Fixed seeking across periods for Android TV.
  • Fix an issue where Google IMA ads were not playing on Android TV.
  • Fix an issue where custom DRM integrations would not work on Android TV.

iOS (2.81.0)

⚡ Improvements

  • Update Youbora integration to version 6.7.7.

🐛 Issues

  • Fix the API of CertificateRequestCallback and LicenseRequestCallback.
  • Fix an issue where fullscreen would not render in the bounds of the application in splitview
  • Fixed an issue where the content protection error code was missing.
  • Fix an issue where extra WAITING event was thrown.

tvOS (2.81.0)

🐛 Issues

  • Fix the API of CertificateRequestCallback and LicenseRequestCallback.
  • Fixed an issue where the content protection error code was missing.

🚀 2021.1.0 (2021/01/13)

General

🐛 Issues

  • Fix an issue where the tts:origin attribute was not correctly processed when positioning subtitles.

Web (2.80.0)

🐛 Issues

  • Fix an issue where MOAT events are only send for the first ad in an adbreak
  • Fix seeking to live for DASH streams

iOS (2.80.0)

🐛 Issues

  • Fixed an issue where paused caching tasks could not resume.
  • Fixed an issue where the PiP window's position is incorrect when rotating the device.

🚀 2020.4.2 (2021/01/06)

Web (2.79.1)

🐛 Issues

  • Fix an issue where a DASH stream on chrome on a slower network would only play audio while video freezes.

🚀 2020.4.2 (2020/12/18)

General

🐛 Issues

  • Fix an issue where parsing certain malformed WebVTT files could crash the player.
  • Fix an issue where sometimes a fetched license is not stored in the cache.

Web (2.79.0)

⚡ Improvements

  • Use seamless period transitions in DASH where possible. This requires the browser to support codec switching through SourceBuffer.changeType(), or the stream to use similar codecs across periods.

🐛 Issues

  • Fix several issues related to play/pause during IMA linear ad playback.
  • Fix an issue where the player would play data from a previous track after a switch to another track had occurred on WebOs.
  • Fix an issue where MOAT events are only send for the first ad in an adbreak
  • Fix an issue where the player would sometimes crash when seeking right after the start of a DASH stream.

Android (2.79.0)

✨ Features

  • Add basic support for multi-period DASH streams in the experimental rendering pipeline. (Note that the default pipeline already has multi-period support.)

🐛 Issues

  • Fix an issue where using ChromecastMetadataImage made casting impossible.
  • Fix an issue where the muted value would not be correctly updated on Android

iOS (2.79.0)

✨ Features

  • Added ContentProtectionError error type.

🐛 Issues

  • Fixed an issue where content protection errors were not sent.

tvOS (2.79.0)

✨ Features

  • Added ContentProtectionError error type.

🐛 Issues

  • Fixed an issue where content protection errors were not sent.

🚀 2020.4.1 (2020/12/09)

Web (2.78.1)

🐛 Issues

  • Fix an issue where non-WebVTT sideloaded subtitles were not rendered correctly on iOS in Safari

🚀 2020.4.1 (2020/11/24)

General

✨ Features

  • Addition of a new bufferLookbackWindow configuration property to control how much data should be maintained in the decode buffer.
  • Synchronize MPEG-DASH MPD updates with availability window changes in order to avoid stale MPDs.
  • Add support for configuring the license via the playerconfiguration

⚡ Improvements

  • Added support for retrieving PlayReady PSSH from <mspr:pro> element.

🐛 Issues

  • Fixed an issue where some HLS streams would not end properly.
  • Resolve issue where in stream subtitles are all loaded at once
  • Fix an issue where a replay would sometimes fail on short HLS streams.
  • Fixed a bug where streams did not send exit events for Id3 cues, when useNativePlayback or contentProtected was set to true in the player source setup

Web (2.78.0)

✨ Features

  • Add Network Estimator API for experimental LL-HLS pipeline.

🐛 Issues

  • Fix an issue where Widevine protected streams would not play on Hisense VIDAA U3 platforms.
  • Improve the ABR algorithm to switch to a higher quality faster on startup of HLS streams.
  • Fix an issue where the player would error on HLS streams with empty segments.
  • Fix an issue where configuring the JoinStrategy to disabled would crash the chromecast UI.

Android (2.78.0)

🐛 Issues

  • Fix an issue where setting a null source would crash the application.
  • Fix an issue where the app would sometimes crash on calling requestCurrentAdBreak.
  • Add cause for ErrorEvents when applicable.

iOS (2.78.0)

✨ Features

  • Add support for external license either by license or licenseUrl in the PlayerConfiguration or in the info.plist.

🐛 Issues

  • Fixed an issue where requesting the currentAdBreak would crash

tvOS (2.78.0)

✨ Features

  • Add support for external license either by license or licenseUrl in the PlayerConfiguration or in the info.plist.
  • Add Support for verizonMedia on tvOS.

🚀 2020.4.0 (2020/11/17)

Android (2.77.1)

🐛 Issues

  • Fix an issue where Chromecast did not auto-connect when CastStrategy is AUTO.

iOS (2.77.1)

🐛 Issues

  • Fixed a bug where switching audio tracks would fail after updating the label.
  • Fixes a bug that prevented a nativeIMA ad from playing when reinstantiating a THEOplayer instance.

tvOS (2.77.1)

🐛 Issues

  • Fixed a bug where switching audio tracks would fail after updating the label.

🚀 2020.4.0 (2020/10/26)

General

✨ Features

  • Support parallel download while caching.

🐛 Issues

  • Add jumping over segments which return a 4XX HTTP response code for DASH streams.
  • Fix an issue where the player autoplays IMA ads when preload is set
  • Fix an issue where for some HLS streams audio drifts away from video, resulting in visible lip sync issues.
  • Fix an issue where the player would sometimes stall indefinitely when seeking into a discontinuity on HLS streams.
  • Fix an issue where seeking to segment edges sometimes stalls the video for HLS streams.
  • Fix an issue where the timing of WebVTT subtitles on live DASH streams was incorrect.
  • Fixed an issue where the player could sometimes stall indefinitely in Chrome at the end of a DASH VOD stream.
  • Ignore DRM initialisation data other than 'cenc'
  • Fixed having only one audio frame in a segment can sometimes break duration calculation.

Web (2.77.0)

🐛 Issues

  • Fixed an issue where the fairplaySkdUrl was always undefined in LicenseRequest for FairPlay protected streams.
  • Fix an issue where for some HLS streams the ABR mechanism did not switch to a higher profile.
  • Fix an issue where for some HLS streams the ABR mechanism does not switch to higher profiles in case the variant streams in the master playlist do not have a value for the CODECS attribute.
  • Fix an issue where THEOplayer.players[0].source returns undefined for every stream in chromeless player.

Android (2.77.0)

✨ Features

  • Add THEOplayerException to ErrorEvent
  • Introduce ContentProtectionException and update ContentProtectionErrorEvent.
  • Added ContentProtectionIntegration API.

🐛 Issues

  • Fix an issue where VerizonMediaResponseDrm returned null for license URLs

👎 Deprecations

  • The constructor of THEOplayerConfig is deprecated in favor of THEOplayerConfig.Builder.

iOS (2.77.0)

✨ Features

  • Add ContentProtectionIntegration API.

⚡ Improvements

  • Align TheoError with other SDKs

🐛 Issues

  • Fixes an issue where a caching task is not properly removed when its file is deleted.
  • Fixes a bug that caused player.source to return nil immediately after setting the source.

👎 Deprecations

  • Some of the constructors of the THEOplayerConfiguration has been deprecated.

tvOS (2.77.0)

✨ Features

  • Add ContentProtectionIntegration API.

⚡ Improvements

  • Align TheoError with other SDKs

🐛 Issues

  • Fixes a bug that caused player.source to return nil immediately after setting the source.

Chromecast (2.77.0)

🐛 Issues

  • Fix an issue where sometimes playback pauses after setting a new source.
  • Fix issue where receiver would stop playing upon destroying the player.

🚀 2020.3.3 (2020/10/01)

General

🐛 Issues

  • Fix an issue where for some HLS streams audio drifts away from video, resulting in visible lip sync issues.

Web (2.76.1)

🐛 Issues

  • Fix an issue where for some HLS streams the ABR mechanism did not switch to a higher profile.
  • Fix an issue where for some HLS streams the ABR mechanism does not switch to higher profiles in case the variant streams in the master playlist do not have a value for the CODECS attribute.
  • Fix an issue where switching from a single quality to automatic quality selection did not work for HLS streams.

🚀 2020.3.3 (2020/09/28)

General

⚡ Improvements

  • Improve gap marking and jumping for DASH streams

🐛 Issues

  • Fix an issue where an aderror event was not dispatched correctly if an ad failed to load and blockContentIfAdError = false.
  • Resolved issue where currentProgramDateTime was being offset by suggestedPresentationDelay.
  • Fixed an issue where the player would not use a custom ContentProtectionIntegrationFactory if registered with the same integrationId as an existing content protection pre-integration.

Web (2.76.0)

✨ Features

  • Added the ability to configure customData when using PlayReady DRM.
  • Add reporting of total bytes loaded, current bandwidth estimate and number of currently buffered segments for DASH streams to the player metrics API .
  • Update Conax Classic configuration properties to be optional.
  • Added bitrate property to GoogleImaAd.
  • Add error codes to all fatal player errors through ErrorEvent.errorObject.code.

🐛 Issues

  • Fix an issue where license request and response handlers were called instead of certificate request and response handlers for Widevine Certificate requests for DASH streams.

⚠ Known Limitations

  • PlayReady streams are currently not supported on WebOS.
  • 4k/8k stream playback is currently unavailable for Tizen.
  • Multi-period streams are not supported on WebOS and Tizen

Android (2.76.0)

✨ Features

  • Add reporting of total bytes loaded, current bandwidth estimate and number of currently buffered segments for DASH streams to the player metrics API.
  • Added bitrate property to GoogleImaAd.

🐛 Issues

  • Fix an issue where the ENDED event would not be triggered when seeking using the Native Pipeline.
  • Fix an issue where the percentage cached was not reported correctly.
  • Fix an issue where segments were not cleaned on player destroy
  • Fix an issue where deallocating native rendering player were not handled correctly.

iOS (2.76.0)

💥 Breaking Changes

  • Renamed and changed type of THEOErrorCode enum cases.
  • Removed unused THEOError.parameters property.

✨ Features

  • Added bitrate property to GoogleImaAd.

🐛 Issues

  • Fixed a bug that cause MainThread to freeze for while when dispatching a durationChange event.
  • Fix an issue where dragging out PictureInPicture window would fail to enter fullscreen mode.

tvOS (2.76.0)

💥 Breaking Changes

  • Renamed and changed type of THEOErrorCode enum cases.
  • Removed unused THEOError.parameters property.

🐛 Issues

  • Fixes a bug where Siri remote loses focus when playing ads.

🚀 2020.3.2 (2020/09/18)

General

⚡ Improvements

  • Do not clear the buffer on a manual quality switch.

🚀 2020.3.2 (2020/09/03)

Web (2.75.1)

🐛 Issues

  • Fix an issue where adbreakend event was not dispatched when the last linear ad was an empty vast ad.
  • Fix THEOplayer.registerContentProtectionIntegration() not working.

🚀 2020.3.2 (2020/08/31)

General

🐛 Issues

  • Fix an issue where some HLS streams with CMAF segments containing implicit HE-AAC audio failed to play.
  • Fix an issue where switching from a single quality to automatic quality selection would cause an unnecessary rebuffer for DASH streams.

Web (2.75.0)

✨ Features

  • Add ContentProtectionIntegration API.

🐛 Issues

  • Fix an issue where sometimes the current time was not displayed correctly at the end of a stream.
  • Fix an issue where the player would report being paused, while it was playing a HLS FairPlay stream using AirPlay.
  • Fix an issue where the player would snap to the beginning of the current segment instead of the current playback position when stopping an AirPlay session for HLS FairPlay streams.
  • Fix an issue where the active quality is not yet set when a playing event is triggered.

Android (2.75.0)

✨ Features

  • Switch to a different representation when a DRM key restriction occurs for native rendering.
  • Add certificate to KeySystemConfiguration

🐛 Issues

  • Fix an issue regarding the order of events when using Native Rendering.
  • Expose CachingTask id property

iOS (2.75.0)

✨ Features

  • Fix a bug that caused THEOplayer to show a black screen after playing a SpotX ad.

🐛 Issues

  • Fix an issue where Picture-in-Picture window is misplaced after rotating the screen.
  • Expose CachingTask id property

tvOS (2.75.0)

✨ Features

  • Add Support for Native IMA.
  • Add support for SpotX ads.

🚀 2020.3.1 (2020/08/04)

General

✨ Features

  • Add currentProgramDateTime to TimeUpdateEvent.
  • Add support for DASH streams with a SegmentTemplate tag with an endnumber and a fixed segment duration.

⚡ Improvements

  • Use estimated segment availability for DASH streams where the actual segment availability is unrealistic.
  • Add retry functionality for initialization segments of DASH streams.

🐛 Issues

  • Fix an issue where seeking backwards in a HLS DVR stream would sometimes jump forwards again.
  • Fix an issue where suggestedPresentationDelay was not taken into account for the calculation of currentProgramDateTime for DASH streams.
  • Fix an issue where the ratio passed to the VisibilityObserverCallback did not match the ratio on the visibility API.
  • Fix an issue where some TTML subtitles with tts:extent on the Root Container Region were not rendered properly.
  • Fixed an issue where the player would get stuck buffering for HLS streams with key frames more than 30 seconds apart.
  • Fix an issue where the value of the totalAds property of the Google IMA API would sometimes be too low.

Web (2.74.0)

🐛 Issues

  • Fix an issue where the learn more button is appearing at the bottom of the player when playing a google dai ad.

Android (2.74.0)

✨ Features

  • Add ContentProtectionIntegration API.
  • Add Axinom content protection pre-integration for android with nativeRendering enabled.
  • Extend TimeUpdateEvent to include programDateTime.
  • Embed Exoplayer into THEOplayer SDK

⚡ Improvements

  • Ignore in-stream PSSHs if all the key IDs are contained in the active DRM session.

🐛 Issues

  • Fix an issue where PLAYING event was not dispatched after a SEEKED event
  • Fix an issue where incorrect buffer size triggered a WAITING event.
  • Fix an issue where offline caching would not work for DASH content.

iOS (2.74.0)

✨ Features

  • Add the possibility to prevent THEOplayer from managing the AVAudioSession.
  • Extend timeUpdate event to include programDateTime.
  • Add margin parameter to PictureInPicture configure API.

🐛 Issues

  • Fix issue where setting targetBuffer did not work.
  • Fix an issue where seeking immediately after setting source would not work.

tvOS (2.74.0)

✨ Features

  • Add the possibility to prevent THEOplayer from managing the AVAudioSession.

🐛 Issues

  • THEOplayer no longer handles PLAY/PAUSE events from the SiriRemote when chromeless is true
  • Fix an issue where seeking immediately after setting source would not work.

🚀 2020.3.0 (2020/07/07)

General

⚡ Improvements

  • Remove THEOplayer support in error messages in favor of "your service provider".

🐛 Issues

  • Fix an issue where the player would sometimes throw an error event, even though it had already automatically recovered from it.
  • Fix an issue on HLS where an error would occur on a discontinuity when the stream has either no video or no audio.
  • Fix an issue where the player would fetch the wrong segment url for some DASH streams with SegmentTemplate tags.

Web (2.73.0)

🐛 Issues

  • Fix an issue where an ad that is adblocked does not result in the content being blocked although the blockContentIfAdError is set.
  • Fix an issue where the skip button for verizon media ads had no lateral padding.
  • Fix an issue where some Google DAI DASH streams wouldn't resume after a midroll ad.

Android (2.73.0)

✨ Features

  • Add Support for Native IMA

🐛 Issues

  • Fix an issue where THEOplayer crashed between Activity lifecycle transitions
  • Fixed an issue where using native rendering the quality change caused the player to lag
  • Fix an issue where the player sometimes stutters on ABR quality switches when playing H265 streams using native rendering.
  • Fix an issue where fullscreen would go into landscape even when FullScreenOrientationCouple is set to false

iOS (2.73.0)

✨ Features

  • Add Support for Native IMA

🐛 Issues

  • Fix an issue on iOS where returning from fullscreen mode would break the UI

🚀 2020.2.1 (2020/06/10)

General

🐛 Issues

  • Resolved issue where text track cues could remain active after a silent fast seek by the media pipeline
  • Fix an issue where playback would sometimes fail to start for DASH streams with subsegments whose timestamps are not aligned with their parent segment.
  • Fixed issue where MPEG-DASH streams with dynamic manifests where the last period's duration increases every update does not correctly update its duration.
  • Fix an issue where sometimes the player would seek to the wrong time for DASH streams.

Web (2.72.0)

✨ Features

  • Add playerSuiteVersion API.

⚡ Improvements

  • Fix an issue where the player reported buffer length in seconds instead of milliseconds for Conviva analytics.

🐛 Issues

  • Fix an edge case for some HLS streams where the player would sometimes download segments multiple times for specific target buffer values.

Android (2.72.0)

✨ Features

  • Add a THEOplayerView.getPlayerSuiteVersion() api.
  • Add timeServer flag for SourceDescription and TypedSource
  • Add lowLatency flag to SourceDescription

⚡ Improvements

  • Add support for playback of HEVC representations of a DASH stream when nativeRendering is enabled.

🐛 Issues

  • Fix an issue where Google DAI DASH streams would not play
  • Fix an issue where using Native Rendering the ended event was missing

iOS (2.72.0)

✨ Features

  • Add a THEOplayer.playerSuiteVersion api.
  • Add support for Comcast MPX Fairplay DRM
  • THEOplayer does not require anymore to be attached to a ViewController to switch to Picture-in-Picture mode

🐛 Issues

  • Fix bug where accessing audioTracks/videoTracks on track change event would return false states

Chromecast (2.72.0)

✨ Features

  • Add playerSuiteVersion API.

Chromecast CAF (2.72.0)

✨ Features

  • Add version and playerSuiteVersion API.
github
Make sure to follow us on GitHub!
THEO-logo-white
twitter
facebook
linkedin
Copyright © 2022. All Rights Reserved.
Leuven
New York
Singapore
Barcelona