Index: webrtc/modules/video_coding/rtp_frame_reference_finder.cc |
diff --git a/webrtc/modules/video_coding/rtp_frame_reference_finder.cc b/webrtc/modules/video_coding/rtp_frame_reference_finder.cc |
index 8d74c363c511b07420f961e75f93e152c8df71df..52947cb2d077a5bef2fd458bd0ae3a46eb5f1498 100644 |
--- a/webrtc/modules/video_coding/rtp_frame_reference_finder.cc |
+++ b/webrtc/modules/video_coding/rtp_frame_reference_finder.cc |
@@ -285,7 +285,7 @@ RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp8( |
if (frame->frame_type() == kVideoFrameKey) { |
frame->num_references = 0; |
layer_info_[codec_header.tl0PicIdx].fill(-1); |
- UpdateLayerInfoVp8(frame); |
+ UpdateLayerInfoVp8(frame, codec_header); |
return kHandOff; |
} |
@@ -307,7 +307,7 @@ RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp8( |
.first; |
frame->num_references = 1; |
frame->references[0] = layer_info_it->second[0]; |
- UpdateLayerInfoVp8(frame); |
+ UpdateLayerInfoVp8(frame, codec_header); |
return kHandOff; |
} |
@@ -316,7 +316,7 @@ RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp8( |
frame->num_references = 1; |
frame->references[0] = layer_info_it->second[0]; |
- UpdateLayerInfoVp8(frame); |
+ UpdateLayerInfoVp8(frame, codec_header); |
return kHandOff; |
} |
@@ -359,15 +359,13 @@ RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp8( |
frame->references[layer] = layer_info_it->second[layer]; |
} |
- UpdateLayerInfoVp8(frame); |
+ UpdateLayerInfoVp8(frame, codec_header); |
return kHandOff; |
} |
-void RtpFrameReferenceFinder::UpdateLayerInfoVp8(RtpFrameObject* frame) { |
- rtc::Optional<RTPVideoTypeHeader> rtp_codec_header = frame->GetCodecHeader(); |
- RTC_DCHECK(rtp_codec_header); |
- const RTPVideoHeaderVP8& codec_header = rtp_codec_header->VP8; |
- |
+void RtpFrameReferenceFinder::UpdateLayerInfoVp8( |
+ RtpFrameObject* frame, |
+ const RTPVideoHeaderVP8& codec_header) { |
uint8_t tl0_pic_idx = codec_header.tl0PicIdx; |
uint8_t temporal_index = codec_header.temporalIdx; |
auto layer_info_it = layer_info_.find(tl0_pic_idx); |
@@ -394,7 +392,9 @@ void RtpFrameReferenceFinder::UpdateLayerInfoVp8(RtpFrameObject* frame) { |
RtpFrameReferenceFinder::FrameDecision RtpFrameReferenceFinder::ManageFrameVp9( |
RtpFrameObject* frame) { |
rtc::Optional<RTPVideoTypeHeader> rtp_codec_header = frame->GetCodecHeader(); |
- RTC_DCHECK(rtp_codec_header); |
+ if (!rtp_codec_header) |
philipel
2017/08/30 08:54:37
I thought I had made this change at some earlier p
|
+ return kDrop; |
+ |
const RTPVideoHeaderVP9& codec_header = rtp_codec_header->VP9; |
if (codec_header.picture_id == kNoPictureId || |