Skip to content

Releases: kaltura/playkit-android-smartSwitch

v4.22.0

15 Mar 10:50
Compare
Choose a tag to compare

Changes from v4.21.1

KalturaPlayer Support

v4.22.0

Internal Fix

  • FEC-12017 | Javadoc Enablement (#10)

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.22.0'

Samples

v4.21.1

03 Mar 16:25
Compare
Choose a tag to compare

Changes from v4.21.0

KalturaPlayer Support

v4.21.1

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.21.1'

Samples

v4.21.0

01 Mar 00:34
Compare
Choose a tag to compare

Changes from v4.20.1

KalturaPlayer Support

v4.21.0

Features

  • FEC-11898 | Add support in new smart-switch URL request format (#8)

  • FEC-11959 | Rename smartSwitchUrl to domainUrl (#9)
    Breaking Change : Now while configuring SmartSwitchConfig, if you are configuring OptionalParams HashMap then now OptionalParams is the 2nd parameter of the SmartSwitchConfig constructor.

    Example:
    val smartSwitchConfig = SmartSwitchConfig("Account", optionalParams, "App", "smartSwitchDomain")

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.21.0'

Samples

v4.20.1

04 Jan 20:35
Compare
Choose a tag to compare

Changes from v4.19.0

KalturaPlayer Support

v4.20.1

Upgrades

  • FEC-11715 | Compile SDK version to 31 | Gradle to v7 | Kotlin Version to v1.5.20 (#5)

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.20.1'

Samples

v4.19.0

17 Nov 21:34
Compare
Choose a tag to compare

Changes from v4.18.0

KalturaPlayer Support

v4.19.0

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.19.0'

Samples

v4.18.0

27 Oct 04:46
Compare
Choose a tag to compare

Changes from v4.17.0

KalturaPlayer Support

v4.18.0

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.18.0'

Samples

v4.17.0

20 Sep 10:06
Compare
Choose a tag to compare

Changes from v4.16.0

KalturaPlayer Support

v4.17.0

Bug Fixes

  • FEC-11495 | Returning CDNList information containing cdn code from executor and firing cdnSwitched event with the new cdnCode payload

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.17.0'

Samples

v4.16.0

15 Aug 08:06
Compare
Choose a tag to compare

Changes from v4.15.0

KalturaPlayer Support

v4.16.0

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.16.0'

Samples

v4.15.0

20 Jun 08:05
Compare
Choose a tag to compare

First Release

Features

  • FEC-10993 | SmartSwitch Enablement

This plugin is built upon Kaltura Player.
In case player issue an API call towards the Youbora smart-switch service, which will return an ordered list of CDNs.
The plugin will pick the first one and use the url inside for the playback.

In case of error the original url that was retrieved from the the BE will be used and a non-fatal SMART_SWITCH Error will be fired to the
app

Plugin Config

        // SmartSwitch Configuration
        val pkPluginConfigs = PKPluginConfigs()
        val optionalParams: HashMap<String, String> = HashMap()
        optionalParams.put("OPTION_PARAM_KEY_1", "OPTION_PARAM_VALUE_1")
        optionalParams.put("OPTION_PARAM_KEY_2", "OPTION_PARAM_VALUE_2")

        val smartSwitchConfig = SmartSwitchConfig("YOUR_ACCOUNT_CODE", "YOUR_ORIGIN_CODE", optionalParams)
        pkPluginConfigs.setPluginConfig(SmartSwitchPlugin.factory.name, smartSwitchConfig)

        playerInitOptions.setPluginConfigs(pkPluginConfigs)
/** * Create SmartSwitch Config object
 *
 * @param accountCode Mandatory: YOUBORA account code
 * @param originCode Mandatory: CDN group configured to select a subset of configured CDNs
 * @param optionalParams Optional: 
*                          Ex. ip(String), extraData(Boolean), userAgent(String), 
*                          live(Boolean), nva(Not Valid After timestamp in UTC +1, Integer), 
*                          nvb(Not  Valid  Before  timestamp  in  UTC +1,Integer), token(String) 
* @param smartSwitchUrl Optional: SmartSwitch server url 
* 
* @return SmartSwitchConfig
*/data class SmartSwitchConfig @JvmOverloads constructor(@NonNull val accountCode: String? = null,                                                       @NonNull val originCode: String? = null, 
                                                      val optionalParams: HashMap&lt;String, String&gt;? = null,  
                                                     var smartSwitchUrl: String? = null) { 
  init {     
   if (smartSwitchUrl.isNullOrEmpty() || !URLUtil.isNetworkUrl(smartSwitchUrl)) {   
         smartSwitchUrl = "http://cdnbalancer.youbora.com/orderedcdn"  
      }   
 }}

Error Listener

  player?.addListener(this, SmartSwitchEvent.error) { event ->
            Log.i(TAG, "SmartSwitch ERROR " + event.errorMessage)
        }

Plugin's Version

  • implementation 'com.kaltura.playkit:smartswitchplugin:4.15.0'

Samples