Frame dropped at multi-period boundary due to inaccurate Period@duration #368
Labels
status: archived
Archived and locked; will not be updated
type: bug
Something isn't working correctly
Milestone
System info
Operating System: Debian 4.9.65
Shaka Packager Version: v2.0.2 with changes
Chrome Version: v65.0.3325.181
Player Version: Shaka Player v2.3.5
Issue and steps to reproduce the problem
Packager Command:
./packager ... --ad_cues '10;29;300'
Extra steps to reproduce the problem?
(1) Play the generated manifest (https://storage.googleapis.com/wvtemp/kqyang/ads4/out.mpd) in Shaka Player
What is the expected result?
Play smoothly.
What happens instead?
Seeing intermittent stalls at multi-period boundary, e.g. at ~12 seconds, ~30 seconds etc.
MPD:
Observation on Chrome with additional debugging:
Clearly there is a rounding error in Chrome causing the frame to be dropped, which causes a gap in buffered range. This in turn leads to playback stalls (not sure why yet).
Chrome internally uses time accurate to microseconds, which is required by MSE spec. To avoid rounding errors like this in browsers, we should generate Period@duration with better than microseconds accuracy.
This problem can also be workarounded in player by having a fudge factor in appendWindowEnd, like what Shaka Player already does in appendWindowStart.
The text was updated successfully, but these errors were encountered: