Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jmillan committed Feb 1, 2023
1 parent 969f333 commit c1db768
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions worker/test/src/RTC/Codecs/TestVP8.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -322,4 +322,68 @@ SCENARIO("process VP8 payload descriptor", "[codecs][vp8]")
forwarded = ProcessPacket(context, 1, 0, 1);
REQUIRE_FALSE(forwarded);
}

SECTION("old packets with higher temporal layer than current are dropped")
{
RTC::Codecs::EncodingContext::Params params;
params.spatialLayers = 0;
params.temporalLayers = 2;
Codecs::VP8::EncodingContext context(params);
context.SyncRequired();

context.SetCurrentTemporalLayer(0);
context.SetTargetTemporalLayer(0);

// Frame 1.
auto forwarded = ProcessPacket(context, 1, 0, 0);
REQUIRE(forwarded);
REQUIRE(forwarded->pictureId == 1);
REQUIRE(forwarded->tlIndex == 0);
REQUIRE(forwarded->tl0PictureIndex == 1);

// Frame 2.
forwarded = ProcessPacket(context, 2, 0, 0);
REQUIRE(forwarded);
REQUIRE(forwarded->pictureId == 2);
REQUIRE(forwarded->tlIndex == 0);
REQUIRE(forwarded->tl0PictureIndex == 1);

// Frame 3. Old packet with higher temporal layer than current.
forwarded = ProcessPacket(context, 0, 0, 1);
REQUIRE_FALSE(forwarded);
REQUIRE(context.GetCurrentTemporalLayer() == 0);
}

SECTION("packets with higher temporal layer than current are dropped")
{
RTC::Codecs::EncodingContext::Params params;
params.spatialLayers = 0;
params.temporalLayers = 2;
Codecs::VP8::EncodingContext context(params);
context.SyncRequired();

context.SetCurrentTemporalLayer(0);
context.SetTargetTemporalLayer(0);

// Frame 1.
auto forwarded = ProcessPacket(context, 1, 0, 0);
REQUIRE(forwarded);
REQUIRE(forwarded->pictureId == 1);
REQUIRE(forwarded->tlIndex == 0);
REQUIRE(forwarded->tl0PictureIndex == 1);

// Frame 2.
forwarded = ProcessPacket(context, 2, 0, 0);
REQUIRE(forwarded);
REQUIRE(forwarded->pictureId == 2);
REQUIRE(forwarded->tlIndex == 0);
REQUIRE(forwarded->tl0PictureIndex == 1);

context.SetTargetTemporalLayer(2);

// Frame 3. Old packet with higher temporal layer than current.
forwarded = ProcessPacket(context, 3, 0, 1);
REQUIRE_FALSE(forwarded);
REQUIRE(context.GetCurrentTemporalLayer() == 0);
}
}

0 comments on commit c1db768

Please sign in to comment.