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 def431f1709499993bac608a993aa0c49e33bc1b..a223b7b27614d9cf1bd28e1e88bb9c03ff106f70 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
@@ -254,6 +254,10 @@ bool RtpHeaderParser::Parse(RTPHeader* header, |
header->extension.playout_delay.min_ms = -1; |
header->extension.playout_delay.max_ms = -1; |
+ // May not be present in packet. |
+ header->extension.hasVideoContentType = false; |
+ header->extension.videoContentType = VideoContentType::kUnspecified; |
+ |
if (X) { |
/* RTP header extension, RFC 3550. |
0 1 2 3 |
@@ -446,6 +450,22 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
max_playout_delay * PlayoutDelayLimits::kGranularityMs; |
break; |
} |
+ case kRtpExtensionVideoContentType: { |
+ if (len != 0) { |
+ LOG(LS_WARNING) << "Incorrect video content type len: " << len; |
+ return; |
+ } |
+ // 0 1 |
+ // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 |
+ // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ // | ID | len=0 | Content type | |
+ // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ |
+ header->extension.hasVideoContentType = true; |
+ header->extension.videoContentType = |
+ static_cast<VideoContentType>(ptr[0]); |
nisse-webrtc
2017/04/06 09:23:22
Here too, might want to reject invalid values.
ilnik
2017/04/06 10:04:49
Done.
|
+ break; |
+ } |
case kRtpExtensionNone: |
case kRtpExtensionNumberOfExtensions: { |
RTC_NOTREACHED() << "Invalid extension type: " << type; |