Dash.js: Video stop when seeking backwards

Created on 25 Sep 2017  路  13Comments  路  Source: Dash-Industry-Forum/dash.js

Environment

Steps to reproduce
  1. I'm using videojs with dashjs. and the issue appears in both versions.
  2. This is the npm wrapper that I'm using:
    https://www.npmjs.com/package/videojs-contrib-dash
  3. I have a videojs player, with an ability to jump backwards, so I'm using videojs API currentTime with the calculated time.

    1. When triggering currentTime backwards sometimes the buffer start loading after the requested time and load all the way to the end of the buffer without loading the requested time (And since the index isn't retrieved infinite spinner appear ).

Observed behaviour

The buffer never loads the requested time index

  • You can see in the log how the time to seek is 290.727 but the buffer is loading from 300.8
    From that point on, it will just start loading chunks.
    On dash 2.6.0 the same issue apears with reference to ScheduleController
Console output

Paste the contents of the browser console here. Skipped to: 290.727921 Debug.js:127 [37034] Seeking to: 290.727921 Debug.js:127 [37197] Buffered Range for type: audio : 300.8 - 429.141332 Debug.js:127 [37198] Buffered Range for type: audio : 505.344 - 521.386666 Debug.js:127 [37200] AbrController (audio) stay on 0/0 (buffer: 0) Debug.js:127 [37200] ScheduleController - getNextFragment Debug.js:127 [37200] Getting the request for audio time : 290.727921 Debug.js:127 [37200] Index for audio time 290.727921 is 71 Debug.js:127 [37201] SegmentTemplate: 284.7573333333333 / 634.566 Debug.js:127 [37201] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_72.m4a Debug.js:127 [37592] Buffered Range for type: audio : 284.757333 - 288.767999 Debug.js:127 [37592] Buffered Range for type: audio : 300.8 - 429.141332 Debug.js:127 [37592] Buffered Range for type: audio : 505.344 - 521.386666 Debug.js:127 [37594] Buffered Range for type: video : 296 - 299.999999 Debug.js:127 [37594] Buffered Range for type: video : 310 - 413.999999 Debug.js:127 [37595] AbrController (audio) stay on 0/0 (buffer: 0) Debug.js:127 [37595] ScheduleController - getNextFragment Debug.js:127 [37595] Getting the request for audio time : 288.768 Debug.js:127 [37596] Index for audio time 288.768 is 71 Debug.js:127 [37596] SegmentTemplate: 284.7573333333333 / 634.566 Debug.js:127 [37596] Getting the next request at index: 72 Debug.js:127 [37596] SegmentTemplate: 288.768 / 634.566 Debug.js:127 [37597] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_73.m4a Debug.js:127 [37597] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [37598] ScheduleController - getNextFragment Debug.js:127 [37598] Getting the request for video time : 290.727921 Debug.js:127 [37598] Index for video time 290.727921 is 73 Debug.js:127 [37598] SegmentTemplate: 292 / 634.566 Debug.js:127 [37599] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_74.m4v Debug.js:127 [37995] Buffered Range for type: audio : 284.757333 - 292.778666 Debug.js:127 [37995] Buffered Range for type: audio : 300.8 - 429.141332 Debug.js:127 [37995] Buffered Range for type: audio : 505.344 - 521.386666 Debug.js:127 [37996] Got enough buffer to start. Debug.js:127 [37998] ThroughputRule requesting switch to index: 0 type: audio Average throughput 23005 kbps Debug.js:127 [37998] AbrController (audio) stay on 0/0 (buffer: 2.051) Debug.js:127 [37998] ScheduleController - getNextFragment Debug.js:127 [38000] Getting the request for audio time : 292.77866666666665 Debug.js:127 [38000] Index for audio time 292.77866666666665 is 72 Debug.js:127 [38000] SegmentTemplate: 288.768 / 634.566 Debug.js:127 [38000] Getting the next request at index: 73 Debug.js:127 [38001] SegmentTemplate: 292.77866666666665 / 634.566 Debug.js:127 [38001] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_a64k/bbb_a64k_74.m4a Debug.js:127 [38302] Buffered Range for type: video : 292 - 299.999999 Debug.js:127 [38302] Buffered Range for type: video : 310 - 409.999999 Debug.js:127 [38305] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [38305] ScheduleController - getNextFragment Debug.js:127 [38305] Prior to making a request for time, NextFragmentRequestRule is aligning index handler's currentTime with bufferedRange.end. 296 was changed to 299.999999 Debug.js:127 [38305] Getting the request for video time : 299.999999 Debug.js:127 [38306] Index for video time 299.999999 is 74 Debug.js:127 [38306] SegmentTemplate: 296 / 634.566 Debug.js:127 [38306] Getting the next request at index: 74 Debug.js:127 [38307] SegmentTemplate: 296 / 634.566 Debug.js:127 [38307] Getting the next request at index: 75 Debug.js:127 [38307] SegmentTemplate: 300 / 634.566 Debug.js:127 [38308] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_76.m4v Debug.js:127 [38402] Buffered Range for type: audio : 284.757333 - 296.789332 Debug.js:127 [38402] Buffered Range for type: audio : 300.8 - 429.141332 Debug.js:127 [38402] Buffered Range for type: audio : 505.344 - 521.386666 Debug.js:127 [39003] Buffered Range for type: video : 292 - 303.999999 Debug.js:127 [39004] Buffered Range for type: video : 310 - 407.999999 Debug.js:127 [39006] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [39006] ScheduleController - getNextFragment Debug.js:127 [39006] Getting the request for video time : 304 Debug.js:127 [39007] Index for video time 304 is 75 Debug.js:127 [39007] SegmentTemplate: 300 / 634.566 Debug.js:127 [39007] Getting the next request at index: 76 Debug.js:127 [39008] SegmentTemplate: 304 / 634.566 Debug.js:127 [39008] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_77.m4v Debug.js:127 [39745] Buffered Range for type: video : 292 - 307.999999 Debug.js:127 [39745] Buffered Range for type: video : 310 - 401.999999 Debug.js:127 [39748] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [39748] ScheduleController - getNextFragment Debug.js:127 [39748] Getting the request for video time : 308 Debug.js:127 [39748] Index for video time 308 is 76 Debug.js:127 [39749] SegmentTemplate: 304 / 634.566 Debug.js:127 [39749] Getting the next request at index: 77 Debug.js:127 [39749] SegmentTemplate: 308 / 634.566 Debug.js:127 [39750] Getting the next request at index: 78 Debug.js:127 [39750] SegmentTemplate: 312 / 634.566 Debug.js:127 [39750] Getting the next request at index: 79 Debug.js:127 [39750] SegmentTemplate: 316 / 634.566 Debug.js:127 [39751] Getting the next request at index: 80 Debug.js:127 [39751] SegmentTemplate: 320 / 634.566 Debug.js:127 [39751] Getting the next request at index: 81 Debug.js:127 [39751] SegmentTemplate: 324 / 634.566 Debug.js:127 [39752] Getting the next request at index: 82 Debug.js:127 [39752] SegmentTemplate: 328 / 634.566 Debug.js:127 [39752] Getting the next request at index: 83 Debug.js:127 [39752] SegmentTemplate: 332 / 634.566 Debug.js:127 [39752] Getting the next request at index: 84 Debug.js:127 [39753] isMediaFinished - no segment found Debug.js:127 [39753] Getting the next request at index: 85 Debug.js:127 [39754] SegmentTemplate: 340 / 634.566 Debug.js:127 [39754] Getting the next request at index: 86 Debug.js:127 [39755] SegmentTemplate: 344 / 634.566 Debug.js:127 [39755] Getting the next request at index: 87 Debug.js:127 [39755] SegmentTemplate: 348 / 634.566 Debug.js:127 [39756] Getting the next request at index: 88 Debug.js:127 [39756] SegmentTemplate: 352 / 634.566 Debug.js:127 [39756] Getting the next request at index: 89 Debug.js:127 [39756] SegmentTemplate: 356 / 634.566 Debug.js:127 [39757] Getting the next request at index: 90 Debug.js:127 [39757] SegmentTemplate: 360 / 634.566 Debug.js:127 [39757] Getting the next request at index: 91 Debug.js:127 [39757] SegmentTemplate: 364 / 634.566 Debug.js:127 [39758] Getting the next request at index: 92 Debug.js:127 [39758] SegmentTemplate: 368 / 634.566 Debug.js:127 [39758] Getting the next request at index: 93 Debug.js:127 [39759] isMediaFinished - no segment found Debug.js:127 [39759] Getting the next request at index: 94 Debug.js:127 [39759] SegmentTemplate: 376 / 634.566 Debug.js:127 [39760] Getting the next request at index: 95 Debug.js:127 [39760] SegmentTemplate: 380 / 634.566 Debug.js:127 [39760] Getting the next request at index: 96 Debug.js:127 [39761] SegmentTemplate: 384 / 634.566 Debug.js:127 [39761] Getting the next request at index: 97 Debug.js:127 [39761] SegmentTemplate: 388 / 634.566 Debug.js:127 [39762] Getting the next request at index: 98 Debug.js:127 [39762] SegmentTemplate: 392 / 634.566 Debug.js:127 [39762] Getting the next request at index: 99 Debug.js:127 [39763] SegmentTemplate: 396 / 634.566 Debug.js:127 [39763] Getting the next request at index: 100 Debug.js:127 [39764] SegmentTemplate: 400 / 634.566 Debug.js:127 [39764] Getting the next request at index: 101 Debug.js:127 [39764] SegmentTemplate: 404 / 634.566 Debug.js:127 [39765] Getting the next request at index: 102 Debug.js:127 [39766] isMediaFinished - no segment found Debug.js:127 [39766] Getting the next request at index: 103 Debug.js:127 [39767] SegmentTemplate: 412 / 634.566 Debug.js:127 [39767] Getting the next request at index: 104 Debug.js:127 [39767] SegmentTemplate: 416 / 634.566 Debug.js:127 [39768] Getting the next request at index: 105 Debug.js:127 [39768] SegmentTemplate: 420 / 634.566 Debug.js:127 [39769] Getting the next request at index: 106 Debug.js:127 [39769] SegmentTemplate: 424 / 634.566 Debug.js:127 [39772] Getting the next request at index: 107 Debug.js:127 [39772] SegmentTemplate: 428 / 634.566 Debug.js:127 [39773] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_108.m4v Debug.js:127 [40560] Buffered Range for type: video : 292 - 307.999999 Debug.js:127 [40560] Buffered Range for type: video : 310 - 397.999999 Debug.js:127 [40560] Buffered Range for type: video : 428 - 431.999999 Debug.js:127 [40563] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [40563] ScheduleController - getNextFragment Debug.js:127 [40563] Getting the request for video time : 432 Debug.js:127 [40563] Index for video time 432 is 107 Debug.js:127 [40564] SegmentTemplate: 428 / 634.566 Debug.js:127 [40564] Getting the next request at index: 108 Debug.js:127 [40564] SegmentTemplate: 432 / 634.566 Debug.js:127 [40565] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_109.m4v Debug.js:127 [41325] Buffered Range for type: video : 294 - 307.999999 Debug.js:127 [41325] Buffered Range for type: video : 310 - 397.999999 Debug.js:127 [41325] Buffered Range for type: video : 428 - 435.999999 Debug.js:127 [41327] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [41327] ScheduleController - getNextFragment Debug.js:127 [41329] Getting the request for video time : 436 Debug.js:127 [41331] Index for video time 436 is 108 Debug.js:127 [41331] SegmentTemplate: 432 / 634.566 Debug.js:127 [41334] Getting the next request at index: 109 Debug.js:127 [41334] SegmentTemplate: 436 / 634.566 Debug.js:127 [41336] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_110.m4v Debug.js:127 [42042] Buffered Range for type: video : 298 - 307.999999 Debug.js:127 [42042] Buffered Range for type: video : 310 - 397.999999 Debug.js:127 [42042] Buffered Range for type: video : 428 - 439.999999 Debug.js:127 [42045] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [42045] ScheduleController - getNextFragment Debug.js:127 [42045] Getting the request for video time : 440 Debug.js:127 [42045] Index for video time 440 is 109 Debug.js:127 [42046] SegmentTemplate: 436 / 634.566 Debug.js:127 [42046] Getting the next request at index: 110 Debug.js:127 [42046] SegmentTemplate: 440 / 634.566 Debug.js:127 [42046] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_111.m4v Debug.js:127 [42733] Buffered Range for type: video : 302 - 307.999999 Debug.js:127 [42733] Buffered Range for type: video : 310 - 397.999999 Debug.js:127 [42733] Buffered Range for type: video : 428 - 443.999999 Debug.js:127 [42735] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [42735] ScheduleController - getNextFragment Debug.js:127 [42736] Getting the request for video time : 444 Debug.js:127 [42736] Index for video time 444 is 110 Debug.js:127 [42736] SegmentTemplate: 440 / 634.566 Debug.js:127 [42736] Getting the next request at index: 111 Debug.js:127 [42737] isMediaFinished - no segment found Debug.js:127 [42737] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_112.m4v Debug.js:127 [43548] Buffered Range for type: video : 306 - 307.999999 Debug.js:127 [43548] Buffered Range for type: video : 310 - 397.999999 Debug.js:127 [43548] Buffered Range for type: video : 428 - 447.999999 Debug.js:127 [43551] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [43551] ScheduleController - getNextFragment Debug.js:127 [43551] Getting the request for video time : 448 Debug.js:127 [43551] Index for video time 448 is 111 Debug.js:127 [43552] SegmentTemplate: 444 / 634.566 Debug.js:127 [43552] Getting the next request at index: 112 Debug.js:127 [43552] SegmentTemplate: 448 / 634.566 Debug.js:127 [43552] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_113.m4v Debug.js:127 [44194] Buffered Range for type: video : 312 - 397.999999 Debug.js:127 [44194] Buffered Range for type: video : 428 - 451.999999 Debug.js:127 [44196] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [44196] ScheduleController - getNextFragment Debug.js:127 [44196] Getting the request for video time : 452 Debug.js:127 [44196] Index for video time 452 is 112 Debug.js:127 [44197] SegmentTemplate: 448 / 634.566 Debug.js:127 [44197] Getting the next request at index: 113 Debug.js:127 [44197] SegmentTemplate: 452 / 634.566 Debug.js:127 [44197] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_114.m4v Debug.js:127 [44902] Buffered Range for type: video : 316 - 397.999999 Debug.js:127 [44902] Buffered Range for type: video : 428 - 455.999999 Debug.js:127 [44904] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [44904] ScheduleController - getNextFragment Debug.js:127 [44904] Getting the request for video time : 456 Debug.js:127 [44905] Index for video time 456 is 113 Debug.js:127 [44905] SegmentTemplate: 452 / 634.566 Debug.js:127 [44905] Getting the next request at index: 114 Debug.js:127 [44905] SegmentTemplate: 456 / 634.566 Debug.js:127 [44906] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_115.m4v Debug.js:127 [45628] Buffered Range for type: video : 320 - 397.999999 Debug.js:127 [45629] Buffered Range for type: video : 428 - 459.999999 Debug.js:127 [45631] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [45631] ScheduleController - getNextFragment Debug.js:127 [45631] Getting the request for video time : 460 Debug.js:127 [45631] Index for video time 460 is 114 Debug.js:127 [45631] SegmentTemplate: 456 / 634.566 Debug.js:127 [45631] Getting the next request at index: 115 Debug.js:127 [45632] SegmentTemplate: 460 / 634.566 Debug.js:127 [45632] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_116.m4v Debug.js:127 [46708] Buffered Range for type: video : 324 - 397.999999 Debug.js:127 [46708] Buffered Range for type: video : 428 - 463.999999 Debug.js:127 [46710] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [46710] ScheduleController - getNextFragment Debug.js:127 [46711] Getting the request for video time : 464 Debug.js:127 [46711] Index for video time 464 is 115 Debug.js:127 [46711] SegmentTemplate: 460 / 634.566 Debug.js:127 [46711] Getting the next request at index: 116 Debug.js:127 [46711] SegmentTemplate: 464 / 634.566 Debug.js:127 [46712] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_117.m4v Debug.js:127 [47441] Buffered Range for type: video : 328 - 397.999999 Debug.js:127 [47442] Buffered Range for type: video : 428 - 467.999999 Debug.js:127 [47443] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [47444] ScheduleController - getNextFragment Debug.js:127 [47444] Getting the request for video time : 468 Debug.js:127 [47444] Index for video time 468 is 116 Debug.js:127 [47444] SegmentTemplate: 464 / 634.566 Debug.js:127 [47444] Getting the next request at index: 117 Debug.js:127 [47445] SegmentTemplate: 468 / 634.566 Debug.js:127 [47445] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_118.m4v Debug.js:127 [48154] Buffered Range for type: video : 332 - 397.999999 Debug.js:127 [48154] Buffered Range for type: video : 428 - 471.999999 Debug.js:127 [48156] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [48156] ScheduleController - getNextFragment Debug.js:127 [48156] Getting the request for video time : 472 Debug.js:127 [48157] Index for video time 472 is 117 Debug.js:127 [48157] SegmentTemplate: 468 / 634.566 Debug.js:127 [48157] Getting the next request at index: 118 Debug.js:127 [48157] SegmentTemplate: 472 / 634.566 Debug.js:127 [48158] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_119.m4v Debug.js:127 [48848] Buffered Range for type: video : 336 - 397.999999 Debug.js:127 [48848] Buffered Range for type: video : 428 - 475.999999 Debug.js:127 [48850] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [48851] ScheduleController - getNextFragment Debug.js:127 [48851] Getting the request for video time : 476 Debug.js:127 [48852] Index for video time 476 is 118 Debug.js:127 [48852] SegmentTemplate: 472 / 634.566 Debug.js:127 [48853] Getting the next request at index: 119 Debug.js:127 [48855] SegmentTemplate: 476 / 634.566 Debug.js:127 [48855] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_120.m4v Debug.js:127 [49524] Buffered Range for type: video : 340 - 397.999999 Debug.js:127 [49524] Buffered Range for type: video : 428 - 479.999999 Debug.js:127 [49525] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [49525] ScheduleController - getNextFragment Debug.js:127 [49526] Getting the request for video time : 480 Debug.js:127 [49526] Index for video time 480 is 119 Debug.js:127 [49526] SegmentTemplate: 476 / 634.566 Debug.js:127 [49526] Getting the next request at index: 120 Debug.js:127 [49526] isMediaFinished - no segment found Debug.js:127 [49527] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_121.m4v Debug.js:127 [50258] Buffered Range for type: video : 344 - 397.999999 Debug.js:127 [50258] Buffered Range for type: video : 428 - 483.999999 Debug.js:127 [50261] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [50261] ScheduleController - getNextFragment Debug.js:127 [50261] Getting the request for video time : 484 Debug.js:127 [50262] Index for video time 484 is 120 Debug.js:127 [50262] SegmentTemplate: 480 / 634.566 Debug.js:127 [50262] Getting the next request at index: 121 Debug.js:127 [50262] SegmentTemplate: 484 / 634.566 Debug.js:127 [50263] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_122.m4v Debug.js:127 [50984] Buffered Range for type: video : 348 - 397.999999 Debug.js:127 [50984] Buffered Range for type: video : 428 - 487.999999 Debug.js:127 [50987] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [50987] ScheduleController - getNextFragment Debug.js:127 [50988] Getting the request for video time : 488 Debug.js:127 [50988] Index for video time 488 is 121 Debug.js:127 [50988] SegmentTemplate: 484 / 634.566 Debug.js:127 [50989] Getting the next request at index: 122 Debug.js:127 [50989] SegmentTemplate: 488 / 634.566 Debug.js:127 [50989] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_123.m4v Debug.js:127 [51752] Buffered Range for type: video : 352 - 397.999999 Debug.js:127 [51753] Buffered Range for type: video : 428 - 491.999999 Debug.js:127 [51755] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [51756] ScheduleController - getNextFragment Debug.js:127 [51756] Getting the request for video time : 492 Debug.js:127 [51756] Index for video time 492 is 122 Debug.js:127 [51757] SegmentTemplate: 488 / 634.566 Debug.js:127 [51757] Getting the next request at index: 123 Debug.js:127 [51757] SegmentTemplate: 492 / 634.566 Debug.js:127 [51758] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_124.m4v Debug.js:127 [52505] Buffered Range for type: video : 356 - 397.999999 Debug.js:127 [52505] Buffered Range for type: video : 428 - 495.999999 Debug.js:127 [52507] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [52508] ScheduleController - getNextFragment Debug.js:127 [52508] Getting the request for video time : 496 Debug.js:127 [52508] Index for video time 496 is 123 Debug.js:127 [52508] SegmentTemplate: 492 / 634.566 Debug.js:127 [52508] Getting the next request at index: 124 Debug.js:127 [52509] SegmentTemplate: 496 / 634.566 Debug.js:127 [52509] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_125.m4v Debug.js:127 [53227] Buffered Range for type: video : 360 - 397.999999 Debug.js:127 [53228] Buffered Range for type: video : 428 - 499.999999 Debug.js:127 [53230] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [53230] ScheduleController - getNextFragment Debug.js:127 [53230] Getting the request for video time : 500 Debug.js:127 [53230] Index for video time 500 is 124 Debug.js:127 [53230] SegmentTemplate: 496 / 634.566 Debug.js:127 [53231] Getting the next request at index: 125 Debug.js:127 [53231] SegmentTemplate: 500 / 634.566 Debug.js:127 [53231] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_126.m4v Debug.js:127 [53982] Buffered Range for type: video : 364 - 397.999999 Debug.js:127 [53982] Buffered Range for type: video : 428 - 503.999999 Debug.js:127 [53984] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [53984] ScheduleController - getNextFragment Debug.js:127 [53984] Getting the request for video time : 504 Debug.js:127 [53984] Index for video time 504 is 125 Debug.js:127 [53985] SegmentTemplate: 500 / 634.566 Debug.js:127 [53985] Getting the next request at index: 126 Debug.js:127 [53985] SegmentTemplate: 504 / 634.566 Debug.js:127 [53985] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_127.m4v Debug.js:127 [54716] Buffered Range for type: video : 368 - 397.999999 Debug.js:127 [54716] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [54718] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [54718] ScheduleController - getNextFragment Debug.js:127 [54718] Getting the request for video time : 508 Debug.js:127 [54719] Index for video time 508 is 126 Debug.js:127 [54719] SegmentTemplate: 504 / 634.566 Debug.js:127 [54719] Getting the next request at index: 127 Debug.js:127 [54719] SegmentTemplate: 508 / 634.566 Debug.js:127 [54719] Getting the next request at index: 128 Debug.js:127 [54719] SegmentTemplate: 512 / 634.566 Debug.js:127 [54720] Getting the next request at index: 129 Debug.js:127 [54720] isMediaFinished - no segment found Debug.js:127 [54720] Getting the next request at index: 130 Debug.js:127 [54720] SegmentTemplate: 520 / 634.566 Debug.js:127 [54721] Getting the next request at index: 131 Debug.js:127 [54721] SegmentTemplate: 524 / 634.566 Debug.js:127 [54721] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_132.m4v Debug.js:127 [55416] Buffered Range for type: video : 372 - 397.999999 Debug.js:127 [55416] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [55416] Buffered Range for type: video : 524 - 527.999999 Debug.js:127 [55418] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [55418] ScheduleController - getNextFragment Debug.js:127 [55419] Getting the request for video time : 528 Debug.js:127 [55419] Index for video time 528 is 131 Debug.js:127 [55419] SegmentTemplate: 524 / 634.566 Debug.js:127 [55419] Getting the next request at index: 132 Debug.js:127 [55420] SegmentTemplate: 528 / 634.566 Debug.js:127 [55420] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_133.m4v Debug.js:127 [56175] Buffered Range for type: video : 376 - 397.999999 Debug.js:127 [56175] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [56175] Buffered Range for type: video : 524 - 531.999999 Debug.js:127 [56178] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [56178] ScheduleController - getNextFragment Debug.js:127 [56178] Getting the request for video time : 532 Debug.js:127 [56178] Index for video time 532 is 132 Debug.js:127 [56179] SegmentTemplate: 528 / 634.566 Debug.js:127 [56179] Getting the next request at index: 133 Debug.js:127 [56179] SegmentTemplate: 532 / 634.566 Debug.js:127 [56179] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_134.m4v Debug.js:127 [56896] Buffered Range for type: video : 382 - 397.999999 Debug.js:127 [56896] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [56897] Buffered Range for type: video : 524 - 535.999999 Debug.js:127 [56899] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [56899] ScheduleController - getNextFragment Debug.js:127 [56899] Getting the request for video time : 536 Debug.js:127 [56899] Index for video time 536 is 133 Debug.js:127 [56899] SegmentTemplate: 532 / 634.566 Debug.js:127 [56899] Getting the next request at index: 134 Debug.js:127 [56900] SegmentTemplate: 536 / 634.566 Debug.js:127 [56900] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_135.m4v Debug.js:127 [57607] Buffered Range for type: video : 388 - 397.999999 Debug.js:127 [57607] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [57607] Buffered Range for type: video : 524 - 539.999999 Debug.js:127 [57610] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [57610] ScheduleController - getNextFragment Debug.js:127 [57610] Getting the request for video time : 540 Debug.js:127 [57610] Index for video time 540 is 134 Debug.js:127 [57611] SegmentTemplate: 536 / 634.566 Debug.js:127 [57611] Getting the next request at index: 135 Debug.js:127 [57611] SegmentTemplate: 540 / 634.566 Debug.js:127 [57611] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_136.m4v Debug.js:127 [58338] Buffered Range for type: video : 394 - 397.999999 Debug.js:127 [58338] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [58338] Buffered Range for type: video : 524 - 543.999999 Debug.js:127 [58341] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [58341] ScheduleController - getNextFragment Debug.js:127 [58341] Getting the request for video time : 544 Debug.js:127 [58341] Index for video time 544 is 135 Debug.js:127 [58341] SegmentTemplate: 540 / 634.566 Debug.js:127 [58341] Getting the next request at index: 136 Debug.js:127 [58341] SegmentTemplate: 544 / 634.566 Debug.js:127 [58342] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_137.m4v Debug.js:127 [59098] Buffered Range for type: video : 396 - 397.999999 Debug.js:127 [59098] Buffered Range for type: video : 428 - 507.999999 Debug.js:127 [59098] Buffered Range for type: video : 524 - 547.999999 Debug.js:127 [59099] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [59099] ScheduleController - getNextFragment Debug.js:127 [59100] Getting the request for video time : 548 Debug.js:127 [59100] Index for video time 548 is 136 Debug.js:127 [59100] SegmentTemplate: 544 / 634.566 Debug.js:127 [59100] Getting the next request at index: 137 Debug.js:127 [59100] SegmentTemplate: 548 / 634.566 Debug.js:127 [59101] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_138.m4v Debug.js:127 [59803] Buffered Range for type: video : 430 - 507.999999 Debug.js:127 [59803] Buffered Range for type: video : 524 - 551.999999 Debug.js:127 [59804] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [59805] ScheduleController - getNextFragment Debug.js:127 [59805] Getting the request for video time : 552 Debug.js:127 [59805] Index for video time 552 is 137 Debug.js:127 [59805] SegmentTemplate: 548 / 634.566 Debug.js:127 [59805] Getting the next request at index: 138 Debug.js:127 [59806] isMediaFinished - no segment found Debug.js:127 [59806] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_139.m4v Debug.js:127 [60603] Buffered Range for type: video : 434 - 507.999999 Debug.js:127 [60603] Buffered Range for type: video : 524 - 555.999999 Debug.js:127 [60606] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [60606] ScheduleController - getNextFragment Debug.js:127 [60606] Getting the request for video time : 556 Debug.js:127 [60606] Index for video time 556 is 138 Debug.js:127 [60606] SegmentTemplate: 552 / 634.566 Debug.js:127 [60607] Getting the next request at index: 139 Debug.js:127 [60607] SegmentTemplate: 556 / 634.566 Debug.js:127 [60607] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_140.m4v Debug.js:127 [61366] Buffered Range for type: video : 438 - 507.999999 Debug.js:127 [61366] Buffered Range for type: video : 524 - 559.999999 Debug.js:127 [61368] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [61368] ScheduleController - getNextFragment Debug.js:127 [61368] Getting the request for video time : 560 Debug.js:127 [61368] Index for video time 560 is 139 Debug.js:127 [61368] SegmentTemplate: 556 / 634.566 Debug.js:127 [61369] Getting the next request at index: 140 Debug.js:127 [61369] SegmentTemplate: 560 / 634.566 Debug.js:127 [61369] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_141.m4v Debug.js:127 [62079] Buffered Range for type: video : 444 - 507.999999 Debug.js:127 [62079] Buffered Range for type: video : 524 - 563.999999 Debug.js:127 [62081] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [62081] ScheduleController - getNextFragment Debug.js:127 [62081] Getting the request for video time : 564 Debug.js:127 [62081] Index for video time 564 is 140 Debug.js:127 [62081] SegmentTemplate: 560 / 634.566 Debug.js:127 [62081] Getting the next request at index: 141 Debug.js:127 [62082] SegmentTemplate: 564 / 634.566 Debug.js:127 [62082] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_142.m4v Debug.js:127 [62827] Buffered Range for type: video : 448 - 507.999999 Debug.js:127 [62827] Buffered Range for type: video : 524 - 567.999999 Debug.js:127 [62830] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [62830] ScheduleController - getNextFragment Debug.js:127 [62830] Getting the request for video time : 568 Debug.js:127 [62830] Index for video time 568 is 141 Debug.js:127 [62830] SegmentTemplate: 564 / 634.566 Debug.js:127 [62830] Getting the next request at index: 142 Debug.js:127 [62831] SegmentTemplate: 568 / 634.566 Debug.js:127 [62831] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_143.m4v Debug.js:127 [63528] Buffered Range for type: video : 450 - 507.999999 Debug.js:127 [63528] Buffered Range for type: video : 524 - 571.999999 Debug.js:127 [63530] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [63530] ScheduleController - getNextFragment Debug.js:127 [63531] Getting the request for video time : 572 Debug.js:127 [63531] Index for video time 572 is 142 Debug.js:127 [63531] SegmentTemplate: 568 / 634.566 Debug.js:127 [63531] Getting the next request at index: 143 Debug.js:127 [63531] SegmentTemplate: 572 / 634.566 Debug.js:127 [63531] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_144.m4v Debug.js:127 [64228] Buffered Range for type: video : 456 - 507.999999 Debug.js:127 [64228] Buffered Range for type: video : 524 - 575.999999 Debug.js:127 [64231] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [64231] ScheduleController - getNextFragment Debug.js:127 [64231] Getting the request for video time : 576 Debug.js:127 [64231] Index for video time 576 is 143 Debug.js:127 [64232] SegmentTemplate: 572 / 634.566 Debug.js:127 [64232] Getting the next request at index: 144 Debug.js:127 [64232] SegmentTemplate: 576 / 634.566 Debug.js:127 [64232] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_145.m4v Debug.js:127 [64997] Buffered Range for type: video : 460 - 507.999999 Debug.js:127 [64997] Buffered Range for type: video : 524 - 579.999999 Debug.js:127 [64999] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [64999] ScheduleController - getNextFragment Debug.js:127 [64999] Getting the request for video time : 580 Debug.js:127 [64999] Index for video time 580 is 144 Debug.js:127 [64999] SegmentTemplate: 576 / 634.566 Debug.js:127 [65000] Getting the next request at index: 145 Debug.js:127 [65000] SegmentTemplate: 580 / 634.566 Debug.js:127 [65000] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_146.m4v Debug.js:127 [65738] Buffered Range for type: video : 464 - 507.999999 Debug.js:127 [65738] Buffered Range for type: video : 524 - 583.999999 Debug.js:127 [65741] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [65741] ScheduleController - getNextFragment Debug.js:127 [65741] Getting the request for video time : 584 Debug.js:127 [65741] Index for video time 584 is 145 Debug.js:127 [65741] SegmentTemplate: 580 / 634.566 Debug.js:127 [65741] Getting the next request at index: 146 Debug.js:127 [65741] SegmentTemplate: 584 / 634.566 Debug.js:127 [65742] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_147.m4v Debug.js:127 [66451] Buffered Range for type: video : 468 - 507.999999 Debug.js:127 [66452] Buffered Range for type: video : 524 - 587.999999 Debug.js:127 [66454] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [66454] ScheduleController - getNextFragment Debug.js:127 [66454] Getting the request for video time : 588 Debug.js:127 [66454] Index for video time 588 is 146 Debug.js:127 [66454] SegmentTemplate: 584 / 634.566 Debug.js:127 [66455] Getting the next request at index: 147 Debug.js:127 [66455] isMediaFinished - no segment found Debug.js:127 [66455] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_148.m4v Debug.js:127 [67439] Buffered Range for type: video : 472 - 507.999999 Debug.js:127 [67439] Buffered Range for type: video : 524 - 591.999999 Debug.js:127 [67441] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [67441] ScheduleController - getNextFragment Debug.js:127 [67441] Getting the request for video time : 592 Debug.js:127 [67441] Index for video time 592 is 147 Debug.js:127 [67441] SegmentTemplate: 588 / 634.566 Debug.js:127 [67442] Getting the next request at index: 148 Debug.js:127 [67442] SegmentTemplate: 592 / 634.566 Debug.js:127 [67442] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_149.m4v Debug.js:127 [68139] Buffered Range for type: video : 476 - 507.999999 Debug.js:127 [68139] Buffered Range for type: video : 524 - 595.999999 Debug.js:127 [68140] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [68141] ScheduleController - getNextFragment Debug.js:127 [68141] Getting the request for video time : 596 Debug.js:127 [68141] Index for video time 596 is 148 Debug.js:127 [68141] SegmentTemplate: 592 / 634.566 Debug.js:127 [68141] Getting the next request at index: 149 Debug.js:127 [68141] SegmentTemplate: 596 / 634.566 Debug.js:127 [68142] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_150.m4v Debug.js:127 [68828] Buffered Range for type: video : 480 - 507.999999 Debug.js:127 [68828] Buffered Range for type: video : 524 - 599.999999 Debug.js:127 [68830] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [68830] ScheduleController - getNextFragment Debug.js:127 [68830] Getting the request for video time : 600 Debug.js:127 [68830] Index for video time 600 is 149 Debug.js:127 [68830] SegmentTemplate: 596 / 634.566 Debug.js:127 [68830] Getting the next request at index: 150 Debug.js:127 [68831] SegmentTemplate: 600 / 634.566 Debug.js:127 [68831] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_151.m4v Debug.js:127 [69492] Buffered Range for type: video : 484 - 507.999999 Debug.js:127 [69492] Buffered Range for type: video : 524 - 603.999999 Debug.js:127 [69494] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [69494] ScheduleController - getNextFragment Debug.js:127 [69494] Getting the request for video time : 604 Debug.js:127 [69494] Index for video time 604 is 150 Debug.js:127 [69494] SegmentTemplate: 600 / 634.566 Debug.js:127 [69494] Getting the next request at index: 151 Debug.js:127 [69495] SegmentTemplate: 604 / 634.566 Debug.js:127 [69495] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_152.m4v Debug.js:127 [70147] Buffered Range for type: video : 488 - 507.999999 Debug.js:127 [70147] Buffered Range for type: video : 524 - 607.999999 Debug.js:127 [70149] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [70149] ScheduleController - getNextFragment Debug.js:127 [70149] Getting the request for video time : 608 Debug.js:127 [70150] Index for video time 608 is 151 Debug.js:127 [70150] SegmentTemplate: 604 / 634.566 Debug.js:127 [70150] Getting the next request at index: 152 Debug.js:127 [70150] SegmentTemplate: 608 / 634.566 Debug.js:127 [70150] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_153.m4v Debug.js:127 [70925] Buffered Range for type: video : 490 - 507.999999 Debug.js:127 [70925] Buffered Range for type: video : 524 - 611.999999 Debug.js:127 [70928] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [70928] ScheduleController - getNextFragment Debug.js:127 [70928] Getting the request for video time : 612 Debug.js:127 [70928] Index for video time 612 is 152 Debug.js:127 [70928] SegmentTemplate: 608 / 634.566 Debug.js:127 [70928] Getting the next request at index: 153 Debug.js:127 [70929] SegmentTemplate: 612 / 634.566 Debug.js:127 [70929] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_154.m4v Debug.js:127 [71449] Buffered Range for type: video : 490 - 507.999999 Debug.js:127 [71449] Buffered Range for type: video : 524 - 615.999999 Debug.js:127 [71451] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [71452] ScheduleController - getNextFragment Debug.js:127 [71452] Getting the request for video time : 616 Debug.js:127 [71452] Index for video time 616 is 153 Debug.js:127 [71452] SegmentTemplate: 612 / 634.566 Debug.js:127 [71453] Getting the next request at index: 154 Debug.js:127 [71453] SegmentTemplate: 616 / 634.566 Debug.js:127 [71453] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_155.m4v Debug.js:127 [72059] Buffered Range for type: video : 492 - 507.999999 Debug.js:127 [72059] Buffered Range for type: video : 524 - 619.999999 Debug.js:127 [72062] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [72063] ScheduleController - getNextFragment Debug.js:127 [72063] Getting the request for video time : 620 Debug.js:127 [72063] Index for video time 620 is 154 Debug.js:127 [72063] SegmentTemplate: 616 / 634.566 Debug.js:127 [72064] Getting the next request at index: 155 Debug.js:127 [72064] SegmentTemplate: 620 / 634.566 Debug.js:127 [72064] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_156.m4v Debug.js:127 [72809] Buffered Range for type: video : 496 - 507.999999 Debug.js:127 [72810] Buffered Range for type: video : 524 - 623.999999 Debug.js:127 [72812] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [72812] ScheduleController - getNextFragment Debug.js:127 [72812] Getting the request for video time : 624 Debug.js:127 [72812] Index for video time 624 is 155 Debug.js:127 [72813] SegmentTemplate: 620 / 634.566 Debug.js:127 [72813] Getting the next request at index: 156 Debug.js:127 [72813] isMediaFinished - no segment found Debug.js:127 [72813] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_157.m4v Debug.js:127 [73551] Buffered Range for type: video : 500 - 507.999999 Debug.js:127 [73551] Buffered Range for type: video : 524 - 627.999999 Debug.js:127 [73553] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [73553] ScheduleController - getNextFragment Debug.js:127 [73553] Getting the request for video time : 628 Debug.js:127 [73554] Index for video time 628 is 156 Debug.js:127 [73554] SegmentTemplate: 624 / 634.566 Debug.js:127 [73554] Getting the next request at index: 157 Debug.js:127 [73554] SegmentTemplate: 628 / 634.566 Debug.js:127 [73555] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_158.m4v Debug.js:127 [74441] Buffered Range for type: video : 504 - 507.999999 Debug.js:127 [74441] Buffered Range for type: video : 524 - 631.999999 Debug.js:127 [74444] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [74444] ScheduleController - getNextFragment Debug.js:127 [74444] Getting the request for video time : 632 Debug.js:127 [74444] Index for video time 632 is 157 Debug.js:127 [74444] SegmentTemplate: 628 / 634.566 Debug.js:127 [74444] Getting the next request at index: 158 Debug.js:127 [74445] SegmentTemplate: 632 / 634.566 Debug.js:127 [74445] ScheduleController - getNextFragment - request is http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps_3840x2160_12000k/bbb_30fps_3840x2160_12000k_159.m4v Debug.js:127 [75039] Buffered Range for type: video : 506 - 507.999999 Debug.js:127 [75039] Buffered Range for type: video : 524 - 634.566666 Debug.js:127 [75042] AbrController (video) stay on 9/9 (buffer: 0) Debug.js:127 [75042] ScheduleController - getNextFragment Debug.js:127 [75042] Getting the request for video time : 636 Debug.js:127 [75042] Index for video time 636 is 158 Debug.js:127 [75043] SegmentTemplate: 632 / 634.566 Debug.js:127 [75043] Getting the next request at index: 159 Debug.js:127 [75043] Signal complete. Debug.js:127 [75043] ScheduleController - getNextFragment - request is null Debug.js:127 [75043] Schedule controller stopping for video Debug.js:127 [75044] Stream is complete Debug.js:127 [75233] Got enough buffer to start.

Bug Investigate

All 13 comments

Hi @arkadash,

Probably I am missing something but I am not able to reproduce this issue. If I didn't understand bad, you are just doing a seek back operation in one of the sample vod streams, isn't it? how frequently you reproduce this issue?

Out of videojs and video-contrib-dash, can you reproduce this issue in latest version of the reference player (http://reference.dashif.org/dash.js/v2.6.0/samples/dash-if-reference-player/index.html)?

It happens sometimes.
I created a simple dedicated HTML with the problem reproduced (attached):
Dash.js version 2.6.0
videojs-contrib-dash 2.9.1
(both latest versions)

Reproduce instructions:

  1. go to the some point in the middle of the media
  2. click on the "step back 10 sec" button
  3. wait and see if the spinner disappear - sometimes it will stay and you can see the loading chunks problem.

demo logs.zip

Got it, I could reproduce the issue in dash.js reference player after the latest instructions (by the way, your zip file can't be accessed. I get an unauthorized response).

I am wonder if this could be related with #2189. Seems a completely different issue, but could be related somehow (issue with management of buffers?).

Uploaded the Html file and console log again as txt:

demo.txt
demo logs.txt

The issue seems to be close to the safari one. The browser is fetching from n+1 which is what I can see in my logs. But I can't be sure if that is the exact same bug origin.

Thank you

@arkadash, has your log been recorded with this stream https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd ?

Yes, I'm using that manifest url.
The demo.txt (you can change it to .html) is a demo that I created in order to simplify my actual code and remove noise from other components. The url can be changed to any manifest, just change the var manifestUrl.
I reproduced it with many manifests files with remote and local file loading (to eliminate network problems).

I think there is two different problems. First one is due to automatic prunning process of buffers done by browser. In your first log, we can see that the video segment at time 308 is already loaded for dash.js. Video buffer range starts at time 310, so actually video segment is not already loaded.
The second issue is due to misaligned video and audio segments. There is no audio data at time 368.865. Audio IndexHandler should return index 91 instead of 92 to be sure to have data at time 368.865.

I'm not sure about the second case. I was able to reproduce this issue with many videos that has audio data at the described time.
Is it somehow possible to fix this issue with configuration without making performance issues? How do I continue from this point?
Thank you,
Moshe.

Hi @arkadash ,

both use cases can occur with all video streams according to me. I don't think that you can fix the issue with configuration. We have to fix it in the dash.js code. It sould be top priority issue to fix in the next release.

Nico

Getting the exact same issue here.

Seeking to an unloaded segment (particularly where there is buffer before/after) leads to an eternal pinwheel.. even when seeking to a spot that previously worked in some cases. It seems it will "recover" itself once... if you seek to an already-loaded segment then seek back, but after that the next time it jams it's jammed for good.

This can happen even when seeking to 0 leading me to believe it is not related to the mpd file or segmentation of the video.

All segments are there, and the video plays perfectly when left to play organically on it's own, also seeking forwards works (even when seeking to the exact same unbuffered section as when trying to "seek backwards").

No network requests are made while this error is happening, leading me to believe the buffer was emptied (by the browser or the player) and the player isn't aware it needs to be reloaeded, and thus doesn't reload from the network (where it infact exists).

here is the error after scrubbing backwards:


Debug.js:127 [37402] Getting the request for video time : 2188 
Debug.js:127 [37402] Index for video time 2188 is 546 
Debug.js:127 [37403] SegmentTemplate: 2184 / 2184.557 
Debug.js:127 [37403] Getting the next request at index: 547 
Debug.js:127 [37403] Signal complete. 
Debug.js:127 [37403] ScheduleController - getNextFragment - request is null 
Debug.js:127 [37404] Schedule controller stopping for video 
Debug.js:127 [37404] Stream is complete 
Debug.js:127 [37632] Got enough buffer to start. 
Debug.js:127 [60346] pruning buffer: 1032.3907170000002 seconds. 
Debug.js:127 [60346] pruning buffer: 1034.2805830000002 seconds. 

and after some seeking/playing/pausing this happens in perpetuity:

Debug.js:127 [229207] isMediaFinished - no segment found 
Debug.js:127 [229209] getNextFragment - Playing at the bleeding live edge and frag is not available yet 
Debug.js:127 [229712] AbrController (video) stay on 2/2 (buffer: 0) 
Debug.js:127 [229713] ScheduleController - getNextFragment 
Debug.js:127 [229714] Prior to making a request for time, NextFragmentRequestRule is aligning index 
handler's currentTime with bufferedRange.end. 2076  was changed to  2184.473955

Just an update, it doesn't happen with 2.4.1 - https://cdnjs.cloudflare.com/ajax/libs/dashjs/2.4.1/dash.all.min.js

This works fine and doesn't exhibit the same bug. additionally, it has far less debug "spam" in the console.

Unfortunately it even happens with 2.4.1 (and lower versions). That's just a matter of being "lucky" enough and do the seek at the right timing. I am currently working on a fix that will share with all of you for testing as soon as it is ready.

Thanks for all the detailed feedback

Fixed in #2272

Was this page helpful?
0 / 5 - 0 ratings