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.

12.0.0

Released 2025-09-30
Highlights
  • Breaking change (JITPlayer): property player.api.reportedQuality has been removed. User player.api.getStatus().quality instead
  • Breaking change (JITPlayer): refactored VideoFile object passed to player.api.loadVideoFile(). Properties jit.widthPx and jit.heightPx are replaced with jit.resolution
  • Add support for JITPlayer to load audio files alongside video
Release notes

Breaking change

  • Breaking change (JITPlayer):
    • property player.api.reportedQuality has been removed. User player.api.getStatus().quality instead.
    • refactored VideoFile object passed to player.api.loadVideoFile(). Properties jit.widthPx and jit.heightPx are replaced with jit.resolution
  • Breaking change (TimedTextPlugin):
    • getSubtitleTimelineMarkers now returns marker intervals as start frame inclusive and end frame exclusive, i.e. [start, end). This is the format that the AP Timeline component expects. Before this change the intervals were end frame inclusive, i.e. [start, end]. The recommended approach to showing the subtitle markers as end frame inclusive is to toggle the endFrameInclusive property on the timeline metadata component (ApTimelineMetadata) instead.

Features

  • feature(JITPlayer): Add support to load audio files alongside video. This requires version 1.0.0 of JIT backend
  • feature(jit): remove need of autoplay property on video element

Fixes

  • fix(SegmentPlayer): Reduce audio crackling between segment changes
  • fix(SegmentPlayer): Fixed an issue where an incorrect frame would sometimes be briefly displayed when playing or frame stepping between two segments
  • fix(SegmentPlayer): Fixed an issue where audio would continue playing after segment end, if the segment was one frame long
  • fix(JITPlayer): Fixed issues related to when the player reaches the end of the video:
    • JITPlayer now emit PlayerEventType.Ended when playback reaches the end
    • player.api.getStatus() now includes the "ended" property
    • player.api.play() now restart playback from the beginning of the video after the playback have reached the end
  • fix(TrackExtractor): reported tracks now follow the same order as defined in the source file
  • fix(TimedTextPlugin): fix issue in Safari which caused VTT subtitles to be misplaced when a TTML subtitle was loaded at the same time
  • fix(jit): no feedback was given when WebRTC stream closed unexpectedly
  • fix(controls): hide "Original audio" toggle if video file does not have any muxed audio channels
  • fix(TimedTextPlugin): fixed timing floating point rounding errors when applying start time offset to subtitle cues
  • fix(CutlistPlayer, DiscreteAudioPlugin, ProgressivePlayer, SegmentPlayer): Fixed an issue where the updateSrc callback would not trigger for relative file URLs that expired

Full Artefact Version List

JIT Backend: 1.0.0

11.0.0

Released 2025-04-22
Highlights
  • Breaking change: player functions mute() and unmute() no longer affect the player status property muxedAudio
  • CutlistPlayer: fix bug that prevents user from seeking to last frame in preview mode
Release notes

Breaking change

  • Core: player functions mute() and unmute() no longer affect the player status property muxedAudio
    • The muxedAudio property describes if muxed audio is enabled in the player while mute() and unmute() control the global muted state on the player

Fixes

  • CutlistPlayer: fix bug that prevents user from seeking to last frame in preview mode
  • HotkeyPlugin: change behavior of hotkeys for stepping 1 second, 10 seconds, 1 minute, and 10 minutes to step according to the timecode instead of using wall clock time

10.4.1

Released 2025-03-14
Highlights
  • CutlistPlayer: fix bug that prevents user from seeking to the last frame
Release notes

Fixes

  • CutlistPlayer: fix bug that prevents user from seeking to the last frame

10.4.0

Released 2025-02-18
Highlights
  • getMediaInfo: ensure requests are not out of bounds
  • TimedTextPlugin: abort network requests when the plugin is destroyed or if the load timeout is reached
Release notes

Features

  • TimedTextPlugin/WebVTTParser: abort network requests when the plugin is destroyed or if the load timeout is reached

Fixes

  • getMediaInfo: ensure requests are not out of bounds
  • TimedTextPlugin: fix .pac parsing bug where some cues were missed because of separator characters 0x63-0x67 not being identified
  • TimedTextPlugin: fix issue with colors not displaying for subtitles after calling getSubtitleTimelineMarkers()

10.3.0

Released 2024-12-03
Highlights
  • SubtitleSource: Add event (cueclear) that clears all cues
Release notes

Features

  • SubtitleSource: Add event (cueclear) that clears all cues
  • DiscreteAudioPlugin: Deprecate the setting frozenTimeout and disable it by default

Fixes

  • TimedTextPlugin: correctly unregister plugin from the player when destroyed

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.