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 06786cb27afdb5b878645ad637c7d43d7af90bae..6f0f948aa3e191a867cae71abe64ac3555e21cca 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
@@ -253,6 +253,9 @@ bool RtpHeaderParser::Parse(RTPHeader* header, |
header->extension.hasVideoContentType = false; |
header->extension.videoContentType = VideoContentType::UNSPECIFIED; |
+ // May not be present in packet. |
+ header->extension.hasFrameMarks = false; |
+ |
if (X) { |
/* RTP header extension, RFC 3550. |
0 1 2 3 |
@@ -473,6 +476,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; |