SDK-Player - Release Notes

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

7.2.0

Released 2022-09-13
Highlights
  • Added support for playing multiple muxed audio tracks within a MP4 file.
Release notes

Features

  • DiscreteAudioPlugin: Added track configuration option enabledCountExempt. When activated the track is not omitted by the maxEnabledTracks setting.
  • DiscreteAudioPlugin: Add setting for controlling preload attribute for created audio elements.
  • Probe: getMediaInfo now also extracts audioTrackCount from the video container.
  • TrackExtractor: New tool that can be used to play multi-track mp4.
  • VttSubtitlePlugin: VTT subtitles now support id, used to identify subtitles when toggling.

Fixes

  • SegmentPlayer: Seeking to last frame now works
  • Controls: Make sure player is set before allowing controls to toggle play

7.1.3

Released 2022-06-28
Highlights
  • IMSC bug fix
Release notes

Fixes

  • ImscSubtitlePlugin: IMSC no longer crashes when the TT node exists in a custom namespace.

7.1.2

Released 2022-06-23
Highlights
  • Fixed build issues
Release notes

Fixes

  • Controls: polymer version locked to 3.4.x to avoid issues with builds on vue2 and angular

7.1.1

Released 2022-05-25
Highlights
  • Abr installation bugfix
Release notes

Fixes

  • Bug where AbrPlayer failed to install on certain projects.

7.1.0

Released 2022-05-24
Highlights
  • ChannelControlPlugin API updates
Release notes

Features

  • ChannelControlPlugin: Added getChannelMaxRMSdB and getTrackMaxRMSdB api methods to replace getMaxRMSdB (deprecated) and getGlobalMaxRMSdB (deprecated).

    The main difference being that the new methods returns the waveform data in addition to the dBFS values:
    const { dBFS, floatTimeDomainData } = await getChannelMaxRMSdB(idOrSrc, duration);
    // The floatTimeDomainData is an array of the waveform data used to calculate the dBFS values.


    Another difference is that getGlobalMaxRMSdB returns the total dBFS for all audio tracks, but the method replacing it: getTrackMaxRMSdB, returns the dBFS for each track instead.

    If you want the total dBFS value for all tracks (like getGlobalMaxRMSdB) you are advised to use the utility function combineDecibelLevels instead:

    const { dBFS } = await getTrackMaxRMSdB(duration);
    const totalDBFS = combineDecibelLevels(dBFS):

  • All players: Added player setting playbackRates that can be used to specify a list of available playback rates.
  • SmoothTimeUpdatePlugin: Added setting to force the use of requestAnimationFrame instead of requestVideoFrameCallback. This is of use if you play an audio-only file for example, as requestVideoFrameCallback wont fire if no video is rendered.
  • ChannelControlPlugin: Exposed the sample rate of the audio context in getAudioContextSampleRate

Fixes

  • Controls: Manually changing drop frame now reflects in current time display
  • AudioScrubPlugin: Fixed issue which caused AudioScrubPlugin to not cleanup audio elements when loading new files.

7.0.1

Released 2022-04-27
Highlights
  • Subtitle plugin fix
Release notes

Fixes

  • Bug where incorrect subtitle track could be selected using SubtitlePlugin

7.0.0

Released 2022-03-29
Highlights
  • Major version due to minor API change
Release notes

Breaking

  • Changed method signature for updateSrc(videoFile: VideoFile) to updateSrc(src: string, fileId: string) for the updateSrc property in VideoFile and DiscreteAudioTrack objects.

Features

  • Added support for SubtitlePlugin in the overlay controls, <apc-controls>
  • Added channelInterpretation property to VideoFile and DiscreteAudioTrack. It describes how input channels are mapped to output channels when the number of inputs/outputs is different. Read more here.
  • Added new player event UserSeek that is triggered just before a seek starts
  • Added support for parsing display aspect ratio from video files in getMediaInfo()

6.2.0

Released 2022-01-25
Highlights
  • Minor improvements
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • Added aspect ratio utilities to core, along with aspect ratio data in the VideoFile object
  • defaultChannelRouter method is now exported from the core library. This method returns the default route map of the used by the ChannelControlPlugin.
  • Plugin settings are now exposed as readonly to make it easier to read default settings
  • ChannelControlPlugin: Added methods setGain and getGain to get or set a specific gain of a channel.
  • DiscreteAudioPlugin: Added function isAudioTrackActive.

