Open waqarz opened 6 years ago
Do we need to check more vectors? I think we surely do. Is DASH-IF doing anything on this?
The content which are failing to play are the ones having PTO in the SegmentTemplate. Specifically http://dash.akamaized.net/dash264/TestCasesHD/1b/qualcomm/1/MultiRate.mpd has PTO of 1024.
The above issue is observed in Chrome. The same content plays properly in firefox.
Summary: On our recent (random) checks we found that the majortiy of our DASH-IF test vectors do not work on dash.js v2.8.0 on Chrome. Same vectors play on Firefox, hence the error is being reported by MSE.
The issue is that the majority of older vectors had no edit lists to compensate for B frames, hence we have added @presentationtimeoffset (PTO) to achieve the same effect by providing an initial small presentation time offset to compensate for this B frame offset.
Basically Chrome MSE is then complaining to the effect: you are implying that your start decode time is then < 0. Conformance software does not report this issue, since we assume PTO to be an instruction to update only the presentation time (after composition offsets and edits have been applied to decode times) with no side-effects on the decode time. So what should we do?
With respect to point 2 above, this is a very old Chrome issue: https://bugs.chromium.org/p/chromium/issues/detail?id=398141 and https://bugs.chromium.org/p/chromium/issues/detail?id=718641. It was reported in dash.js a long time ago but I guess a tracking ticket was never opened here - see https://github.com/Dash-Industry-Forum/dash.js/issues/1481.
See https://developers.google.com/web/updates/2018/08/chrome-69-media-updates#pts, and https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/I6oGJLym-Tk/Z46le9l4CQAJ.
If your Chrome 69 still reports the issue, try launching it with command line option --enable-features=MseBufferByPts
.
Thanks @davemevans for the details; I now recall its not a new issue and you reported in https://github.com/Dash-Industry-Forum/Test-Vectors/issues/88 and related to https://github.com/Dash-Industry-Forum/Test-Vectors/issues/89.
@niteeshbhat did the test and reports Chrome 69 still doesn't change behavior, even with the command line option. Since already some time this issue is around, we should discuss option#1 in IOP.
Ah yes, those were the issues.
I found that using that command line option did change the behaviour, which is odd.
If this does not work on dash.js v2.8.0, most probably there are others:
Link: http://reference.dashif.org/dash.js/v2.8.0/samples/dash-if-reference-player/index.html?mpd=http://dash.akamaized.net/dash264/TestCasesHD/1b/qualcomm/1/MultiRate.mpd