Player iOS / tvOS Releases
Latest Releases
Stable
3.19.0
5/10/2022
Stable
6/8/2021
3.2.0
Added
- HTTP response status code to
SourceErrorEvent.data
for failed DRM 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 results in an
AdError
- Loading a new
Source
from aPlayerError
or aSourceErrorEvent
does not work - Loading a new
Source
from aPlaybackFinishedEvent
sometimes does not start playback automatically whenisAutoPlayEnabled
is set totrue
- Unexpected
TimeChanged
event is emitted between thePlay
andPlayingEvent
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 - Loading a
SourceConfig
viaPlayer.load(sourceConfig:)
leads to a crash when exiting casting (usePlayer.load(source:)
instead) - 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
5/26/2021
3.1.0
Added
isAirPlayEnabled
property inRemoteControlConfig
to enable or disable the AirPlay functionality
Fixed
- Incorrect value of
isPlaying
andisPaused
inside the Bitmovin Player Web UI when thePlaybackFinishedEvent
is received
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 results in an
AdError
- Loading a new
Source
from aPlayerError
or aSourceErrorEvent
does not work - Loading a new
Source
from aPlaybackFinishedEvent
sometimes does not start playback automatically whenisAutoPlayEnabled
is set totrue
- Unexpected
TimeChanged
event is emitted between thePlay
andPlayingEvent
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 - Loading a
SourceConfig
viaPlayer.load(sourceConfig:)
leads to a crash when exiting casting (usePlayer.load(source:)
instead) - 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
5/11/2021
3.0.1
Changed
- A
StallStartedEvent
will now be emitted after aSeekedEvent
andTimeShiftedEvent
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 aSource
already finished preloading during playback of the previousSource
- Player is returning data from the previous source inside the
PlaylistTransitionEvent
(e.g.Player.availableAudio
,Player.availableSubtitles
)
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 results in an
AdError
- Loading a new
Source
from aPlayerError
or aSourceErrorEvent
does not work - Loading a new
Source
from aPlaybackFinishedEvent
sometimes does not start playback automatically whenisAutoPlayEnabled
is set totrue
- Unexpected
TimeChanged
event is emitted between thePlay
andPlayingEvent
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 - 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
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 theBitmovinPlayer
as the main player typePlayerFactory
to createPlayer
instancesSource
protocol as top-level typeSourceFactory
to createSource
instancesLoadingState
indicating the current state of a SourcePlayer.source
that returns the currently active sourcePlayer.load(source:)
to load a singleSource
PlaylistConfig
to configure playback of multiple sourcesPlaylistOptions
to customize additional playlist behaviourPlayer.playlist
namespace to control playback of multiple sourcesPlayer.load(playlistConfig:)
to load multiple SourcesPlayer.registerPlayerLayer
for custom native UI support using anAVPlayerLayer
Player.registerPlayerViewController
for custom native UI support using anAVPlayerViewController
Player.registerAdContainer
for custom native UI support to register the container view which should be used for Ad renderingTweaksConfiguration.seekToEndThreshold
to configure the threshold when seeking to the end in seconds- The sender to the each
PlayerListener
method to distinguish whichPlayer
emitted an event - Events
PlaybackTransitionEvent
to indicate a transition from oneSource
to anotherPlayerActiveEvent
to indicate the player got a source to loadPlayerInactiveEvent
to indicate when a player does not have any source anymore
Changed
- The
BitmovinPlayer
framework is now shipped asXCFramework
- All
Configurations
were renamed toConfig
DurationChangedEvent
is no longer fired initially- Renamed
SourceItem
toSourceConfig
- Renamed
SourceItem.itemTitle
toSourceConfig.title
- Renamed
SourceItem.itemDescription
toSourceConfig.sourceDescription
- Removed
SourceConfig.drmConfigs
and introducedSourceConfig.drmConfig
to only handle a singleDrmConfig
- Removed
SourceConfig.progressiveSources
and introduceSourceConfig.progressiveSource
to only handle a singleProgressiveSource
SourceConfig.options
is no longer an optional type- Renamed
BitmovinPlayerView
toPlayerView
- Moved
Player.sourceMetadata
toSource.metadata
- Removed
BMP
prefix from all public types used fromSwift
- Increased minimum required
Google Cast SDK
version to4.4.1+
- Renamed
MediaSourceType
toSourceType
- Rewrote all abbreviations and acronyms to follow CamelCase style
- Renamed
RemoteControlAPI
toRemoteControlApi
- Renamed
UserInterfaceAPI
toUserInterfaceApi
- 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 thePlayerConfig
to thePlayerFactory
insteadPlayerConfig.sourceConfig
- Loading a source from thePlayerConfig
is no longer supportedConfigurationUpdatedEvent
PlayerView
- TheBitmovinPlayerView
from v2 became the newPlayerView
PlaybackType
SourceConfig.drmConfigs
SourceConfig.add(drmConfig:)
Player.streamType
- UseSourceConfig.type
insteadJsonable
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
andNetworkConfig
not extendingConfig
CloseButton
of theSettingsPanel
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 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
Source
s are present in theavailableSubtilteTracks
/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 aPlayerError
or aSourceErrorEvent
does not work - Loading a new
Source
from aPlaybackFinishedEvent
sometimes does not start playback automatically whenisAutoPlayEnabled
is set totrue
- Unexpected
TimeChanged
event is emitted between thePlay
andPlayingEvent
when a Source or a Playlist is replayed - Subtitles are not selectable when playing offline content
- 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
MediaSource
,AdaptiveSource
,HlsSource
,ProgressiveSource
andDashSource
.SourceConfig
should instead be constructed using an url and the accordingSourceType
Stable
3/9/2022
2.67.4
Fixed
- Incorrect SCTE tag timing when the initial variant playlist has a
EXT-X-MEDIA-SEQUENCE
of 0
Known Issues
- Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
- 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 - When upgrading to this version, FairPlay protected streams that were downloaded with a version before
2.64.2
(usingOfflineManager
) are not playable anymore when the device is offline
Stable
10/27/2021
2.67.3
Added
PlayerFactory
to createPlayer
instances
Known Issues
- Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
- 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 - When upgrading to this version, FairPlay protected streams that were downloaded with a version before
2.64.2
(usingOfflineManager
) are not playable anymore when the device is offline
Deprecated
- Initializers in the
BitmovinPlayer
in favour of the newly introducedPlayerFactory
Stable
8/31/2021
2.67.2
Changed
- The documentation for
showSeekBar
andshowInfoViews
on theSystemUserInterfaceConfiguration
to properly reflect it's behaviour on tvOS 15
Known Issues
- Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
- 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 - When upgrading to this version, FairPlay protected streams that were downloaded with a version before
2.64.2
(usingOfflineManager
) are not playable anymore when the device is offline
Stable
8/31/2021
2.67.1
Fixed
- AirPlay playback session is paused when iOS device gets locked
Known Issues
- Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
- 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 - When upgrading to this version, FairPlay protected streams that were downloaded with a version before
2.64.2
(usingOfflineManager
) are not playable anymore when the device is offline
Stable
8/19/2021
2.67.0
Added
BitmovinCastManagerOptions
to specifyapplicationId
,namespace
,castReceiverVersion
andenableBackgroundSessions
when initializingBitmovinCastManager
BitmovinCastManagerOptions.enableBackgroundSessions
to keep Google Cast sessions active when the app is in backgroundOfflineManagerDelegate
which will act as the delegate forOfflineManager
OfflineManager.areSuspendedDownloadsRestored
property to specify if theOfflineManager
has finished restoring suspended downloads
Known Issues
- Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
- 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 - When upgrading to this version, FairPlay protected streams that were downloaded with a version before
2.64.2
(usingOfflineManager
) are not playable anymore when the device is offline
Deprecated
BitmovinCastManager.initializeCasting(castReceiverVersion:)
,BitmovinCastManager.initializeCasting(applicationId:messageNamespace:)
,BitmovinCastManager.initializeCasting(applicationId:castReceiverVersion:)
andBitmovinCastManager.initializeCasting(applicationId:castReceiverVersion:messageNamespace:)
in favor ofBitmovinCastManager.initializeCasting(options:)
Stable
8/3/2021
2.66.1
Changed
- Make
AdBreakEvent
,AdBreakFinishedEvent
,AdBreakStartedEvent
,AdClickedEvent
,AdErrorEvent
,AdEvent
,AdFinishedEvent
,AdManifestLoadEvent
,AdManifestLoadedEvent
,AdSkippedEvent
,AdStartedEvent
andErrorEvent
open
Fixed
- Different text size between single-line and multi-line subtitles when using Bitmovin Player Web UI
Known Issues
- Picture in Picture mode is not working on iOS 14.0 and iOS 14.1
- 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 - When upgrading to this version, FairPlay protected streams that were downloaded with a version before
2.64.2
(usingOfflineManager
) are not playable anymore when the device is offline