Index: webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
index f959087c99deee8daf8b4fbf39061b2ba7d2e5f7..2aea556427a76a0cce18c69701ae3b95113a4efa 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
@@ -251,6 +251,8 @@ bool RtpHeaderParser::Parse(RTPHeader* header, |
header->extension.hasVideoContentType = false; |
header->extension.videoContentType = VideoContentType::UNSPECIFIED; |
+ // May not be present in packet. |
+ header->extension.hasFrameMarks = false; |
header->extension.has_video_timing = false; |
header->extension.video_timing = {0u, 0u, 0u, 0u, 0u, 0u, false}; |
@@ -484,6 +486,15 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
rtc::MakeArrayView(ptr, len + 1)); |
break; |
} |
+ case kRtpExtensionFrameMarking: { |
+ if (!FrameMarking::Parse(rtc::MakeArrayView(ptr, len + 1), |
+ &header->extension.frame_marks)) { |
+ LOG(LS_WARNING) << "Incorrect frame marking extension"; |
+ return; |
+ } |
+ header->extension.hasFrameMarks = true; |
+ break; |
+ } |
case kRtpExtensionNone: |
case kRtpExtensionNumberOfExtensions: { |
RTC_NOTREACHED() << "Invalid extension type: " << type; |