[DASH] Possibility of playback freezes after an eviction of the period combined with a switchInternal_()
and a fetchAndAppend()
#7516
Labels
component: DASH
The issue involves the MPEG DASH manifest format
priority: P2
Smaller impact or easy workaround
type: bug
Something isn't working correctly
Milestone
Have you read the FAQ and checked for duplicate open issues?
Yes
If the problem is related to FairPlay, have you read the tutorial?
What version of Shaka Player are you using?
all versions > 4.10.16 and 4.11, main, 4.11.9
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
main
?Yes
Are you using the demo app or your own custom app?
demo app
If custom app, can you reproduce the issue using our demo app?
What browser and OS are you using?
Google Chrome, FireFox, Ms Edge
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
I cannot shared publicly urls.
What configuration are you using? What is the output of
player.getNonDefaultConfiguration()
?What did you do?
Playing a live DASH stream with multi-periods for DAI/Blackout.
What did you expect to happen?
Smooth playback without skipping a segment.
What actually happened?
We have something similiar to this bug #7156.
The issues seems introduced by the commit 729afb1.
The issue is always seen when a stream of a period is removed inside
PeriodCombiner.deleteStream()
and just after aStreamingEngine.switchInternal_()
occurs at the same than an ongoingStreamingEngine.fetchAndAppend_()
`.In the context of DASH, this is the result of the release of the
SegmentIndex.references
array andSegmentIndex._templateInfo
. At the end ofStreamingEngine.fetchAndAppend_()
we have 2 non continious timelines:finished fetch and append [{"start":1730126446.310988,"end":1730126476.326988},{"start":1730126482.342988,"end":1730126488.337654}]
Here some logs with extra information (noted [SYNAMEDIA]) for tracking the issue:
v4-11-10-dot-shaka-player-demo.appspot.com-1730126722245.log
Are you planning send a PR to fix it?
Yes, and the plan is do the the same kind of thing than with #7156 by defering the call of the
Stream.closeSegmentIndex()
in a safe timing.The text was updated successfully, but these errors were encountered: