Restore IsStreamingMode on recovery; guard superseded-load else-branch
RecoverFromFailedRefill now sets IsStreamingMode=true so the in-place seek-retry route isn't wedged. The generic-catch unload path is gated on the loadCts identity, so a superseded load no longer clobbers a newer operation's state.
This commit is contained in:
@@ -353,6 +353,8 @@ public class SegmentedStreamLoopTests
|
||||
"a truncated segment while cursor < totalLength is a failure: scheduler must be halted via recovery");
|
||||
Assert.That(player.IsLoaded, Is.True,
|
||||
"recovery leaves the track loaded so the listener can retry — not torn down to unloaded");
|
||||
Assert.That(player.IsStreamingMode, Is.True,
|
||||
"recovery must restore IsStreamingMode=true so Seek() is not wedged (AC6 / Phase 21.3 retry contract)");
|
||||
Assert.That(player.IsPaused, Is.True,
|
||||
"recovery settles into a paused state, not playing");
|
||||
Assert.That(player.ErrorMessage, Is.Not.Null.And.Not.Empty,
|
||||
@@ -381,6 +383,8 @@ public class SegmentedStreamLoopTests
|
||||
"a mid-stream fetch failure must halt the scheduler via recovery, not leave it to drain");
|
||||
Assert.That(player.IsLoaded, Is.True,
|
||||
"recovery leaves the track loaded so the listener can retry — not torn down to unloaded");
|
||||
Assert.That(player.IsStreamingMode, Is.True,
|
||||
"recovery must restore IsStreamingMode=true so Seek() is not wedged (AC6 / Phase 21.3 retry contract)");
|
||||
Assert.That(player.IsPaused, Is.True,
|
||||
"recovery settles into a paused state, not playing");
|
||||
Assert.That(player.ErrorMessage, Is.Not.Null.And.Not.Empty,
|
||||
|
||||
Reference in New Issue
Block a user