Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Conviva
- Report average bitrate from activeQualityChange event.
- Report streamActivityMonitorId from theoads AdDescription and GoogleDAIConfiguration.

## [10.2.0] - 2025-10-09

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,18 +236,35 @@ class PlayerHandler {
func updateMetadata() {
log("handling updateMetadata")
guard let convivaSessionSource = self.currentConvivaSession.source,
let url = self.currentConvivaSession.source?.url as? String else {
let url = convivaSessionSource.url else {
return
}

let metadata: [String: Any] = [
var metadata: [String: Any] = [
CIS_SSDK_METADATA_PLAYER_NAME: self.storage?.metadataEntryForKey(CIS_SSDK_METADATA_PLAYER_NAME) ?? Utilities.playerName,
CIS_SSDK_METADATA_STREAM_URL: url,
CIS_SSDK_METADATA_ASSET_NAME: convivaSessionSource.description.metadata?.title ?? Utilities.defaultStringValue,
]

let adDescriptionMetadata: [String: Any] = collectAdDescriptionMetadata(from: convivaSessionSource.description)
metadata.merge(adDescriptionMetadata) { (_, new) in new }

self.setContentInfo(metadata)
}

private func collectAdDescriptionMetadata(from sourceDescription: SourceDescription) -> [String: Any] {
var metadata: [String: Any] = [:]
if let theoAdDescription = sourceDescription.ads?.first as? THEOAdDescription,
Comment thread
wvanhaevre marked this conversation as resolved.
Outdated
let streamActivityMonitorId = theoAdDescription.streamActivityMonitorId {
metadata["streamActivityMonitorId"] = streamActivityMonitorId
} else if let daiConfiguration = sourceDescription.sources.first?.ssai as? GoogleDAIConfiguration,
let streamActivityMonitorId = daiConfiguration.streamActivityMonitorID {
metadata["streamActivityMonitorId"] = streamActivityMonitorId
return metadata
}
return metadata
}

func durationChange(event: DurationChangeEvent) {
log("handling durationChange")
var metadata: [String: Any] = [:]
Expand Down