Skip to content

[Tizen 2020] Problem with stream start for CSAI streams #1701

@mkochman

Description

@mkochman

Hi,
I get quite strange behaviour only on Tizen 2020 and CSAI streams with ads, the stream doesn't start, it gets stuck in seeking.

Logic flow looks like that:

  • Get main stream info from API
  • Get ads info from API
  • Add main video element and load
  • If ads then stop main video, remove video element and start ad break
  • Add ad video element, set ad source etc.
  • Run ads...
  • End ad break
  • Remove ad video element
  • Add main video element
  • Set main stream and reload

Only Tizen 2020 have this issue, tried with Tizen 2018/2019, Webos 2018-2020, etc. and it works perfectly there.

Data from console:

416555.00 [log] AVSB: pushing segment video video P: 1 A: 3 R: video=2439078 S: init
console.ts:40 416570.70 [log] SBI: receiving order to push data to the SourceBuffer video
console.ts:40 416585.00 [log] SBI: updating codec video/mp4;codecs="avc1.4D401F"
console.ts:40 416599.30 [log] SBI: re-setting appendWindowEnd to Infinity
console.ts:40 416612.10 [log] SBI: pushing segment video
console.ts:40 416627.70 [log] SQ: no more init segment to request. Cancelling queue. video
console.ts:40 416643.30 [log] SF: Segment request cancelled video P: 1 A: 3 R: video=2439078 S: init
console.ts:40 416657.10 [log] SF: Segment request ended with success video P: 1 A: 3 R: video=2439078 S: init
console.ts:40 ---- {appConfig: {…}, playbackConfig: {…}, userConfig: {…}, trackers: {…}, features: {…}, …}
console.ts:40 [WebPlayerManagerDebugger] ⏩ Player state is "SEEKING"
console.ts:40 416754.50 [log] API: current media element state tick event internal-seeking position 0.001 seeking 1 internalSeek true rebuffering false freezing false ended false paused true playbackRate 1 readyState 3 pendingPosition null
console.ts:40 416762.00 [log] API: current playback timeline:
0.00|==1.92==|1.92
^0.001
seeking
console.ts:40 416766.00 [log] SI: synchronizing video buffered ranges: 0-1.92
console.ts:40 416770.40 [log] SI: synchronizing audio buffered ranges: 0-3.806
console.ts:40 416777.00 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 416790.00 [info] MMSI: Merging 2 segments together for perf audio
console.ts:40 416793.90 [log] SBI: pushing segment audio
console.ts:40 416797.50 [log] SI: Pushing segment strictly after previous one. audio 1.92 1.886
console.ts:40 416808.20 [log] SI: synchronizing audio buffered ranges: 0-3.806
console.ts:40 416819.10 [log] SI: found true buffered end audio 3.806 3.84
console.ts:40 416830.50 [log] SI: current audio inventory timeline:
0.00|A|3.84
[A] P: 1 || R: audio=128000(128000)
console.ts:40 416874.20 [log] AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 3 R: video=2439078 S: 1.92-1.92
console.ts:40 416889.20 [log] AVSB: pushing segment video video P: 1 A: 3 R: video=2439078 S: 1.92-1.92
console.ts:40 416906.70 [log] SBI: receiving order to push data to the SourceBuffer video
console.ts:40 416920.90 [log] SF: Segment request ended with success video P: 1 A: 3 R: video=2439078 S: 1.92-1.92
console.ts:40 416933.40 [log] ABR: New last stable representation 2439078
console.ts:40 416946.50 [log] SF: Beginning request video P: 1 A: 3 R: video=2439078 S: 3.84-1.92
console.ts:40 416964.10 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-video=2439078-2304.dash type=arraybuffer to=30 cto=15
console.ts:40 417021.40 [info] Init: Updating duration 2635.349333333333
console.ts:40 417025.10 [log] SBI: setting appendWindowEnd 2635.46
console.ts:40 417028.30 [log] SBI: pushing segment video
console.ts:40 417031.10 [log] SI: synchronizing video buffered ranges: 0-1.92
console.ts:40 417043.50 [log] ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
console.ts:40 417055.50 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 417080.10 [log] Stream: new video bitrate estimate 5485318.035061888
console.ts:40 417107.00 [log] SI: Pushing segment strictly after previous one. audio 3.84 3.84
console.ts:40 417122.80 [log] SI: synchronizing audio buffered ranges: 0-7.646
console.ts:40 417133.70 [log] SI: range end too far from expected end audio 7.646 5.76
console.ts:40 417147.30 [log] SI: current audio inventory timeline:
0.00|A|5.76
[A] P: 1 || R: audio=128000(128000)
console.ts:40 417157.80 [log] SI: Pushing segment strictly after previous one. audio 5.76 5.76
console.ts:40 417172.50 [log] SI: synchronizing audio buffered ranges: 0-7.646
console.ts:40 417184.10 [log] SI: found true buffered end audio 7.646 7.68
console.ts:40 417196.90 [log] SI: current audio inventory timeline:
0.00|A|7.68
[A] P: 1 || R: audio=128000(128000)
console.ts:40 417279.60 [info] Init: Updating duration 2635.349333333333
console.ts:40 417284.10 [log] SI: Pushing segment strictly after previous one. video 1.92 1.92
console.ts:40 417296.50 [log] SI: synchronizing video buffered ranges: 0-3.84
console.ts:40 417309.40 [log] SI: found true buffered end video 3.84 3.84
console.ts:40 417327.00 [log] SI: current video inventory timeline:
0.00|A|1.92 ~ 1.92|B|3.84
[A] P: 1 || R: video=5460642(5460642)
[B] P: 1 || R: video=2439078(2439078)
console.ts:40 417343.00 [log] ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
console.ts:40 417355.90 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 417413.90 [log] AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 3 R: video=2439078 S: 3.84-1.92
console.ts:40 417428.10 [log] AVSB: pushing segment video video P: 1 A: 3 R: video=2439078 S: 3.84-1.92
console.ts:40 417450.40 [log] SBI: receiving order to push data to the SourceBuffer video
console.ts:40 417470.70 [log] SBI: pushing segment video
console.ts:40 417487.00 [log] SF: Segment request ended with success video P: 1 A: 3 R: video=2439078 S: 3.84-1.92
console.ts:40 417500.30 [log] SF: Beginning request audio P: 1 A: 1 R: audio=128000 S: 7.68-1.92
console.ts:40 417519.00 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-audio=128000-368640.dash type=arraybuffer to=30 cto=15
console.ts:40 417536.80 [log] SF: Beginning request video P: 1 A: 3 R: video=2439078 S: 5.76-1.92
console.ts:40 417565.20 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-video=2439078-3456.dash type=arraybuffer to=30 cto=15
console.ts:40 417613.80 [log] AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio=128000 S: 7.68-1.92
console.ts:40 417629.30 [log] AVSB: pushing segment audio audio P: 1 A: 1 R: audio=128000 S: 7.68-1.92
console.ts:40 417643.80 [log] SBI: receiving order to push data to the SourceBuffer audio
console.ts:40 417658.50 [log] SBI: pushing segment audio
console.ts:40 417673.30 [log] SF: Segment request ended with success audio P: 1 A: 1 R: audio=128000 S: 7.68-1.92
console.ts:40 417708.70 [log] SI: Pushing segment strictly after previous one. audio 7.68 7.68
console.ts:40 417722.50 [log] SI: synchronizing audio buffered ranges: 0-9.566
console.ts:40 417736.30 [log] SI: found true buffered end audio 9.566 9.6
console.ts:40 417750.20 [log] SI: current audio inventory timeline:
0.00|A|9.60
[A] P: 1 || R: audio=128000(128000)
console.ts:40 417765.40 [info] Init: Updating duration 2635.349333333333
console.ts:40 417769.50 [log] SI: Pushing segment strictly after previous one. video 3.84 3.84
console.ts:40 417783.40 [log] SI: synchronizing video buffered ranges: 0-5.76
console.ts:40 417796.30 [log] SI: found true buffered end video 5.76 5.76
console.ts:40 417809.60 [log] SI: current video inventory timeline:
0.00|A|1.92 ~ 1.92|B|5.76
[A] P: 1 || R: video=5460642(5460642)
[B] P: 1 || R: video=2439078(2439078)
console.ts:40 417822.60 [log] ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
console.ts:40 417835.30 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 417848.60 [log] Stream: new video bitrate estimate 5666000.161762986
console.ts:40 417865.70 [log] API: current media element state tick event timeupdate position 0.001 seeking 1 internalSeek true rebuffering false freezing false ended false paused true playbackRate 1 readyState 3 pendingPosition null
console.ts:40 417874.20 [log] API: current playback timeline:
0.00|==5.76==|5.76
^0.001
timeupdate
console.ts:40 417877.60 [log] SI: synchronizing video buffered ranges: 0-5.76
console.ts:40 417882.00 [log] SI: current video inventory timeline:
0.00|A|1.92 ~ 1.92|B|5.76
[A] P: 1 || R: video=5460642(5460642)
[B] P: 1 || R: video=2439078(2439078)
console.ts:40 417886.70 [log] SI: synchronizing audio buffered ranges: 0-9.566
console.ts:40 417891.80 [log] SI: current audio inventory timeline:
0.00|A|9.57
[A] P: 1 || R: audio=128000(128000)
console.ts:40 417896.30 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 418078.10 [log] AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 3 R: video=2439078 S: 5.76-1.92
console.ts:40 418094.00 [log] AVSB: pushing segment video video P: 1 A: 3 R: video=2439078 S: 5.76-1.92
console.ts:40 418108.40 [log] SBI: receiving order to push data to the SourceBuffer video
console.ts:40 418125.90 [log] SBI: pushing segment video
console.ts:40 418159.60 [log] SF: Segment request ended with success video P: 1 A: 3 R: video=2439078 S: 5.76-1.92
console.ts:40 418180.10 [log] SF: Beginning request video P: 1 A: 3 R: video=2439078 S: 7.68-1.92
console.ts:40 418199.50 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-video=2439078-4608.dash type=arraybuffer to=30 cto=15
console.ts:40 418290.30 [info] Init: Updating duration 2635.349333333333
console.ts:40 418302.80 [log] SI: Pushing segment strictly after previous one. video 5.76 5.76
console.ts:40 418332.30 [log] SI: synchronizing video buffered ranges: 0-7.68
console.ts:40 418351.10 [log] SI: found true buffered end video 7.68 7.68
console.ts:40 418373.80 [log] SI: current video inventory timeline:
0.00|A|1.92 ~ 1.92|B|7.68
[A] P: 1 || R: video=5460642(5460642)
[B] P: 1 || R: video=2439078(2439078)
console.ts:40 418393.10 [log] ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
console.ts:40 418411.30 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 418432.40 [log] Stream: new video bitrate estimate 6680164.379487849
console.ts:40 418759.80 [log] AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 3 R: video=2439078 S: 7.68-1.92
console.ts:40 418777.50 [log] AVSB: pushing segment video video P: 1 A: 3 R: video=2439078 S: 7.68-1.92
console.ts:40 418793.10 [log] SBI: receiving order to push data to the SourceBuffer video
console.ts:40 418808.40 [log] SBI: pushing segment video
console.ts:40 418825.70 [log] SF: Segment request ended with success video P: 1 A: 3 R: video=2439078 S: 7.68-1.92
console.ts:40 418840.80 [log] SF: Beginning request audio P: 1 A: 1 R: audio=128000 S: 9.6-1.92
console.ts:40 418859.40 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-audio=128000-460800.dash type=arraybuffer to=30 cto=15
console.ts:40 418882.10 [log] SF: Beginning request video P: 1 A: 3 R: video=2439078 S: 9.6-1.92
console.ts:40 418911.30 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-video=2439078-5760.dash type=arraybuffer to=30 cto=15
console.ts:40 418966.10 [log] AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio=128000 S: 9.6-1.92
console.ts:40 418983.80 [log] AVSB: pushing segment audio audio P: 1 A: 1 R: audio=128000 S: 9.6-1.92
console.ts:40 418999.70 [log] SBI: receiving order to push data to the SourceBuffer audio
console.ts:40 419015.70 [log] SBI: pushing segment audio
console.ts:40 419033.10 [log] SF: Segment request ended with success audio P: 1 A: 1 R: audio=128000 S: 9.6-1.92
console.ts:40 419051.40 [log] SF: Beginning request audio P: 1 A: 1 R: audio=128000 S: 11.52-1.92
console.ts:40 419071.40 [log] XHR: Sending GET https://stream-od.akamaized.net/pfr/18334daf-dbd1-4313-8196-5d75f64c070c/mp4/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2.ism/dash/18334daf_dbd1_4313_8196_5d75f64c070c(1815711_ISMUSP)_v2-audio=128000-552960.dash type=arraybuffer to=30 cto=15
console.ts:40 419109.60 [log] API: current media element state tick event timeupdate position 0.001 seeking 1 internalSeek true rebuffering false freezing false ended false paused true playbackRate 1 readyState 3 pendingPosition null
console.ts:40 419115.50 [log] API: current playback timeline:
0.00|==7.72==|7.72
^0.001
timeupdate
console.ts:40 419120.10 [log] SI: synchronizing video buffered ranges: 0-7.72
console.ts:40 419124.20 [log] SI: current video inventory timeline:
0.00|A|1.92 ~ 1.92|B|7.72
[A] P: 1 || R: video=5460642(5460642)
[B] P: 1 || R: video=2439078(2439078)
console.ts:40 419128.80 [log] SI: synchronizing audio buffered ranges: 0-9.566
console.ts:40 419132.60 [log] SI: current audio inventory timeline:
0.00|A|9.57
[A] P: 1 || R: audio=128000(128000)
console.ts:40 419138.10 [info] ABR: exit starvation mode.
console.ts:40 419142.40 [log] ABR: Choosing representation with bandwidth estimation. 2439078 video=2439078
console.ts:40 419147.20 [log] Stream: new video bitrate estimate 7441010.275431079
console.ts:40 419174.90 [log] SI: Pushing segment strictly after previous one. audio 9.6 9.566
console.ts:40 419190.20 [log] SI: synchronizing audio buffered ranges: 0-11.486
console.ts:40 419205.50 [log] SI: found true buffered end audio 11.486 11.52
console.ts:40 419222.20 [log] SI: current audio inventory timeline:
0.00|A|11.52
[A] P: 1 || R: audio=128000(128000)
console.ts:40 419258.00 [info] Init: Updating duration 2635.349333333333
console.ts:40 419261.80 [log] SI: Segment pushed updates end of previous one video 7.68 9.6 5.76 7.72
console.ts:40 419277.90 [log] SI: synchronizing video buffered ranges: 0-9.6
console.ts:40 419291.60 [log] SI: calculating buffered end of contiguous segment video 7.68 7.68
console.ts:40 419305.00 [log] SI: found true buffered end video 9.6 9.6
console.ts:40 419320.70 [log] SI: current video inventory timeline:
0.00|A|1.92 ~ 1.92|B|9.60
[A] P: 1 || R: video=5460642(5460642)
[B] P: 1 || R: video=2439078(2439078)

Here are some events that we get, it's quite strange that it gets duration change and also emptied 🤔

Image

We also have shaka player integration and it works ok there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions