360 degree camera mode
Quickplay player now supports 360 degree camera mode for live channels and events. The 360 playback mode is a separate stream itself. The idea is to enable this feature in a specific channel with a limited period or particular slot.
Content authorization
A PlatformAsset for 360 Degree camera supported content should be constructed with playbackMode = "live360".
// create asset
val platformAsset = PlatformAsset(
...,
playbackMode = "live360"
)
Playback auth response
The live360 mode enabled content gets additional params in the playback auth response.
| Name | Type | Description |
|---|---|---|
| live360StartTime | String | The start time for 360 degree stream in ISO8601 format. |
| live360EndTime | String | The end time for 360 degree stream in ISO8601 format. |
| live360Enabled | Boolean | The flag indicates whether the 360 degree camera is enabled for the content. |
| live360ContentId | String | The unique identifier of the 360 degree content or the resource identifier. |
Setup heartbeat
To extend support for the 360 Degree camera feature, HeartbeatManager now accepts a couple of additional params.
| Name | Type | Description |
|---|---|---|
| live360StartTime | String | The start time for 360 degree stream in ISO8601 format. |
| live360EndTime | String | The end time for 360 degree stream in ISO8601 format. |
val heartbeatManager = HeartbeatFactory.createHeartbeatManager(
...,
heartbeatConfiguration,
live360StartTime = contentAuthToken.live360StartTime,
live360EndTime = contentAuthToken.live360EndTime
)
Listen for stream events
The client application is notified with LIVE_360_AVAILABLE and LIVE_360_UNAVAILABLE events through streamTimelineEvent of the onEventReceived callback in playerListener.
override fun onEventReceived(
streamTimelineEvent: StreamTimelineEvent,
suggestedAction: Action,
streamTimelineMetadata: StreamTimelineMetadata?
) {
when (streamTimelineEvent) {
StreamTimelineEvent.LIVE_360_AVAILABLE -> {
//Show 360 icon
}
StreamTimelineEvent.LIVE_360_UNAVAILABLE -> {
//Hide 360 icon
}
}