Added support for using a different CDN domain for playlists.
Added support for PCastUri in tokens.
Added support for channel/room alias or ID in tokens.
Improved network usage.
Improved video performance and compatibility
Fixed chat room’s messages loss in case of network issues.
Fixed late PhenixChannelExpress.joinChannel callback call in case of network issues.
Updated third-party library dependencies, including update to address potential expat vulnerability
Removed hardcoded TLS certificate and RSA key
ARMv7 and ARMv7s architectures are no longer supported (iOS only)
Notes for both SDK platforms
CDN Domain support
The SDK can now send HTTP requests to URLs that redirect to non-Phenix CDNs for replays or for VOD playlists.
To use alternate CDN domains, use the capability cdn-domain on viewing channels, with the CDN domain as its value. Do not include the protocol prefix (e.g., https://) in the value. For example: cdn-domain=mycdn.mycompany.com
The platform will replace the default streaming domain with the specified CDN domain in playlist URLs for the primary manifest of the content.
PCast URI in tokens
A PCast URI contained in the token will now be used instead of a URI passed as a parameter. Putting the URI in the token is now the preferred behavior, and passing in a PCast URI as a parameter is now deprecated. To include the URI in the token, add the uri capability as described in the EdgeAuth library documentation.
If the token contains a URI that differs from the one passed as a parameter, the URI from the token is used and a warning is written to the log.
Room/Channel ID/Alias in tokens
A room/channel ID or alias passed in the token will be used to join the respective room or channel. As with the PCast URI, putting the Room or Channel ID or Alias in the token is now the preferred behavior, and passing in that information as a parameter is now deprecated and will generate a deprecation warning in the log. To include the Room or Channel information in the token, add the roomId, channelId, roomAlias or channelAlias capability as described in the EdgeAuth library documentation.
If a value is provided both as a direct parameter and in the token, the values must match; otherwise the operation will fail.
Improved network usage
When using previous releases, Room members rejoining after network changes would sometimes cause zombie room members. This has been improved and the behavior in case of network changes is more consistent.
In addition, network usage is reduced when downloading stream replay segments.
Fixed chat room messages loss in case of network issues
Previously, any messages still cached by the SDK during reconnection after a network change were silently discarded. Now they are preserved and will be returned by the next call to GetLastMessages. In addition, an issue has been fixed where new messages were discarded instead of old ones when there were many cached and incoming messages.
Upon lost network connectivity, the SDK will now keep trying to reconnect instead of ceasing to retry after a few minutes.
To get the Android SDK:
Update the Phenix SDK version in build.gradle file to `2022.0.3`
To get the iOS SDK:
Update the Phenix SDK version in Podfile to `2022.0.3`
Or contact Phenix for the iOS SDK download location.