Add handling of the absolute send time header extension to the rtp_rtcp module.
BUG= R=asapersson@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1480004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4041 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -355,6 +355,9 @@ bool RTPHeaderParser::Parse(WebRtcRTPHeader& parsedPacket,
|
||||
// is zero.
|
||||
parsedPacket.extension.transmissionTimeOffset = 0;
|
||||
|
||||
// May not be present in packet.
|
||||
parsedPacket.extension.absoluteSendTime = 0;
|
||||
|
||||
if (X) {
|
||||
/* RTP header extension, RFC 3550.
|
||||
0 1 2 3
|
||||
@ -466,6 +469,24 @@ void RTPHeaderParser::ParseOneByteExtensionHeader(
|
||||
// level=%u", ID, len, V, level);
|
||||
break;
|
||||
}
|
||||
case kRtpExtensionAbsoluteSendTime: {
|
||||
if (len != 2) {
|
||||
WEBRTC_TRACE(kTraceWarning, kTraceRtpRtcp, -1,
|
||||
"Incorrect absolute send time len: %d", len);
|
||||
return;
|
||||
}
|
||||
// 0 1 2 3
|
||||
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
// | ID | len=2 | absolute send time |
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
|
||||
uint32_t absoluteSendTime = *ptr++ << 16;
|
||||
absoluteSendTime += *ptr++ << 8;
|
||||
absoluteSendTime += *ptr++;
|
||||
parsedPacket.extension.absoluteSendTime = absoluteSendTime;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
WEBRTC_TRACE(kTraceStream, kTraceRtpRtcp, -1,
|
||||
"Extension type not implemented.");
|
||||
|
||||
Reference in New Issue
Block a user