TVSDK會根據特定問題處理時間範圍錯誤,或合併或重新排序未正確定義的時間範圍。
TVSDK會執行預設合併和重新排序,處理timeRanges
錯誤。 首先,它會依begin時間對客戶定義的時間範圍進行排序。 根據這種排序順序,它然後合併相鄰範圍,如果範圍之間有子集和交集,則將其連接。
TVSDK可處理下列時間範圍錯誤:
timeRange
選擇取代持續時間。TVSDK可處理與廣告中繼資料的訊號模式衝突,如下所示:
當伺服器未返回有效的AdBreaks
時:
AdBreak
產生並處理NOPTimelineOperation
。 沒有廣告播放。對於具有即時串流的時間範圍:
TVSDK會根據需要合併或取代時間範圍,以回應錯誤的時間範圍規格。
在下例中,定義了四個相交的DELETE時間範圍。 TVSDK將4個時間範圍合併為1,因此實際刪除範圍是0-50秒。
"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
} ]
}