[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/11/2021

3.0.1

Changed

  • A StallStartedEvent will now be emitted after a SeekedEvent and TimeShiftedEvent if the seek or timeShift results in stalling

Fixed

  • Crash when destroying player during ad playback
  • No stalling indicator visible when stalling is in progress when transitioning from one Source to another happens
  • Incorrect Source.loadingState when the following event listeners were called: SourceLoad / SourceLoaded / SourceUnload / SourceLoaded
  • Additional SourceLoaded events when a Source already finished preloading during playback of the previous Source
  • Player is returning data from the previous source inside the PlaylistTransitionEvent (e.g. Player.availableAudio, Player.availableSubtitles)

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1
  • Playback gets stuck when playing a Progressive Ad results in an AdError
  • Loading a new Source from a PlayerError or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when isAutoPlayEnabled is set to true
  • Unexpected TimeChanged event is emitted between the Play and PlayingEvent when a Source or a Playlist is replayed
  • When our default Bitmoivn Player Web UI is used it could happen that the label of an AudioTrack keeps the value of the previous source

Stable

4/27/2021

3.0.0

V3 of the iOS Player SDK marks a new direction where the player itself and the sources it plays back become more decoupled. Check out the V2 -> V3 Migration Guide for a detailed description and migration steps.

Added

  • Native support for running the SDK on iOS/tvOS simulators on Apple Silicon
  • Player protocol, which replaces the BitmovinPlayer as the main player type
  • PlayerFactory to create Player instances
  • Source protocol as top-level type
  • SourceFactory to create Source instances
  • LoadingState indicating the current state of a Source
  • Player.source that returns the currently active source
  • Player.load(source:) to load a single Source
  • PlaylistConfig to configure playback of multiple sources
  • PlaylistOptions to customize additional playlist behaviour
  • Player.playlist namespace to control playback of multiple sources
  • Player.load(playlistConfig:) to load multiple Sources
  • Player.registerPlayerLayer for custom native UI support using an AVPlayerLayer
  • Player.registerPlayerViewController for custom native UI support using an AVPlayerViewController
  • Player.registerAdContainer for custom native UI support to register the container view which should be used for Ad rendering
  • TweaksConfiguration.seekToEndThreshold to configure the threshold when seeking to the end in seconds
  • The sender to the each PlayerListener method to distinguish which Player emitted an event
  • Events

Changed

  • The BitmovinPlayer framework is now shipped as XCFramework
  • All Configurations were renamed to Config
  • DurationChangedEvent is no longer fired initially
  • Renamed SourceItem to SourceConfig
  • Renamed SourceItem.itemTitle to SourceConfig.title
  • Renamed SourceItem.itemDescription to SourceConfig.sourceDescription
  • Removed SourceConfig.drmConfigs and introduced SourceConfig.drmConfig to only handle a single DrmConfig
  • Removed SourceConfig.progressiveSources and introduce SourceConfig.progressiveSource to only handle a single ProgressiveSource
  • SourceConfig.options is no longer an optional type
  • Renamed BitmovinPlayerView to PlayerView
  • Moved Player.sourceMetadata to Source.metadata
  • Removed BMP prefix from all public types used from Swift
  • Increased minimum required Google Cast SDK version to 4.4.1+
  • Renamed MediaSourceType to SourceType
  • Rewrote all abbreviations and acronyms to follow CamelCase style
  • Renamed RemoteControlAPI to RemoteControlApi
  • Renamed UserInterfaceAPI to UserInterfaceApi
  • CAF is now used as the default cast receiver
  • Bitmovin Player Web UI v3.25.0 is now used as the default UI

Removed

  • Player.setup - Pass the PlayerConfig to the PlayerFactory instead
  • PlayerConfig.sourceConfig - Loading a source from the PlayerConfig is no longer supported
  • ConfigurationUpdatedEvent
  • PlayerView - The BitmovinPlayerView from v2 became the new PlayerView
  • PlaybackType
  • SourceConfig.drmConfigs
  • SourceConfig.add(drmConfig:)
  • Player.streamType - Use SourceConfig.type instead
  • Jsonable implementation
  • All non is* boolean properties on the API when used from ObjC
  • Player.preload
  • iOS/tvOS 10 Support
  • iOS/tvOS 11 Support
  • Support for non CAF Cast Receivers
  • Support for Bitmoivn Player Web UI v2

Fixed

  • AdaptationConfig and NetworkConfig not extending Config
  • CloseButton of the SettingsPanel sliding out of Safe Area in Bitmovin Player Web UI v3
  • Subtitles are rendered very close to the bottom Safe Area in Bitmovin Player Web UI v3

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1
  • No StallStartedEvent is emitted when subsequent Sources are not loaded yet when the playback of the previous source ends
  • Subtitles and Audio Tracks from previous Sources are present in the availableSubtilteTracks / availableAudioTracks in subsequent sources
  • Potential crash when the player gets unloaded during an Ad
  • Playback gets stuck when playing a Progressive Ad results in an AdError
  • Loading a new Source from a PlayerError or a SourceErrorEvent does not work
  • Loading a new Source from a PlaybackFinishedEvent sometimes does not start playback automatically when isAutoPlayEnabled is set to true
  • Unexpected TimeChanged event is emitted between the Play and PlayingEvent when a Source or a Playlist is replayed
  • Subtitles are not selectable when playing offline content

Deprecated

  • MediaSource, AdaptiveSource, HlsSource, ProgressiveSource and DashSource. SourceConfig should instead be constructed using an url and the according SourceType

Stable

4/27/2021

2.64.0

Added

  • Support for side-loaded SubtitleTracks when casting to a v3 (CAF) receiver
  • UserInterfaceAPI.scalingMode to dynamically get or set BitmovinPlayerView's ScalingMode
  • ScalingModeChangedEvent to be emitted when BitmovinPlayerView.scalingMode changed
  • SystemUserInterfaceConfiguration.hideFirstFrame to prevent rendering of the first video frame before playback starts when the system UI is used

Fixed

  • Unexpected TimeChangedEvent is emitted between PlayEvent and PlayingEvent

Known Issues

  • Picture in Picture mode is not working on iOS 14.0 and iOS 14.1

Stable

4/13/2021

2.63.0

Added

  • TweaksConfiguration.playbackStartBehaviour to configure the player behaviour when Player.play is called
  • TweaksConfiguration.unstallingBehaviour to configure the player behaviour when stalling should be exited

Fixed

  • Local playback starts in addition to remote playback when joining an existing Google Cast session with PlaybackConfiguration.isAutoplayEnabled set to true

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1

Stable

3/30/2021

2.62.0

Added

  • Properties sendManifestRequestsWithCredentials, sendSegmentRequestsWithCredentials and sendDrmLicenseRequestsWithCredentials to the RemoteControlConfiguration to control cookies and credentials on requests made on Chromecast CAF (v3) receivers

Changed

  • Type of AdSurvey.uri from URL to String (see the ### Fixed section for more details)

Fixed

  • Crash if an AdSurvey URL in VAST ad tag contains invalid characters.

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1

Stable

3/16/2021

2.61.1

Fixed

  • Missing seekbar when joining an existing Google Cast session
  • Live stream starting at wrong playback position when casting
  • Current time is not updating when joining a cast session while remote playback is paused
  • Seek bar is jumping when seeking on the sender device while casting
  • Incorrect values on CastTimeUpdatedEvent when casting to a V2 receiver
  • isMuted returning wrong value when calling mute before load
  • Ad playback does not respect muted state of the player when changed before load (untracked)

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1

Stable

3/2/2021

2.61.0

Added

Fixed

  • Missing events when casting to a V2 receiver
  • TimeChanged events before StartOffset is applied

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1

Stable

3/2/2021

2.60.1

Fixed

  • Missing events when casting to a V2 receiver

Stable

2/16/2021

2.60.0

Added

  • Support for ControlsShow and ControlsHide events on tvOS when the system UI is used
  • LiveConfiguration to configure live-stream specific settings
  • LiveConfiguration.minTimeshiftBufferDepth to specify a threshold when timeShift should be possible

Changed

  • Exclude BitmovinPlayer SDK from arm64 simulator builds when integrated via CocoaPods.

Fixed

  • Missing payload values on Metadata and MetadataParsed events for SCTE tags containing a = sign

Known Issues

  • Picture in Picture mode (on System UI) is not working on iOS 14.0 and iOS 14.1
  • Missing events when casting to a V2 receiver - fixed in 2.60.1

Stable

3/2/2021

2.59.1

Fixed

  • Missing events when casting to a V2 receiver

Latest Releases

Give us feedback