Skip to content

Commit

Permalink
Finish 3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
dweinber committed Nov 25, 2022
2 parents adc38ec + b18f7e5 commit fe5698f
Show file tree
Hide file tree
Showing 32 changed files with 734 additions and 575 deletions.
2 changes: 1 addition & 1 deletion BitmovinConvivaAnalytics.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'BitmovinConvivaAnalytics'
s.version = '2.0.1'
s.version = '3.0.0'
s.summary = 'Conviva Analytics Integration for the Bitmovin Player iOS SDK'

s.description = <<-DESC
Expand Down
2 changes: 1 addition & 1 deletion BitmovinConvivaAnalytics/Assets/BitmovinConviva-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<plist version="1.0">
<dict>
<key>CFBundleShortVersionString</key>
<string>2.0.1</string>
<string>3.0.0</string>
</dict>
</plist>
55 changes: 38 additions & 17 deletions BitmovinConvivaAnalytics/Classes/ContentMetadataBuilder.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,28 @@ public struct MetadataOverrides {
public init() {}
}

class ContentMetadataBuilder {
class ContentMetadataBuilder : CustomStringConvertible {
let logger: Logger
var contentMetadata: CISContentMetadata
var contentInfo: [String: Any]

// internal metadata fields to enable merging / overriding
var metadataOverrides: MetadataOverrides = MetadataOverrides()
var metadata: MetadataOverrides = MetadataOverrides()
var playbackStarted: Bool = false

var description: String {
return """
<\(type(of: self)): \
contentMetadata = \(contentMetadata) \
metadata = \(metadata) \
metadataOverrieds = \(metadataOverrides) \
playbackStarted = \(playbackStarted)>
"""
}

init(logger: Logger) {
self.logger = logger
contentMetadata = CISContentMetadata()
contentInfo = [String: Any]()
}

public func setOverrides(_ metadataOverrides: MetadataOverrides) {
Expand All @@ -56,35 +66,46 @@ class ContentMetadataBuilder {
self.playbackStarted = playbackStarted
}

public func build() -> CISContentMetadata {
public func build() -> [String: Any] {
if !playbackStarted {
// Asset name is only allowed to be set once
if contentMetadata.assetName == nil {
contentMetadata.assetName = assetName
if contentInfo[CIS_SSDK_METADATA_ASSET_NAME] == nil {
contentInfo[CIS_SSDK_METADATA_ASSET_NAME] = assetName
}

contentMetadata.viewerId = viewerId
contentMetadata.applicationName = applicationName
contentInfo[CIS_SSDK_METADATA_VIEWER_ID] = viewerId
contentInfo[CIS_SSDK_METADATA_PLAYER_NAME] = applicationName

if let type = streamType {
contentMetadata.streamType = type
contentInfo[CIS_SSDK_METADATA_IS_LIVE] = type
== StreamType.CONVIVA_STREAM_LIVE ? NSNumber(value: true) : NSNumber(value: false)
}
if let duration = self.duration {
contentMetadata.duration = duration
if let duration = self.duration, duration > 0 {
contentInfo[CIS_SSDK_METADATA_DURATION] = duration
}
if let custom = self.custom {
contentMetadata.custom = NSMutableDictionary(dictionary: custom)
contentInfo.merge(custom, uniquingKeysWith: {(_, new) in new})
}
} else {
if let duration = self.duration, duration > 0 {
if let newDuration = contentInfo[CIS_SSDK_METADATA_DURATION] as? Int {
if newDuration == 0 {
contentInfo[CIS_SSDK_METADATA_DURATION] = duration
}
}

}
}

if let framerate = encodedFramerate {
contentMetadata.encodedFramerate = framerate
contentInfo[CIS_SSDK_METADATA_ENCODED_FRAMERATE] = framerate
}

contentMetadata.defaultResource = defaultResource
contentMetadata.streamUrl = streamUrl
contentInfo[CIS_SSDK_METADATA_DEFAULT_RESOURCE] = defaultResource

contentInfo[CIS_SSDK_METADATA_STREAM_URL] = streamUrl

return contentMetadata
return contentInfo
}

public var assetName: String? {
Expand Down Expand Up @@ -172,7 +193,7 @@ class ContentMetadataBuilder {
metadataOverrides = MetadataOverrides()
metadata = MetadataOverrides()
playbackStarted = false
contentMetadata = CISContentMetadata()
contentInfo = [String: Any]()
}

// Values from dict2 will override value from dict1
Expand Down
Loading

0 comments on commit fe5698f

Please sign in to comment.