Open Bug 1909750 Opened 3 months ago Updated 1 month ago

Frame duration truncation in RemoveFrames() from frame insertion does not update `mBufferedRanges`

Categories

(Core :: Audio/Video: Playback, defect)

defect

Tracking

()

People

(Reporter: karlt, Assigned: karlt)

References

(Depends on 1 open bug, Blocks 3 open bugs)

Details

https://searchfox.org/mozilla-central/rev/b3c85ac11d004fdb582577cd8f674efa44b0e253/dom/media/mediasource/TrackBuffersManager.cpp#2532

Often this is not a problem because the new frame fills the interval truncated from the existing frame, but the new frame's duration might not be long enough to do this (if the frame rate has changed).

Also inaccuracies in TimeUnit arithmetic for duration calculations, due to different denominators for start and end, can mean that the new frame is no longer adjacent to the truncated frame, and so will not fill the truncated interval for this reason, resulting in symptoms like bug 1909543.

https://hg.mozilla.org/try/rev/860877a02102c7fbea6b0a54f52306e2697e638f has a test.
Still investigating inconsistent results.

Blocks: 1911008
No longer blocks: 1911008
Depends on: 1911008
Blocks: 1914844
You need to log in before you can comment on or make changes to this bug.