Save unwrapped tl0_pic_idx for inserted VP8 frames.
As stashed frames are retried their `tl0_pic_idx` are again unwrapped which can lead to the `tl0_unwrapper_` to unwrap the `tl0_pic_idx` of newer frames backwards. Instead unwrap the `tl0_pid_idx` only once and save it with the frame if necessary. Related VP9 CL: https://webrtc-review.googlesource.com/c/src/+/253844 Bug: none Change-Id: I8265dc5f36ee257db92d79cec719f56b165d3855 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256966 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36356}
This commit is contained in:
@ -357,4 +357,14 @@ TEST_F(RtpVp8RefFinderTest, Vp8DetectMissingFrame_0212) {
|
||||
EXPECT_THAT(frames_, HasFrameWithIdAndRefs(8, {5, 6, 7}));
|
||||
}
|
||||
|
||||
TEST_F(RtpVp8RefFinderTest, StashedFramesDoNotWrapTl0Backwards) {
|
||||
Insert(Frame().Pid(0).Tid(0).Tl0(0));
|
||||
EXPECT_THAT(frames_, SizeIs(0));
|
||||
|
||||
Insert(Frame().Pid(128).Tid(0).Tl0(128).AsKeyFrame());
|
||||
EXPECT_THAT(frames_, SizeIs(1));
|
||||
Insert(Frame().Pid(129).Tid(0).Tl0(129));
|
||||
EXPECT_THAT(frames_, SizeIs(2));
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user