- Update Bitmovin's native Android SDK version to
3.136.0+jason - Update Bitmovin's native iOS SDK version to
3.103.0
MetadataParsedEventandMetadataEventto signal when metadata is parsed or encountered during playback. See the new BasicMetadata sample in our demo app for a working demonstration.- These events come with typed metadata models (ID3, HLS Date Range, EMSG, and SCTE)
- Update Bitmovin's native Android SDK version to
3.135.0+jason
pictureInPictureActionsproperty on<PlayerView>to configure Picture in Picture actionsPictureInPictureAction.TogglePlaybackto add a play/pause actionPictureInPictureAction.Seekto add seek forward and seek backward for 10 seconds actions
- Android:
PictureInPictureConfig.shouldEnterOnBackgroundnow automatically requests Picture in Picture when the app is backgrounded, matching iOS behavior PlayerViewConfig.uiConfig.enableWebViewInspectingto allow inspection of the Player UI WebView on iOS
- Update Bitmovin's native Android SDK version to
3.134.0+jason - Update Bitmovin's native iOS SDK version to
3.102.0 - When no subtitle is selected on iOS/tvOS, it returns
nullinstead of a track with identifieroffto align with the Android Player SDK behavior SubtitleChangedEvent's properties ofoldSubtitleTrackandnewSubtitleTrackare now optional to align with the native Player SDKs
- Android:
player.setSubtitleTrack()now correctly disables subtitles when passingundefinedas a parameter. Callingplayer.setSubtitleTrack()without a parameter is no longer supported - Android: Improve lifecycle handling to free resources
- Update Bitmovin's native Android SDK version to
3.132.1+jason - Update Bitmovin's native iOS SDK version to
3.98.0
- iOS: race condition causing invalid initial state for full screen button on
PlayerView
AdvertisingConfig.imanamespace with typeImaAdvertisingConfigImaAdvertisingConfig.beforeInitializationAPI to allow customization of IMA SDK behavior viaImaSettingsImaSettings.ppidproperty to allow setting Publisher Provided Identification (PPID) sent with ad requests.ImaSettings.languageproperty to set the language for ad UI elements via IETF BCP 47 language tag.ImaSettings.maxRedirectsproperty to set the maximum number of redirects the IMA SDK will follow when loading ads.ImaSettings.enableBackgroundPlaybackproperty to allow ads to continue playing when the app goes into the background on iOS and tvOS.ImaSettings.playerVersionproperty to set a custom player version string sent with ad requests.ImaSettings.sessionIdproperty to set a custom session ID sent with ad requests.ImaSettings.sameAppKeyEnabledproperty to enable Same App Key feature for ad requests on iOS.
- Android:
AudioQuality.channelCount, providing the channel count associated withAudioQuality.
- Update Bitmovin's native Android SDK version to
3.131.0+jason
- Android:
AudioTrack.qualitiesAPI returning empty list when no audio qualities are available
- Update Bitmovin's native iOS SDK version to
3.97.2 - Update Bitmovin's native Android SDK version to
3.128.0+jason - Update IMA SDK dependency on iOS to
3.26.1 - Update IMA SDK dependency on tvOS to
4.15.1 - Update IMA SDK dependency on Android to
3.37.0
- Update Bitmovin's native Android SDK version to
3.123.0 - Update Bitmovin's native iOS SDK version to
3.94.1
- Crash when using
react-native-reanimatedalong withbitmovin-player-react-nativeand playing a live stream - Expo config plugin feature configurations taking no effect
- Example application crash on tvOS simulator
- Introduction of Expo SDK support. Upgrading requires following the Migration Guide.
- React Native New Architecture Support
- Expo Config Plugin to manage native configuration from
app.config.ts. - Automatic configuration for Google Cast, Offline, Picture-in-Picture, AirPlay, and Background Playback through Expo plugin.
- Minimum iOS/tvOS version is now 15.1+ (was 14.0+). Due to a transient React Native minimum iOS/tvOS version change.
- Minimum Android SDK version is now 24 (was 21). Due to a transient React Native minimum Android version change.
- Native setup is now automated through Expo SDK - manual configuration is no longer required for v1.0.0+.
- Update Bitmovin's native Android SDK version to
3.118.0 - Update Bitmovin's native iOS SDK version to
3.93.0 - Android: Add null safety checks to
ReadableMap/ReadableArraycalls inJsonConverter
- Android:
TweaksConfig.shouldApplyTtmlRegionWorkaroundas support for TTML attributes defined in a Region's Style has improved
- Android:
AudioTrack.qualities, providing theAudioQualitys associated with theAudioTrack
- Update Bitmovin's native Android SDK version to
3.115.0 - Update Bitmovin's native iOS SDK version to
3.92.0
- Update Bitmovin's native Android SDK version to
3.112.0 - Update Bitmovin's native iOS SDK version to
3.90.0
SubtitleTrack.rolesandAudioTrack.rolesto list the associatedMediaTrackRoleinformation
- Update react-native-screens to v3.35.0 for Android SDK version compatibility
- Android:
DecoderConfig.decoderPriorityProvider, a callback interface to specify which decoder implementation the Player should use to decode the media
- Update IMA SDK dependency on Android to
3.35.1
- Update Bitmovin's native Android SDK version to
3.104.2 - Update Bitmovin's native iOS SDK version to
3.85.2
CueEnterEvent.imageandCueExitEvent.imageto expose the Base64 encoded image data URI of the cue when available
- Update Bitmovin's native Android SDK version to
3.104.1 - Update Bitmovin's native iOS SDK version to
3.85.0
- Android: App crashes when
mediaControlConfig.isEnabledis set tofalseand the player gets destroyed
- Update Bitmovin's native iOS SDK version to
3.80.0
- Android:
PlayerViewConfig.surfaceTypethat allows to render video on aTextureView
- Update Bitmovin's native Android SDK version to
3.98.0 - Update Bitmovin's native iOS SDK version to
3.79.0
- Android: Controls disappearing post midroll ads on select device by setting background color to
Color.TRANSPARENTon IMA Ad container
- Update Bitmovin's native Android SDK version to
3.96.0
- Android:
TweaksConfig.forceReuseVideoCodecReasonsthat allows to force the reuse of the video codec despite a configuration change. This flag should be set only, if it is known that the codec can handle the given configuration change. DebugConfig.isDebugLoggingEnabledandDebugConfig.setDebugLoggingEnabled(value: boolean)to check and set whether debug logging is enabled. Debug logging helps diagnose problems and trace the flow of execution within the Player and should not be enabled in production as it may log sensitive or confidential information to the console.
- Update Bitmovin's native iOS SDK version to
3.78.0 - Update Bitmovin's native Android SDK version to
3.94.0
- Update Bitmovin's native Android SDK version to
3.92.0
- Error where setting
PlaybackConfig.isAutoplayEnabled = truecauses the player view creation to fail on Android - Potential infinite stall when using
NetworkConfig.preprocessHttpRequestandNetworkConfig.preprocessHttpResponseon Android
MediaControlConfigto configure the media control information for the application. WhenisEnabledistrue, the current media information will be shown on the lock-screen, in notifications, and within the control center- Android:
playerConfig.playbackConfig.isBackgroundPlaybackEnabledto support background playback
- Update Bitmovin's native Android SDK version to
3.91.0
TweaksConfig.updatesNowPlayingInfoCenterin favor ofMediaControlConfig.isEnabled
- Update Bitmovin's native Android SDK version to
3.90.0 - Update Bitmovin's native iOS SDK version to
3.77.0
WebUiConfig.variantto set the UI variant that should be used by the Bitmovin Web UI
- Spatial navigation in the Web UI does not work properly
- Android:
AdaptationConfig.initialBandwidthEstimateOverrideto override the selection of the optimal media tracks before actual bandwidth data is available
- Update Bitmovin's native Android SDK version to
3.82.0 - Update Bitmovin's native iOS SDK version to
3.71.0 - Update IMA SDK dependency on Android to
3.33.0
- Android:
AdItem.preloadOffsetto control when ad manifest gets loaded
- Update Bitmovin's native Android SDK version to
3.78.0 - Update Bitmovin's native iOS SDK version to
3.67.0
player.setMaxSelectableBitrate(null)does not reset the maximum selectable bitrate on iOS and tvOS- Building with Xcode 16 beta due to negative integer overflow error with
UInttype
- Update Google IMA SDK dependencies to
3.23.0for iOS, and to4.13.0for tvOS - Update example app dependency: Google Cast iOS sender SDK to
4.8.1 - Update Bitmovin's native Android SDK version to
3.74.0 - Update Bitmovin's native iOS SDK version to
3.66.0
- Support for
Player.setVideoQuality()API to enable video quality selection on Android
- Update Bitmovin's native Android SDK version to
3.73.0 - Update Bitmovin's native iOS SDK version to
3.65.0
- Missing parameter documentations in the API reference
viewRefproperty toPlayerViewto allow setting a reference to the native view
- iOS: Possible crash on hot-reload
NetworkConfigto configure the network request manipulation functionalitypreprocessHttpRequest(type, request) => Promise<HttpRequest>to pre-process an HTTP request before the request is executed by the playerpreprocessHttpResponse(type, response) => Promise<HttpResponse>to pre-process an HTTP response before it gets passed to the player
- Update Bitmovin's native Android SDK version to
3.72.0 - Update Bitmovin's native iOS SDK version to
3.64.0
- Android: Can't create a new Player with an existing NativeID (to bind to the same native Player)
- iOS: Performance problem with large WebVTT thumbnail or subtitle tracks
- Update Bitmovin's native Android SDK version to
3.68.0 - Update Bitmovin's native iOS SDK version to
3.62.0
- Android: Player Web UI freezing sometimes, under excessive WebUI-RN code messaging
- iOS:
TweaksConfig.updatesNowPlayingInfoCenterto decide whether AVKit should update Now Playing information automatically when using System UI. You may want to disable automatic updates in case they are interfering with manual updates you are performing
- Update Bitmovin's native iOS SDK version to
3.60.0 - Update IMA SDK dependency on iOS to
3.19.1, respectively4.9.2for tvOS
- Android: Entering Picture-in-Picture automatically when navigating the app to the background after activating Picture-in-Picture mode once
- Android: Example app Toolbar not visible after going into PiP mode -> Dismissing PiP window (stopping the app) -> Opening the app again
- Android: Default Picture-in-Picture implementation doesn't automatically hide/show the Toolbar anymore. This should be handled by the app itself, check out the sample app for an example implementation
- Update Bitmovin's native Android SDK version to
3.65.0 - Update Bitmovin's native iOS SDK version to
3.59.0
preferSoftwareDecodingForAdsinTweaksConfigto use software decoding for ads, which can be useful for low-end Android deviceshideFirstFrameinPlayerViewConfigto ensure no frame of the main content is shown before pre-roll ads
- Update Bitmovin's native Android SDK version to
3.64.0
CueEnterEventandCueExitEventto signal when a subtitle entry transitions into an active or inactive status respectively
- Update Bitmovin's native Android SDK version to
3.63.0 - Update Bitmovin's native iOS SDK version to
3.57.2
- Fix potential event name conflicts with other 3rd party libraries
- React Native version to
0.73.4 - Update Bitmovin's native Android SDK version to
3.61.0 - Update Bitmovin's native iOS SDK version to
3.56.3
- Android: Subtitles appear out of frame
- Support for side-loaded SRT (SubRip) subtitles
- Update Bitmovin's native iOS SDK version to
3.55.0
- Remove
patch-packageusage from released product
- Update Bitmovin's native Android SDK version to
3.56.0 - Android: Kotlin version to
1.9.21
- Player (E2E) tests for Android and iOS can now be executed via
yarn integration-test test:androidandyarn integration-test test:iosrespectively
- React Native version to
0.72.6 - React Native peer dependency version to
0.65.0+ - Update Bitmovin's native Android SDK version to
3.54.0 - Android: Kotlin version to
1.8.20
- Android:
onEventcallback not being called onPlayerView - iOS:
onEventon iOS has incomplete payload information - tvOS: Picture in Picture sample screen has unwanted padding
- iOS: hide home indicator when entering fullscreen mode in the example application
- iOS: invalid
loadingStatevalue inSeekEvent,SourceLoadEvent,SourceLoadedEventand inSourceUnloadedEvent
- Android:
PlayerViewdestroys attachedPlayerinstance on destroy.Playerlifecycle must be handled on the creation side
LiveConfig.minTimeshiftBufferDepthto control the minimum buffer depth of a stream needed to enable time shiftingPlayer.bufferto control buffer preferences and to query the current buffer stateDownloadFinishedEventto signal when the download of specific content has finishedPlayer.videoQuality,Player.availableVideoQualities, andVideoDownloadQualityChangedEventto query current video qualities and listen to related changesPlayer.playbackSpeed,Player.canPlayAtPlaybackSpeed,PlaybackSpeedChangedEventto query, control, and listen to changes to the speed of the playback- Support for
UserInterfaceType.Subtitleon Android
- Android: Playback doesn't pause when app goes to background
- Android:
PlayerView.onDestroynot being called when the view is detached from the view hierarchy
- API Reference now can be found here
PlayerViewConfigwith aUiConfigto thePlayerViewto enable configuration of the visual presentation and behaviourPictureInPictureConfigtoPlayerViewConfigto allow configuring the Picture in Picture behaviorPictureInPictureConfig.isEnabledto enable configuring if Picture in Picture is enabledPictureInPictureConfig.shouldEnterOnBackgroundto start Picture in Picture automatically when the app transitions to backgroundonPictureInPictureAvailabilityChangedevent is now emitted on iOS and tvOS in addition to AndroidBufferConfigto configure player buffer depthPlayerView.isPictureInPictureRequestedto programmatically create a Picture in Picture requestPlayerView.scalingModeto allow changing the video scaling mode
- Update IMA SDK dependency on Android to
3.31.0 - Update Bitmovin's native Android SDK version to
3.47.0
PlaybackConfig.isPictureInPictureEnabledin favor ofPictureInPictureConfig.isEnabled
DefaultMetadatafor configuration of the bundled analytics collectorPlayer.analyticsto access theAnalyticsApiand interact with the bundled analytics collectorSourceConfig.analyticsSourceMetadatafor extended configuration of the bundled analytics collector- Google Cast SDK support for Android and iOS
AnalyticsConfigproperties to match the Bitmovin analytics v3 API- Use
jasonbuild of Bitmovin's native Android SDK - Update Bitmovin's native Android SDK version to
3.44.0
AnalyticsCollectorin favor of the bundled analytics functionalityCdnProvider, as the property on theAnalyticsConfigis now astring
Player.getAudioTrackandPlayer.getSubtitleTrackAPIs to get currently selected audio and subtitle tracksSourceConfig.descriptionproperty to allow setting a description for the sourcePlayer.getThumbnailandSource.getThumbnailAPIs to get thumbnail images
- Update Bitmovin's native Android SDK version to
3.43.0
- Offline playback support on Android and iOS
SourceConfig.optionsto enable configuring stream start positionPlayerConfig.adaptationConfigto allow configuring the player's adaptation behaviorPlayer.setMaxSelectableBitrateto allow setting the maximum selectable bitrate on thePlayer
- Update Bitmovin's native iOS SDK version to
3.43.1
- Android: Player sometimes plays sound but doesn't display video nor controls.
- Support for
Player.analyticsCollector.addSourceMetadatato allow updating metadata assigned to the current source - Support for
CustomData.experimentNamefor the A/B testing support with Bitmovin Analytics - iOS, tvOS: Support for configuring UI type via
StyleConfig.userInterfaceType
- Update Bitmovin's native iOS SDK version to
3.42.0
- Android: Player sometimes plays sound but no video
- Support for programmatic fullscreen request (
PlayerView.isFullscreenRequested)
- Update Bitmovin's native iOS SDK version to
3.41.2 - Update Bitmovin's native Android SDK version to
3.40.0 - Update IMA SDK dependency on iOS to
3.18.4, respectively4.8.2for tvOS - Update IMA SDK dependency on Android to
3.29.0
- Android: Sporadic black screen after initialization
- Android: None of the Player Web UI menu items work (anything that triggers a native UI pop up)
- Support for
Player.timeShiftandtimeShiftrelated events
- Project forces the usage of specific
react-nativeversion
- Support for
SourceConfig.metadataandSource.metadatato allow passing custom metadata to the Player UI - Support for
CustomMessageHandlerto allow two-way communication between the Player UI and the React Native app
- Android module build issues
- Support for programmatic audio and subtitle track selection. (Thanks to @joornby-angel)
- Custom header support for DRM playback on Android.
- Support for keeping the DRM session alive for consecutive DRM protected sources on Android.
- Update Bitmovin's native iOS SDK version to
v3.36.0. - Update Bitmovin's native Android SDK version to
v3.35.0.
- Fix missing export of
FullscreenHandlerto allow fullscreen support to be integrated.
This version introduces analytics integration, fullscreen support and customizing the Player UI.
- Built-in Bitmovin Analytics integration.
FullscreenHandlersupport.- Bitmovin Player Web UI customization via
styleConfigproperty on player creation.
0.4.0 - 2022-11-24
This version introduces the advertising API, full Picture in Picture support and exposes Stall events.
- Advertising API support.
- Complete Picture in Picture support.
onStallStarted/onStallEndedevents support. (Thanks to @joornby-angel)
0.3.1 - 2022-10-26
Adds tweaks configuration support.
- Support for setting
TweaksConfigon both Android and iOS.
0.3.0 - 2022-10-13
Adds support for tvOS projects and ability to customize the default playback behavior of Player objects.
- Custom playback configuration option as
PlayerConfig.playbackConfig. (Thanks to @jonathanm-tkf)
- Update Bitmovin's native iOS SDK version to
v3.28.0. - Update Bitmovin's native Android SDK version to
v3.24.2. - Setup a new tvOS target on example app's
.xcodeprojfile. - Replace
react-nativewithreact-native-tvoson the example app.
- Fix pod installation error on tvOS projects by adding
:tvos => 12.4to the list of supported platforms.
0.2.1 - 2022-09-19
Fixes an NPM installation issue.
- Fix installation error caused by wrong husky setup when fetching package from NPM.
0.2.0 - 2022-08-23
Adds support for DRM playback on Android (Widevine only) and iOS (FairPlay only), as well as configuring external subtitle tracks for a stream source.
- Basic DRM playback support.
- External subtitle tracks option on the source configuration.
- Support for listening subtitle track events via
PlayerView's component props. Player.getAvailableSubtitles()method for fetching the available subtitle tracks in the player's active source.
- Setup a list of examples in the example app using React Navigation.
- Fix error caused when navigating back from screens containing a
PlayerViewchild.
0.1.0 - 2022-07-11
Adds support for basic playback using Bitmovin's Web UI as the default (and only) player UI. No support for custom UI yet.
- Native react component bridge to SDKs
PlayerView. - Minimal set of Player APIs through
PlayerandusePlayerconstructs. - Support for listening most of
PlayerandSourceevents viaPlayerView's component props. - Simple React Native app to exemplify and test library features in development.