Frame marking RTP header extension (PART 1: implement extension)

Bug: webrtc:7765
Change-Id: I23896d121afd6be4bce5ff4deaf736149efebcdb
Reviewed-on: https://webrtc-review.googlesource.com/85200
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24695}
This commit is contained in:
Johnny Lee
2018-09-11 16:50:49 -04:00
committed by Commit Bot
parent bfd412ef71
commit e0c8b230e7
22 changed files with 191 additions and 2 deletions

View File

@ -236,6 +236,10 @@ bool RtpHeaderParser::Parse(
header->extension.has_video_timing = false;
header->extension.video_timing = {0u, 0u, 0u, 0u, 0u, 0u, false};
header->extension.has_frame_marking = false;
header->extension.frame_marking = {false, false, false, false, false,
kNoTemporalIdx, 0, 0};
if (X) {
/* RTP header extension, RFC 3550.
0 1 2 3
@ -454,6 +458,15 @@ void RtpHeaderParser::ParseOneByteExtensionHeader(
&header->extension.video_timing);
break;
}
case kRtpExtensionFrameMarking: {
if (!FrameMarkingExtension::Parse(rtc::MakeArrayView(ptr, len + 1),
&header->extension.frame_marking)) {
RTC_LOG(LS_WARNING) << "Incorrect frame marking len: " << len;
return;
}
header->extension.has_frame_marking = true;
break;
}
case kRtpExtensionRtpStreamId: {
header->extension.stream_id.Set(rtc::MakeArrayView(ptr, len + 1));
break;