Fix Vp9 flexible mode in RTP ref frame finder.

Bug: webrtc:9643
Change-Id: Ie545dfb982297902f7df1da90008af04c5e67d6e
Reviewed-on: https://webrtc-review.googlesource.com/94901
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24348}
This commit is contained in:
Sergey Silkin
2018-08-20 16:46:05 +02:00
committed by Commit Bot
parent cf42781981
commit d34a188649
2 changed files with 38 additions and 34 deletions

View File

@ -392,8 +392,7 @@ RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp9(
absl::get<RTPVideoHeaderVP9>(*rtp_codec_header);
if (codec_header.picture_id == kNoPictureId ||
codec_header.temporal_idx == kNoTemporalIdx ||
codec_header.tl0_pic_idx == kNoTl0PicIdx) {
codec_header.temporal_idx == kNoTemporalIdx) {
return ManageFrameGeneric(std::move(frame), codec_header.picture_id);
}
@ -418,6 +417,12 @@ RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp9(
return kHandOff;
}
if (codec_header.tl0_pic_idx == kNoTl0PicIdx) {
RTC_LOG(LS_WARNING) << "TL0PICIDX is expected to be present in "
"non-flexible mode.";
return kDrop;
}
GofInfo* info;
int64_t unwrapped_tl0 = tl0_unwrapper_.Unwrap(codec_header.tl0_pic_idx);
if (codec_header.ss_data_available) {