| 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 4b5ecfa6983d61cba3ebaf9adc74496858c7f4bf..d09ec7a4fd729451acdddf85f87750541d33f85d 100644 | 
| --- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc | 
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc | 
| @@ -249,6 +249,9 @@ bool RtpHeaderParser::Parse(RTPHeader* header, | 
| header->extension.has_video_timing = false; | 
| header->extension.video_timing = {0u, 0u, 0u, 0u, 0u, 0u, false}; | 
|  | 
| +  // May not be present in packet. | 
| +  header->extension.has_frame_marks = false; | 
| + | 
| if (X) { | 
| /* RTP header extension, RFC 3550. | 
| 0                   1                   2                   3 | 
| @@ -483,6 +486,15 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( | 
| header->extension.mid.Set(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.has_frame_marks = true; | 
| +          break; | 
| +        } | 
| case kRtpExtensionNone: | 
| case kRtpExtensionNumberOfExtensions: { | 
| RTC_NOTREACHED() << "Invalid extension type: " << type; | 
|  |