Accurate Player - Release Notes

Here you can find release notes regarding the Accurate Player. Each release note will tell you highlights in each version, what's new and what's been fixed.

10.2.2

Released 2024-09-13
Highlights
  • Fixes
Release notes

Fixes

  • TimedTextPlugin: Correctly unregister the plugin from the player when using destroy()

10.2.1

Released 2024-07-02
Highlights
  • Fix intermittent player error when using track extractor
Release notes

Fixes

  • DiscreteAudioPlugin: Deprecate setting frozenTimeout and disable it by default
  • DiscreteAudioPlugin: Fix intermittent player error when using track extractor

10.2.0

Released 2024-06-25
Highlights
  • JIT Player
Release notes

Features

  • New JIT Player is launched, able to play content Just-In-Time using our Just-In-Time Backend.
  • An error is thrown whenever a player is initialized without a license key

Fixes

  • ⚠️ Frame accuracy in Firefox >= 115
    A change in Firefox was introduced in version 115 which caused the player to report incorrect frames when playing mp4 files containing edit lists, thus causing the player to not be frame accurate.

    Version 10.2.0 fixes this issue which means that if:
    • Running Firefox >= 115 you need Accurate player version 10.2.0 or higher to get correct frame accuracy.
    • Running Firefox < 115 you have to run Accurate.Video < 10.2.0 in order to get correct frame accuracy.

  • ⚠️ Frame accuracy in Safari
    Version 10.2.0 improves frame accuracy in Safari

  • Probe: Fixed issue where some tmcd tracks caused getMediaInfo to crash
  • TrackExtractor: Fixed bug where track extractor could crash when seeking.
  • SmoothTimeUpdatePlugin: The correct frame is now also reported on pause, fixing an issue where smooth time update plugin could report frames not matching the player.

10.1.0

Released 2024-04-23
Highlights
  • HlsPlayer: Change default seek strategy to RegularSeek to prevent player hanging at the end of a live stream
Release notes

Features

  • HlsPlayer: Change default seek strategy to RegularSeek to prevent player hanging at the end of a live stream

Fixes

  • TrackExtractor: Fix bug causing audio tracks with opus encoding to fail
  • TimedTextPlugin: Export typescript types for TimedTextPlugin events
  • AbrPlayer: Fix issue in Safari that caused some HLS playlists to fail when using non-native HLS playback

10.0.2

Released 2024-02-20
Highlights
  • Controls: add support for strict EcmaScript Module origins
Release notes

Fixes

  • Controls: Now supports strict EcmaScript Module origins

10.0.0

Released 2024-02-20
Highlights
  • Styling of IMSC subtitles updated
  • Accurate Player Controls now compatible with TimedTextPlugin
  • "seeking" property added to the player status object
Release notes

Breaking

  • TimedTextPlugin: The IMSCRenderer no longer appends styling to the video element. Minor adjustments to the styling of the video element might be needed in order for the subtitles to be positioned correctly.

Features

  • Controls: apc-controls are now compatible with the TimedTextPlugin
  • Player: "seeking" property added to the player status object

Fixes

  • TimedTextPlugin(IMSC/TTML): No longer discards duplicate cues with exact same appearance
  • TimedTextPlugin: Fix for Safari to load track element based renderers
  • TrackExtractor: Fix error when loading H.265 video
  • Controls: Do not show error message when updating src using updateSrc callback
  • Controls: Fix bug where event listeners are not removed properly when destroying controls, leading to console errors

9.0.0

Released 2023-11-22
Highlights
  • More precise return types
  • TimedTextPlugin now support iTunes Timed Text
Release notes

Breaking

  • Return type for some functions have been made more precise, showing when the returned value might be null or undefined. E.g number -> number | undefined

Features

  • Probe: getMediaInfo()
    • support reading channel count for opus audio tracks
    • support reading time code tracks in order to set frameOffset and dropFrame properties
  • TimedTextPlugin: added support for iTunes Timed Text

Fixes

  • SegmentPlayer: now works together with SmoothTimeUpdatePlugin
  • Probe: getMediaInfo()
    • Chrome and Firefox update caused mov files with single edit list entry to be off by one frame
    • incorrect aspect ratio reported caused by a float rounding error.
  • TimedTextPlugin:
    • accept leading blank line in srt files
    • safari could not load track element based renderers
  • Controls: quality picker did not display correct state when using HlsPlayer

8.3.0

Released 2023-11-21
Highlights
  • Identical to 9.0.0
Release notes

Identical to 9.0.0 but removed since it contains breaking changes.

8.2.0

Released 2023-09-19
Highlights
  • Support reading channel count from more sound sample descriptions
  • Allow passing custom headers and credentials through getMediaInfo() call
Release notes

