[object Object] Icon

Encoding
Learn how to create, start, manage and modify Encodings

[object Object] Icon

Player
Learn how to create, start, manage and modify Players

[object Object] Icon

Analytics
Learn how to create, start, manage and modify Analyticss

Docs Home
User shortcuts for search
Focus by pressing f
Hide results by pressing Esc
Navigate via   keys

Player iOS / tvOS Releases

Latest Releases

Date

Version

Stable

5/10/2022

3.19.0

Added

  • cea to SubtitleFormat to represent closed captions

Changed

  • Type of position from String? to CuePosition? in CueEvent, CueEnterEvent, CueExitEvent and CueParsedEvent

Fixed

  • Positioning information not available on CueEnterEvent and CueExitEvent for closed caption tracks
  • hideFirstFrame not working when using UserInterfaceType.system

Stable

4/11/2022

3.18.0

Removed

  • AudioQuality as it was unused

Fixed

  • Player getting stuck when new source is loaded directly from onSourceError listener
  • SourceErrorEvent emitted twice when new source is loaded directly from onSourceError listener
  • Missing AdErrorEvent event for ads with non-supported file types within VMAP manifests
  • Thumbnails not showing on the Bitmovin Player UI
  • Absolute-path relative references not resolved correctly for WebVTT ThumbnailTrack

Stable

3/29/2022

3.17.0

Added

  • replayMode property to the PlaylistOptions to make playlist replay behavior configurable

Changed

  • OfflineContentManager.offlineDrmLicenseInformation to return optional value in order to always represent the correct state
  • OfflineManager.offlineDrmLicenseInformationForSourceConfig: to return optional value in order to always represent the correct state

Removed

Fixed

  • offlineDrmLicenseInformation.isDrmLicenseExpired is always showing as expired for FPS protected content
  • Background Playback not working when uiEnabled is false

Deprecated

  • OfflineContentManager.isDrmLicenseExpired in favor of optional OfflineContentManager.offlineDrmLicenseInformation value

Stable

3/15/2022

3.16.0

Added

  • Swift Package Manager support. To use our SDK with the Swift Package Manager we created this repository including all releases starting from 3.0.0
  • SubtitleRemovedEvent, SubtitleChangedEvent, SubtitleAddedEvent and CueParsedEvent to be emitted for inactive sources in a playlist

Changed

  • SubtitleRemovedEvent, SubtitleChangedEvent, SubtitleAddedEvent and CueParsedEvent are now conforming to SourceEvent instead of PlayerEvent
  • CueEvent is now a protocol instead of a class conforming to PlayerEvent

Fixed

  • Incorrect SCTE tag timing when the initial variant playlist has a EXT-X-MEDIA-SEQUENCE of 0
  • CueEnter.text property containing <br> as new-line representation instead of \n
  • CueEnter.html property containing \n as new-line representation instead of <br> for external SubtitleTracks
  • CueEnter.html is empty for SubtitleTracks that are present in the manifest

Stable

3/1/2022

3.15.0

Added

  • isCastEnabled property to the RemoteControlConfig to enable or disable casting functionality for a player instance
  • Support for ID and CLASS properties for EXT-X-DATERANGE metadata

Fixed

  • Some internal events are emitted through the onEvent listener method

Stable

2/16/2022

3.14.0

Added

  • MetadataParsedEvent to be emitted for inactive sources in a playlist when SCTE metadata is parsed for HLS content
  • MetadataParsedEvent to be emitted for inactive sources in a playlist when Id3 metadata is parsed for HLS content
  • Allow seeking and time shifting as soon as PlayerActiveEvent is seen. Before, it was required to wait until the ReadyEvent is received.
  • Support for negative values for player.playbackSpeed to allow reverse playback
  • Player.canPlayAtPlaybackSpeed API to check if given playbackSpeed value is supported by the currently loaded source

Fixed

  • Missing TimeShiftEvent and TimeShiftedEvent on tvOS when live stream contains EXT-X-PROGRAM-DATE-TIME
  • Playback via AirPlay for HLS streams hosted on Akamai using Token Authentication
  • Unnecessary caching of HLS playlist requests

Known Issues

  • Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
  • Playback gets stuck when playing a Progressive Ad that results in an AdError
  • Loading a new Source from a PlayerErrorEvent or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when PlaybackConfig.isAutoPlayEnabled is set to true
  • When our default Bitmovin Player Web UI is used it can happen that the label of an AudioTrack keeps the value of the previous source

Stable

2/1/2022

3.13.0

Added

  • Automatic retries for HLS playlist requests when the previous request failed with an non-2xx HTTP status code

Fixed

  • Time shifting not always working properly when being connected to AirPlay on iOS versions lower than iOS 14.7
  • Potential runtime crash when using Google IMA SDK

Known Issues

  • Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
  • Playback gets stuck when playing a Progressive Ad that results in an AdError
  • Loading a new Source from a PlayerErrorEvent or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when PlaybackConfig.isAutoPlayEnabled is set to true
  • When our default Bitmovin Player Web UI is used it can happen that the label of an AudioTrack keeps the value of the previous source

