TVSDK根據特定問題處理時間範圍錯誤,合併或重新排序未正確定義的時間範圍。
TVSDK處理 timeRanges
執行預設合併和重新排序時出錯。 首先,它按 開始 時間。 根據此排序順序,它合併相鄰範圍,並在範圍之間存在子集和交叉點時將其連接。
TVSDK按如下方式處理時間範圍錯誤:
timeRange
在衝突組中。TVSDK處理與ad元資料的信令模式衝突,如下所示:
當伺服器未返回有效時 AdBreaks
:
NOPTimelineOperation
為空 AdBreak
。 沒有廣告。對於具有即時流的時間範圍:
TVSDK通過合併或替換適當的時間範圍來響應錯誤的時間範圍規範。
在以下示例中,定義了四個相交的DELETE時間範圍。 TVSDK將四個時間範圍合併為一個,因此實際刪除範圍是0到50s。
"time-ranges": {
"type": "delete",
"time-range-list": [ {
"begin": 10000,
"end": 35000
}, {
"begin": 20000,
"end": 50000
}, {
"begin": 0,
"end": 30000
}, {
"begin": 30000,
"end": 40000
} ]
}
在下例中,四個REPLACE時間範圍定義為衝突的時間範圍。 在這種情況下,TVSDK用25個廣告代替0到50個。 它與排序順序中的第一個替換持續時間相同,因為後續範圍記憶體在衝突。
"time-ranges": {
"type": "replace",
"time-range-list": [ {
"begin": 10000,
"end": 35000,
"replace-duration": 15000
}, {
"begin": 20000,
"end": 50000,
"replace-duration": 20000
}, {
"begin": 0,
"end": 30000,
"replace-duration": 25000
}, {
"begin": 30000,
"end": 40000,
"replace-duration": 30000
} ]
}