Stage 1 rewrite
This commit is contained in:
@@ -39,8 +39,11 @@ void TestScheduleAdvancesFromZero()
|
||||
|
||||
void TestLateAndDroppedRecoveryUsesMeasuredPressure()
|
||||
{
|
||||
VideoPlayoutPolicy policy;
|
||||
policy.lateOrDropCatchUpFrames = 2;
|
||||
|
||||
VideoPlayoutScheduler scheduler;
|
||||
scheduler.Configure(1000, 50000);
|
||||
scheduler.Configure(1000, 50000, policy);
|
||||
|
||||
(void)scheduler.NextScheduleTime();
|
||||
VideoPlayoutRecoveryDecision lateDecision = scheduler.AccountForCompletionResult(VideoIOCompletionResult::DisplayedLate, 2);
|
||||
@@ -55,6 +58,18 @@ void TestLateAndDroppedRecoveryUsesMeasuredPressure()
|
||||
Expect(scheduler.NextScheduleTime().streamTime == 5000, "drop recovery advances by measured lag");
|
||||
}
|
||||
|
||||
void TestDefaultPolicyReportsLagWithoutSkippingScheduleTime()
|
||||
{
|
||||
VideoPlayoutScheduler scheduler;
|
||||
scheduler.Configure(1000, 50000);
|
||||
|
||||
(void)scheduler.NextScheduleTime();
|
||||
VideoPlayoutRecoveryDecision decision = scheduler.AccountForCompletionResult(VideoIOCompletionResult::Dropped, 0);
|
||||
Expect(decision.measuredLagFrames > 0, "default policy still measures dropped-frame lag");
|
||||
Expect(decision.catchUpFrames == 0, "default policy does not skip schedule time");
|
||||
Expect(scheduler.NextScheduleTime().streamTime == 1000, "default recovery keeps stream time continuous");
|
||||
}
|
||||
|
||||
void TestMeasuredRecoveryIsCappedByPolicy()
|
||||
{
|
||||
VideoPlayoutPolicy policy;
|
||||
@@ -117,6 +132,7 @@ int main()
|
||||
{
|
||||
TestScheduleAdvancesFromZero();
|
||||
TestLateAndDroppedRecoveryUsesMeasuredPressure();
|
||||
TestDefaultPolicyReportsLagWithoutSkippingScheduleTime();
|
||||
TestMeasuredRecoveryIsCappedByPolicy();
|
||||
TestCleanCompletionTracksCompletedIndexAndClearsStreaks();
|
||||
TestPolicyNormalization();
|
||||
|
||||
Reference in New Issue
Block a user