Stable

1/18/2022

3.12.0

Added

  • HttpRequestType enum when used from Swift
  • DownloadFinishedEvent.requestType to make use of the new HttpRequestType enum

Changed

  • Update Google Cast SDK to latest stable version (4.7.0)

Removed

  • Underscored methods and properties from documentation

Fixed

  • Partially downloaded offline data getting discarded when upgrading from version 2.64.2 or below
  • Resuming offline downloads after upgrading from version 2.64.2 or below
  • Crash during seeking while connecting to Google Cast device
  • PlayEvent being fired too late when PlaybackConfiguration.isAutoplayEnabled is set to true
  • Documentation generation for various types
  • Missing documentation for tvOS only properties

Known Issues

  • Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
  • Playback gets stuck when playing a Progressive Ad that results in an AdError
  • Loading a new Source from a PlayerErrorEvent or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when PlaybackConfig.isAutoPlayEnabled is set to true
  • When our default Bitmovin Player Web UI is used it can happen that the label of an AudioTrack keeps the value of the previous source

Deprecated

  • HttpRequestTypes constants when used from Swift in favour of the new HttpRequestType enum
  • DownloadFinishedEvent.downloadType in favour of the new properly typed requestType property

Stable

12/21/2021

3.11.0

Changed

  • Updated Google IMA SDK to latest stable version (3.14.5)

Fixed

  • Missing PlayingEvent when SourceOptions.startOffset is configured and PlaybackConfiguration.isAutoplayEnabled is set to true
  • Deprecation message pointing to non-existing API for OfflineManager.isPlayableOffline
  • Content being paused on Google Cast receiver when sender device gets locked
  • Content being reloaded unnecessarily on Google Cast receiver when sender application is brought back to foreground

Known Issues

  • Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
  • Playback gets stuck when playing a Progressive Ad that results in an AdError
  • Loading a new Source from a PlayerErrorEvent or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when PlaybackConfig.isAutoPlayEnabled is set to true
  • When our default Bitmovin Player Web UI is used it can happen that the label of an AudioTrack keeps the value of the previous source
  • Already partially downloaded data for offline playback will be lost and has to be re-downloaded after updating from below 2.64.2 to this version

Stable

12/7/2021

3.10.0

Added

  • OfflineContentManager to manage all offline content and offline DRM related tasks for a single SourceConfig
  • OfflineContentManagerListener to receive updates regarding offline content and offline DRM related tasks
  • OfflineManager.offlineContentManager(for:) to retrieve a OfflineContentManager instance for a certain SourceConfig
  • OfflineEvent as parent type for all events emitted by an OfflineContentManager
  • AvailableTracksFetchedEvent to get notified when the available tracks were fetched
  • OfflineContentLicenseExpiredEvent to get notified when the stored license is expired
  • OfflineContentLicenseRenewedEvent to get notified when the license was renewed
  • ContentDownloadCanceledEvent to get notified when the content download was cancelled
  • ContentDownloadResumedEvent to get notified when the content download was resumed
  • ContentDownloadProgressChangedEvent to get notified for every progress change during the content download
  • ContentDownloadSuspendedEvent to get notified when the content download was suspended
  • ContentDownloadFinishedEvent to get notified when the content download finished successfully
  • OfflineErrorEvent to get notified about any error that happened
  • OfflineManager.offlineContentManager(for:id:) to retrieve a OfflineContentManager instance for a certain SourceConfigusing a custom unique identifier
  • OfflineContentManager.tweaks namespace to control tweaks for offline content downloads
  • OfflineContentManagerTweaksApi.migrateDownload(remoteAssetUrl:resourceIdentifierCallback:) to enable updating download URL for offline content downloads

Changed

  • AudioAddedEvent, AudioChangedEvent and AudioRemovedEvent are now conforming to SourceEvent instead of PlayerEvent
  • Improved documentation of consequences when enabling/disabling TweaksConfig.isCustomHlsLoadingEnabled and TweaksConfig.isNativeHlsParsingEnabled

Removed

  • Internal types from public documentation

Fixed

  • Downloading ClearKey (AES-128) protected content when SourceConfig.title is not set
  • Calling player.audio or player.setAudio(trackIdentifier:) before the source finishes loading blocks the main thread

Known Issues

  • Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
  • Playback gets stuck when playing a Progressive Ad that results in an AdError
  • Loading a new Source from a PlayerErrorEvent or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when PlaybackConfig.isAutoPlayEnabled is set to true
  • When our default Bitmovin Player Web UI is used it can happen that the label of an AudioTrack keeps the value of the previous source
  • Already partially downloaded data for offline playback will be lost and has to be re-downloaded after updating from below 2.64.2 to this version

Deprecated

  • All methods on the OfflineManager which are SourceConfig related. From now on the OfflineContentManager should be used
  • OfflineManagerListener and all its methods. From now on the OfflineContentManagerListener should be used

Latest Releases

Give us feedback