Features

  • Probe: getMediaInfo() now supports reading channel count from more sound sample descriptions (in24, in32, fl32, fl64)
  • Probe: Added optional requestData to getMediaInfo() call, allowing for custom headers and credentials configuration to be passed on to the fetch request

Fixes

  • TimedTextPlugin: remove() no longer removes unintended subtitles

8.1.0

Released 2023-05-16
Highlights
  • Added support for STL and SRT subtitles
  • Deprecated existing subtitle plugins
Release notes

Features

  • TrackExtractor: Extend track extractor to generate timed text references that can be passed on to the TimedTextPlugin.
  • TimedTextPlugin: Added new plugin to manage all subtitles. Including support for SRT and STL.

Fixes

  • SmoothTimeUpdatePlugin: Added support for reporting frames when using a negative playback rate (playing backwards).

Deprecations

  • Deprecated ImscSubtitlePlugin, SccSubtitlePlugin, SubtitlePlugin and VttSubtitlePlugin. See the Migration Guide for details.

8.0.3

Released 2023-03-14
Highlights
  • Bug fixes and maintenance
Release notes

Fixes

  • Fixed issue where the Ended event fired more than once if player was destroyed and loaded again on the same video element.
  • Probe: Fixed crash when reading 64-bit mdat box size.
  • ProgressivePlayer: Fixed bug (in Chrome) that caused PlayerEventType.Ended to not trigger when reaching the end of the video.

8.0.1

Released 2023-01-23
Highlights
  • Fixed bug in Probe-package
Release notes

Fixes

  • Probe: Fixed issue in getMediaInfo for crash when reading 64-bit mdat box size.

8.0.0

Released 2023-01-17
Highlights
  • Breaking change that only affects the CutlistPlayer
Release notes

Features

  • SccSubtitlePlugin: Added an optional option to the SccSubtitlePluginSettings where you can state to which parent element you want to append the cue style tags.

Fixes

  • Play/Pause state of the player no longer mismatch when the play() request fails
  • ChannelControlPlugin: fixed getMonoMixFloatFrequencyData to work in Chrome and Safari. The issue was that Chrome and Safari only returned data from what seems to be one channel (Chrome returned data from channel 0 and Safari channel 1) instead of all channels.
    • A workaround was added that combines data extracted from the individual channels instead.
  • SubtitlePlugin: Subtitles were duplicated on firefox
  • VttSubtitlePlugin/ImscSubtitlePlugin/SccSubtitlePlugin: improved subtitle source detection to not mistakenly assume the "src" property is a SubtitleSource.
  • getMediaInfo: Decreased memory consumption when reading audio tracks

Breaking

  • Moved Cut, CutlistPlayerEventName, CutChangedEvent, PreviewChangedEvent from @accurate-player/accurate-player-cutlist to @accurate-player/accurate-player-core

7.3.3

Released 2023-01-23
Highlights
  • Minor bugfixes related to Probe and DiscreteAudioPlugin
Release notes

Fixes

  • DiscreteAudioPlugin: Allow updating src on audio tracks.
  • Probe: Fixed issue in getMediaInfo for crash when reading 64-bit mdat box size.
  • Probe: Decreased memory consumption when reading audio tracks.

7.3.0

Released 2022-11-08
Highlights
  • Added support for playing SCC subtitles.
  • Subtitles can now be extracted from MP4 files just like audio.
Release notes

Features

  • DiscreteAudioPlugin: Added api isMaxLimitReached and isEnablePossible(id: string)
  • mse:
    • Added track title block list option to filter out bad names
    • TrackExtractor.getTracks now returns VttSubtitle- (VttSubtitlePlugin), TTMLFileReference- (ImscSubtitlePlugin) and SccSubtitle (SccSubtitlePlugin) objects that can be loaded directly in the respective plugins.
  • probe: Extend getMediaInfo with subtitleTrackCount, indicating the number of muxed subtitle tracks in the file
  • Subtitle plugins: Added support to load subtitles asynchronous by supplying a SubtitleSource object as "src"
  • SccSubtitlePlugin: Added new plugin that can be used to load SCC subtitles

Fixes

  • AP Controls: Controls now shows controls for all subtitles, even when imsc subtitles are loaded
  • ImscSubtitlePlugin: Improved error handling for parse errors
  • ProgressivePlayer: Fixed bug in getCurrentTime resulted in frameOffset not being applied.
  • TrackExtractor
    • Fixed issue that caused track to get stuck in loading state when seeking near the end
    • Fixed bug in Safari that caused audio to disappear when seeking in the video
  • SubtitlePlugin: The plugin now uses <track> elements instead of .addTextTrack to avoid a Chrome bug that caused subtitles to show even though they were disabled
  • VttSubtitlePlugin: Fixed issue where vtt subtitle plugin interfered with track elements not created by the plugin itself