Player Web Releases
Latest Releases
Stable
8.85.0
5/10/2022
Stable
5/10/2022
8.85.0
Fixed
- Player sometimes getting stuck on content restorations after client side ad playback
- Missing ads on Safari with DRM-protected content
- Playback sometimes getting stuck at transitions between encrypted content and unencrypted SSAI ads in HLS streams
- Player stalling indefinitely when transitioning from video-only period to audio-video
- Documentation for SubtitleCuePosition specifying wrong
row
andcolumn
range - Samsung Tizen 2018+ TVs not choosing AC-3 audio with DRM-protected streams, although supported
- Seeked event sometimes not being triggered in multi period scenarios
Stable
4/26/2022
8.84.0
Added
- Added a parse_cea_708_caption tweak in
TweaksConfig
to support both CEA-708 and CEA-608 with the experimental_transmuxing tweak
Fixed
Ready
event triggered before promise ofplayer.load()
resolves for progressive sources- Logging of unhandled errors in event callbacks
- Unhandled exceptions sometimes being visible in logs when playing HLS content with metadata
Stable
4/12/2022
8.83.0
Added
- Warning event with code
PLAYBACK_INVALID_DATA_SEGMENT_ENCOUNTERED
when encountering an invalid data segment
Fixed
- Incorrect segments being loaded for DASH
SegmentTimeline
streams when the timeline grows into the past - Outdated Open Measurement SDK documentation in the player API reference
- Playback occasionally stalling on period switches
- Playback on Tizen 2016/2017 not starting under certain circumstances if the init-segment of
fMP4
-streams containelst
-boxes - UI: Incorrect line alignment for subtitle cues from WebVTT tracks.
- UI: Incorrect edges of reference for vertical writing cues in block positioning from WebVTT tracks.
- UI: An empty line is added in vertical subtitle cues.
Stable
3/29/2022
8.82.0
Added
- Graceful handling of invalid TS segments when transmuxing is required
Fixed
- Unexpected
Paused
event sometimes being emitted right beforePlaybackFinished
on Safari - Player sometimes resuming playback while paused on multi-period live streams
- Player sometimes unloading during content restoring on Safari 15
- Playback time adjustment to fill buffer holes on webOS discontinuity transitions leading to decoding errors
- Playback of progressive streams sometimes not starting on Safari 15
MetadataParsed
andMetadata
events not being triggered for HLS live streams withEXT-X-PROGRAM-DATE-TIME
tags on Safari
Stable
3/15/2022
8.81.0
Added
- Support for EMSG metadata with version 1
- UI: Seek preview is now configurable via
UIConfig.enableSeekPreview
orSeekBarConfig.enableSeekPreview
Changed
AdvertisingOmSdk
module bundle now includes required OMSDK library
Fixed
- Playback sometimes not starting on Safari 14+ when native player is used
- Not respecting order in which standalone ads with the same position get scheduled in Bitmovin Advertising Module
- Player potentially choosing a wrong audio rendition when there is more than one rendition with the default language
- Manifest redirects not being respected with enabled
native_hls_parsing
tweak
Stable
3/1/2022
8.80.0
Fixed
AdFinished
event sometimes not being emitted with IMA module- Player not restoring from ad break on webOS 2018+ when main content is a progressive stream
getAvailableSegments
only returning a single representation for DASHSegmentTemplate
streams- Playback sometimes not starting for HLS streams due to incorrect
timestampOffset
being applied - Current time in some cases is not progressing on Safari when using the MSE
- Adjustment of presentation time offsets on the first HLS discontinuity leading to negative PTS values
- UI:
npm install
failure when using Node 16
Stable
2/16/2022
8.79.0
Added
- The following player errors now provide a message and some additional context:
Fixed
- Sometimes imprecise time-shifting due to wrongfully delayed buffer clearing
- Superfluous
AudioChanged
event sometimes being emitted beforeSourceLoaded
when using HLS on Safari player.getTimeshift()
returning the wrong offset after restoring from an Ad break on Safari 15player.getTimeshift()
sometimes returning the wrong offset when joining a live stream on Safari 15- Compilation error using the player package in TypeScript projects where
@types/chrome
package is not installed
Stable
2/1/2022
8.78.0
Added
- Optional
sendTimestamp
toHttpResponseTiming
- Optional
url
,elapsedTime
andsegmentDuration
toRequestProgress
SEGMENT_LOADING_PROGRESS_CHECK_INTERVAL
tweak to set the desired interval of proactive download progress checks- Eager download cancellation
prepareMediaInfo
callback toGoogleCastRemoteControlConfig
providing the possibility to alter theMediaInfo
object before it is loaded onto the receiver upon changing its media/source- UI: Support for providing custom
aria-label
when ListBox is used
Changed
- Adjust return types for
getAudio
,getSnapshot
, andgetThumbnail
APIs to include nullish values API_NOT_AVAILABLE
error message now mentions the name of the API that led to the error- Player errors
DRM_CERTIFICATE_ERROR
,DRM_INIT_DATA_MISSING
,DRM_FAILED_LICENSE_REQUEST
,DRM_MISSING_CONFIGURATION
,DRM_NO_LICENSE_SERVER_URL_PROVIDED
,DRM_KEY_SYSTEM_NOT_SUPPORTED
,DRM_KEY_SESSION_INITIALIZATION_FAILED
,DRM_MEDIA_KEY_INITIALIZATION_FAILED
,DRM_PLAYREADY_INVALID_HEADER_KEY_VALUE_PAIR
,NETWORK_MANIFEST_DOWNLOAD_TIMEOUT
, andNETWORK_SEGMENT_DOWNLOAD_TIMEOUT
now provide a message and some additional context
Fixed
- Not respecting
AUTOSELECT
attributes in HLS streams for audio when playing on MSE-based player - Not selecting user language in HLS streams for MSE-based players
- Buffer erroneously being cleared while seeking backwards
- fMP4-encapsulated subtitles sometimes being dropped when playing back an HLS stream
- Case-sensitive merging of internal and user-defined request headers
- Potential playback failure when calling
load()
multiple times - UI: Updating the markers on live streams causing unhandled exception after player is destroyed
Stable
1/18/2022
8.77.0
Added
- Documentation for
UNKNOWN
,SETUP_LICENSE_ERROR
,SOURCE_INVALID
,SOURCE_MANIFEST_INVALID
,SOURCE_NO_SUPPORTED_TECHNOLOGY
,SOURCE_STREAM_TYPE_NOT_SUPPORTED
,SOURCE_COULD_NOT_LOAD_MANIFEST
,SOURCE_PROGRESSIVE_STREAM_ERROR
,SOURCE_HLS_STREAM_ERROR
,DRM_INIT_DATA_MISSING
andNETWORK_ERROR
- Additional error context to
SOURCE_PROGRESSIVE_STREAM_ERROR
andSOURCE_HLS_STREAM_ERROR
- Actively track asset loading and trigger an error on Tizen with Native player in case asset is not available
- Support for Dolby Vision video codec strings
- Tweaks for changing the retry policy on failed downloads
Changed
troubleShootLink
for the error events
Fixed
- Improve HLS livestream performance on older low-end devices
- Fixed issue on older Tizen devices with the duration being
NaN
during startup - Playback occasionally freezing on Tizen when skipping a gap
- DASH sometimes being chosen over Native HLS even though a FairPlay config is provided
- Slightly improve parsing performance of HLS playlists
- Improve resource efficiency when playing long HLS playlists
- Content restoring sometimes not respecting the
startOffset
on Native HLS - Player missing the target when timeshifting with a positive timestamp value
- Invalid HTML line break tags for subtitles
- Player getting stuck on the lowest quality, when the representations are ordered by descending bandwidth
- Better support for unknown video codecs in HLS
Stable
12/21/2021
8.76.0
Added
- TweaksConfig.experimental_transmuxing to enable new experimental transmuxer
- More context for the DRM_MEDIA_KEY_INITIALIZATION_FAILED error
- PlayerErrorEvent.troubleShootLink to follow for error troubleshooting
- DRM_NO_KEY_SYSTEM error event now contains information about the provided and available key systems
- DRM_KEY_ERROR now includes the code and system code provided by the browser
- The error for DRM_KEY_SESSION_INITIALIZATION_FAILED now includes the reason for the failure.
Changed
- Improve parsing efficiency of long HLS playlists with custom metadata tags
- Firing a DRM_KEY_ERROR error instead of DRM_MEDIA_KEY_INITIALIZATION_FAILED when msSetMediaKeys fails
- Firing a DRM_NO_KEY_SYSTEM error instead of DRM_MEDIA_KEY_INITIALIZATION_FAILED when requestMediaKeySystemAccess or createMediaKeys fails
Fixed
- A nullpointer exception at the end of an advertisment during which the player is destroyed
- Line spacing being too large for WebVTT subtitles when using Native HLS
- Not recovering when seeking too close to the end of buffer for PlayReady protected content on Edge Chromium
- WebOS 2018 and 2019 not rejecting the PlayerAPI.play promise when there is a player error
- PlayerAPI.getTimeshift returning out of bounds values for HLS Native on Safari 14+
- Player firing a DRM_NO_KEY_SYSTEM error instead of MODULE_MISSING when trying to play an encrypted stream without the DRM module
- Loading too much on seeking to segment boundaries on SegmentTimeline streams
- Progress bar always jumping to max timeshift offset on Safari 15+ with Native HLS when joining a live stream and after every seek
- UI: The scrubber could jump to an old position during a seek operation when it was dragged
- UI: The Seekbar scrubber could jump to an old position on touch devices when the buffer updates during a seek operation