Releases: kaltura/playkit-android
v4.22.4
Changes from v4.22.0
Bug Fix (Patch for v4.22.0)
- FEC-12321 | Offline: checkAssetStatus is not returning correct status for Clear media asset served with DRM license (#786 )
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.22.4'
-
implementation 'com.kaltura.playkit:playkitproviders:4.22.4'
-
implementation 'com.kaltura.playkit:youboraplugin:4.22.4'
-
implementation 'com.kaltura.playkit:imaplugin:4.22.4'
-
implementation 'com.kaltura.playkit:kavaplugin:4.22.4'
-
implementation 'com.kaltura.playkit:vrplugin:4.22.4'
-
implementation 'com.kaltura.playkit:googlecast:4.22.0'
ExoPlayer v2.17.1
v4.22.1
v4.23.0
Changes from v4.22.0
Features
-
FEC-12094 | Support In-stream Playready DRM license (#779)
Sets whether to force use the default DRM license server URL even if the media specifies its
own DRM license server URL.Use the following player settings with Playready media URL if all license key requests will specify their own URL.
player.getSettings().setDRMSettings(new DRMSettings(PKDrmParams.Scheme.PlayReadyCENC).setIsForceDefaultLicenseUri(false));
-
FEC-12063 | Only for HLS content, exposed
allowChunklessPreparation
onPlayerSettings
. Default istrue
. (#780)player.getSettings().allowChunklessPreparation(false);
-
FEC-12253 | Exposed PlayerEvent
eventStreamChanged
to access SCTE-35 event streams (#783)player.addListener(this, PlayerEvent.eventStreamChanged, event -> { // Use `event` object to receive the payload });
Bug Fix
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.23.0'
-
implementation 'com.kaltura.playkit:playkitproviders:4.23.0'
-
implementation 'com.kaltura.playkit:youboraplugin:4.23.0'
-
implementation 'com.kaltura.playkit:imaplugin:4.23.0'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.23.0'
-
implementation 'com.kaltura.playkit:kavaplugin:4.23.0'
-
implementation 'com.kaltura.playkit:vrplugin:4.23.0'
-
implementation 'com.kaltura.playkit:googlecast:4.23.0'
ExoPlayer v2.17.1
v4.22.0
Changes from v4.21.1
Upgrades
-
FEC-11987 | ExoPlayer upgrade to v2.17.1 (#776)
Breaking Change
Player.EventListener
is changed toPlayer.Listener
forPlaybackControlsView
sample reference
Critical parts touched during this upgrade
-
Check Dash Thumbnail Images [Kaltura-Player] See the migration guide to Kaltura-Player
-
Check External Thumbnail Images
-
DRM content Playback (Online/Offline)
-
Text/Video/Audio Track Selection
-
HLS content playback
-
Dolby Vision Content playback
Internal Fix
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.22.0'
-
implementation 'com.kaltura.playkit:playkitproviders:4.22.0'
-
implementation 'com.kaltura.playkit:youboraplugin:4.22.0'
-
implementation 'com.kaltura.playkit:imaplugin:4.22.0'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.22.0'
-
implementation 'com.kaltura.playkit:kavaplugin:4.22.0'
-
implementation 'com.kaltura.playkit:vrplugin:4.22.0'
-
implementation 'com.kaltura.playkit:googlecast:4.22.0'
ExoPlayer v2.17.1
v4.21.1
Changes from v4.21.0
Bug Fix
- FEC-11428 | Handle ConcurrentModificationException in message bus (#775)
- FEC-12011 | Remove warning from logcat (#774)
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.21.1'
-
implementation 'com.kaltura.playkit:playkitproviders:4.21.1'
-
implementation 'com.kaltura.playkit:youboraplugin:4.21.1'
-
implementation 'com.kaltura.playkit:imaplugin:4.21.1'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.21.1'
-
implementation 'com.kaltura.playkit:kavaplugin:4.21.1'
-
implementation 'com.kaltura.playkit:vrplugin:4.21.1'
-
implementation 'com.kaltura.playkit:googlecast:4.21.1'
ExoPlayer v2.16.1
v4.19.4
Changes from v4.19.0
Bug Fix (Patch)
- FEC-11428 - Handle ConcurrentModificationException in message bus
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.19.4'
-
implementation 'com.kaltura.playkit:playkitproviders:4.19.4'
-
implementation 'com.kaltura.playkit:youboraplugin:4.19.4'
-
implementation 'com.kaltura.playkit:imaplugin:4.19.4'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.19.4'
-
implementation 'com.kaltura.playkit:kavaplugin:4.19.4'
-
implementation 'com.kaltura.playkit:vrplugin:4.19.4'
-
implementation 'com.kaltura.playkit:googlecast:4.19.4'
ExoPlayer v2.15.1
v4.21.0
Changes from v4.20.1
Feature
-
FEC-9760 | Playready Support (#767)
Default is WidvineCencNew
DRMSettings
Class introduced:public class DRMSettings { private PKDrmParams.Scheme drmScheme; private boolean isMultiSession = false; private boolean isForceDefaultLicenseUri = false; private boolean isAllowClearlead = true; private boolean isForceWidevineL3Playback = false; }
In order to play Playready please use:
player.getSettings().setDRMSettings(new DRMSettings(PKDrmParams.Scheme.PlayReadyCENC));
-
FEC-11578 | AdLayout config for LiveMedia (#768)
Important: IMAPlugin must be active to enable this feature.
This feature is only supported in Kaltura-Player
See the migration guide to Kaltura-PlayerNOTE: There are many more feature available. Please go to AdLayout Documentation to know more.
Upgrades
-
FEC-11741 | ExoPlayer Upgrade to v2.16.1 (#771)
Critical parts touched during this upgrade
- In-stream Dash Image thumbnails (Kaltura-Player)
- Offline Player (Kaltura-Player)
- Low latency live streams
- External Subtitles
- ABR
- Different Video Codecs
- Audio only content
- VR Medias with/without subtitles
- DRM content Playback
Please upgrade the DTG v2.6.14
Bug Fix
- FEC-11839 | Fire AdError with
AD_WATERFALLING_FAILED
event for AdLayout (#764) - FEC-11852 | Video tracks are not added to tracks list in case
allowMixedCodecs
+ HLS stream (#765) - FEC-11868 | Keep the filtered audio tracks once the mixed codecs config is not allowed (#766)
- FEC-11941 | Fix wrong video index reported on resume from BG if using ABR settings and video track was changed before by app (#770)
- FEC-11954 | Fixed
setDefault
API forPKExternalSubtitle
(#772) - FEC-11980 | Fixed Subtitles' preference on
PlayerSettings
(INTERNAL or EXTERNAL)
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.21.0'
-
implementation 'com.kaltura.playkit:playkitproviders:4.21.0'
-
implementation 'com.kaltura.playkit:youboraplugin:4.21.0'
-
implementation 'com.kaltura.playkit:imaplugin:4.21.0'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.21.0'
-
implementation 'com.kaltura.playkit:kavaplugin:4.21.0'
-
implementation 'com.kaltura.playkit:vrplugin:4.21.0'
-
implementation 'com.kaltura.playkit:googlecast:4.21.0'
ExoPlayer v2.16.1
v4.20.1
Changes from v4.19.0
Feature
- FEC-11577 | Advertisement Layout Management
With Ad layout config, apps can create its own Ad break timeline using VAST tags. Ad break can be set as Pre, Mid and Post rolls and each Ad break can contain a single VAST tag or multiple tags, either as a AdPod, but also as a Waterfall.
Important: IMAPlugin must be active to enable this feature.
- This feature is only supported in Kaltura-Player
See the migration guide to Kaltura-Player
Ad Layout Setup:
Application can pass the configuration before calling loadMedia
on the player.
player?.setAdvertisingConfig(...)
player?.loadMedia(...)
There are 2 ways to pass the AdvertisingConfig
,
- As an object of
AdvertisingConfig
- As JSON object
// Create list of VAST URL
val prerollAd = listOf(PRE_ROLL_VAST_URL)
// Create Preroll AdPod
val prerollAdPod = listOf(prerollAd)
// Create AdBreak (Preroll)
val prerollAdBreak = AdBreak(AdBreakPositionType.POSITION, 0, prerollAdPod)
// Create list of VAST URL
val midrollAd = listOf(MID_ROLL_VAST_URL)
// Create Midroll AdPod
val midrollAdPod = listOf(midrollAd)
// Create AdBreak (Midroll)
val midrollAdBreak = AdBreak(AdBreakPositionType.POSITION, 15, midrollAdPod)
// Create list of VAST URL
val postrollAd = listOf(POST_ROLL_VAST_URL)
// Create Postroll AdPod
val postrollAdPod = listOf(postrollAd)
// Create AdBreak (Postroll)
val postrollAdBreak = AdBreak(AdBreakPositionType.POSITION, -1, postrollAdPod)
var advertisingConfig = AdvertisingConfig(listOf(prerollAdBreak, midrollAdBreak, postrollAdBreak), AdTimeUnit.SECONDS)
OR
"advertisingConfig": {
"advertising": [
{
"adBreakPositionType": "POSITION",
"position": 0,
"ads": [
[
"PREROLL"
]
]
},
{
"adBreakPositionType": "POSITION",
"position": 15,
"ads": [
[
"MIDROLL"
]
]
},
{
"adBreakPositionType": "POSITION",
"position": -1,
"ads": [
[
"POSTROLL"
]
]
}
],
"adTimeUnit": "SECONDS"
}
NOTE: There are many more feature available. Please go to AdLayout Documentation to know more.
Upgrades
Bug Fix
- FEC-11765 | Validate low latency values before apply it to
MediaItem
(#756) - FEC-11735 | Fixed default selected track in case of external subtitles (#755)
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.20.1'
-
implementation 'com.kaltura.playkit:playkitproviders:4.20.1'
-
implementation 'com.kaltura.playkit:youboraplugin:4.20.1'
-
implementation 'com.kaltura.playkit:imaplugin:4.20.1'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.20.1'
-
implementation 'com.kaltura.playkit:kavaplugin:4.20.1'
-
implementation 'com.kaltura.playkit:vrplugin:4.20.1'
-
implementation 'com.kaltura.playkit:googlecast:4.20.1'
ExoPlayer Version v2.15.1
v4.19.0
Changes from v4.18.0
Feature
- FEC-11665 | Added SourceUrlSwitched Event to Interceptor Event class [Only for Kaltura-Player] (#751)
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.19.0'
-
implementation 'com.kaltura.playkit:playkitproviders:4.19.0'
-
implementation 'com.kaltura.playkit:youboraplugin:4.19.0'
-
implementation 'com.kaltura.playkit:imaplugin:4.19.0'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.19.0'
-
implementation 'com.kaltura.playkit:kavaplugin:4.19.0'
-
implementation 'com.kaltura.playkit:vrplugin:4.19.0'
-
implementation 'com.kaltura.playkit:googlecast:4.19.0'
ExoPlayer Version v2.15.1
v4.18.0
Changes from v4.17.0
Feature
- FEC-11263 | In case of mixed audio codecs settings and also mixed codecs served on same group then avoid mixed codecs filter (#748)
Application can use setAllowMixedCodecs
API on AudioCodecSettings
object and can pass it to setPreferredAudioCodecSettings
in PlayerSettings.
player.getSettings().setPreferredAudioCodecSettings(new AudioCodecSettings().setAllowMixedCodecs(true));
Upgrade
Bug Fix
Plugin's Version
-
implementation 'com.kaltura.playkit:playkit:4.18.0'
-
implementation 'com.kaltura.playkit:playkitproviders:4.18.0'
-
implementation 'com.kaltura.playkit:youboraplugin:4.18.0'
-
implementation 'com.kaltura.playkit:imaplugin:4.18.0'
-
implementation 'com.kaltura.playkit:fbadsplugin:4.18.0'
-
implementation 'com.kaltura.playkit:kavaplugin:4.18.0'
-
implementation 'com.kaltura.playkit:vrplugin:4.18.0'
-
implementation 'com.kaltura.playkit:googlecast:4.18.0'