Fixes

  • DiscreteAudioPlugin
    • trackCount is now correctly calculated from the count of active audio tracks.
    • Enable/Disable track does no longer emit events if enabling/disabling already enabled/disabled tracks.
    • Fixed cleanup of native elements.
  • getMediaInfo: fixed videoStartOffset error caused by double edit list entries in mp4.
  • SmoothTimeUpdatePlugin now works when CutlistPlayer switch video elements.

6.1.0

Released 2021-11-23
Highlights
  • Improved audio analysis tools
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • ChannelControlPlugin: Added "mono mix" support. This adds the possibility to get waveform data per track and and a global dB value for all tracks combined. Previously waveform data was only available per channel on each track.
  • ChannelControlPlugin:
    • Added api method resetChannelRouting which resets channel routing for all tracks.
    • Added api method routingHasChanged for checking if the routing is changed from the default one.
  • CutlistPlayer:
    • Improved error handling to allow updating the currently loaded url . This is useful for refreshing an expired presigned url.
    • Added support for videoStartOffset for the loaded videofile.
  • getMediaInfo: Added support for fragmented mp4

Fixes

  • SmoothTimeUpdatePlugin: Fixed bug causing the TimeUpdate event to be triggered on seek for all frames between the current frame and the seek target.

6.0.1

Released 2021-10-19
Highlights
  • ProgressivePlayer: Fixed bug which caused the player to unload proxies when switching proxy
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Fixes

  • ProgressivePlayer: Fixed bug which caused the player to unload proxies when switching proxy

6.0.0

Released 2021-09-28
Highlights
  • Breaking: Minor API change in HlsPlayer due to updated dependencies
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • HlsPlayer: Exposed hls.js config object in player settings to let the user fine tune hls.js parameters.
  • HlsPlayer: Updated hls.js dependency to 1.0.9 (previously 0.14.17)

Fixes

  • CutlistPlayer: Increased allowed duration of black cuts to 1 hour.
  • CutlistPlayer and ProgressivePlayer: The player would sometimes stop working in Firefox because the network requests for the video would be blocked. This is now fixed by properly releasing network resources when the player is destroyed.
  • SmoothTimeUpdatePlugin: Now emits an event correctly for each frame.

Breaking

  • HlsPlayer: Removed loadUrl API, use loadVideoFile instead.

5.3.1

Released 2021-06-28
Highlights
  • Fix dependency problem.
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • IMSCPlugin: Fix dependency problem.

5.3.0

Released 2021-06-28
Highlights
  • Improvements to OSX hotkeys
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • HotkeyPlugin: Hotkeys on OSX now uses CMD instead of CTRL. Affects all plugins that has built in hotkeys like the PointPlugin.
  • IMSCPlugin: Updated dependencies to properly support SMPTE timebase.
  • CutlistPlayer: Calling play() after playback ended now start playback from beginning.
  • Updated all internal dependencies to the lastest versions.

5.2.0

Released 2021-06-07
Highlights
  • Added support for CutlistPlayer to play black sections between clips
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • CutlistPlayer: Added support for black frame playback. See CutlistPlayer documentation.
  • CutlistPlayer: Added option to keep current time when reloading a cutlist.

Fixes

  • Controls: Seek popup will now blur focus after popup is closed
  • Controls: Fixed layout issues in Firefox related to focus when tabbing
  • Controls: Prevent controls from crashing when no video file is found
  • Controls: Fullscreen mode will now work even if ImscPlugin doesn't load any subtitles
  • ChannelControlPlugin: ChannelControlEventType.Added will now be emitted correctly
  • ChannelControlPlugin: Fixed bug which caused discrete audio tracks to sound even though player was globally muted if the discrete audio was loaded after the player was globally muted
  • Player: api.muted and api.getStatus().muted will now report the same state

5.1.0

Released 2021-05-17
Highlights
  • Added new SeekStrategy
Release notes

Packages

@accurate-player/accurate-player-abr

@accurate-player/accurate-player-controls

@accurate-player/accurate-player-core

@accurate-player/accurate-player-cutlist

@accurate-player/accurate-player-hls

@accurate-player/accurate-player-plugins

@accurate-player/accurate-player-progressive

@accurate-player/probe

Features

  • All players: Added regular seek strategy. Can be selected through PlayerSettings when creating a player. See SeekStrategy documentation.

Fixes

  • Controls: Fixed bug where you could not toggle the discrete audio tracks using the player controls if an id was set on the track that differed from the src.