You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operating System: all Shaka Packager Version: 2.4.x
Issue and steps to reproduce the problem
mpeg-ts has 33bit timestamps. After reaching 2^33 it starts from (close to) 0 values. It's known in Shaka so during parsing mpeg-ts unrolling can occur. It happens when PTS and DTS are about to pass 2^33 boudary. Next values read from mpeg-ts are unrolled that is they are continued and incremented beyond 2^33 boundary for DTS to be monotonic increasing.
In very rare case there can be a situation when PTS is very close to 2^33 (right before passing the boudary) and PTS already passed so it has a value a bit above 0. This causes for mpeg-ts parser to unroll only DTS so it next values are very big (and above 2^33) and PTS remain small, right above 0. This causes lot's of problems including:
PTS - DTS is very big
PTS < DTS as PTS is close to 0 and DTS is more than 2^33
During mpeg-ts reading, in this special case PTS should be forced to unroll to maintain PTS close to DTS.
System info
Operating System: all
Shaka Packager Version: 2.4.x
Issue and steps to reproduce the problem
mpeg-ts has 33bit timestamps. After reaching 2^33 it starts from (close to) 0 values. It's known in Shaka so during parsing mpeg-ts unrolling can occur. It happens when PTS and DTS are about to pass 2^33 boudary. Next values read from mpeg-ts are unrolled that is they are continued and incremented beyond 2^33 boundary for DTS to be monotonic increasing.
In very rare case there can be a situation when PTS is very close to 2^33 (right before passing the boudary) and PTS already passed so it has a value a bit above 0. This causes for mpeg-ts parser to unroll only DTS so it next values are very big (and above 2^33) and PTS remain small, right above 0. This causes lot's of problems including:
PTS - DTS
is very bigPTS < DTS
as PTS is close to 0 and DTS is more than 2^33During mpeg-ts reading, in this special case PTS should be forced to unroll to maintain PTS close to DTS.
I've prepared a PR #1050 fixing this.
Packager Command:
Extra steps to reproduce the problem?
(1) Parse attached bear-640x360_ptszero_dtswraparound.ts
It has set DTS close to 2^33 and PTS a bit above 0. I had to attach zip as you did not enable 'ts' files.
What is the expected result?
Properly parse.
What happens instead?
<Please attach the input files or email to [email protected].>
The text was updated successfully, but these errors were encountered: