OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 while (pktType != RTCPPacketTypes::kInvalid) { | 288 while (pktType != RTCPPacketTypes::kInvalid) { |
289 // Each "case" is responsible for iterate the parser to the | 289 // Each "case" is responsible for iterate the parser to the |
290 // next top level packet. | 290 // next top level packet. |
291 switch (pktType) | 291 switch (pktType) |
292 { | 292 { |
293 case RTCPPacketTypes::kSr: | 293 case RTCPPacketTypes::kSr: |
294 case RTCPPacketTypes::kRr: | 294 case RTCPPacketTypes::kRr: |
295 HandleSenderReceiverReport(*rtcpParser, rtcpPacketInformation); | 295 HandleSenderReceiverReport(*rtcpParser, rtcpPacketInformation); |
296 break; | 296 break; |
297 case RTCPPacketTypes::kSdes: | 297 case RTCPPacketTypes::kSdes: |
298 HandleSDES(*rtcpParser); | 298 HandleSDES(*rtcpParser, rtcpPacketInformation); |
299 break; | 299 break; |
300 case RTCPPacketTypes::kXrHeader: | 300 case RTCPPacketTypes::kXrHeader: |
301 HandleXrHeader(*rtcpParser, rtcpPacketInformation); | 301 HandleXrHeader(*rtcpParser, rtcpPacketInformation); |
302 break; | 302 break; |
303 case RTCPPacketTypes::kXrReceiverReferenceTime: | 303 case RTCPPacketTypes::kXrReceiverReferenceTime: |
304 HandleXrReceiveReferenceTime(*rtcpParser, rtcpPacketInformation); | 304 HandleXrReceiveReferenceTime(*rtcpParser, rtcpPacketInformation); |
305 break; | 305 break; |
306 case RTCPPacketTypes::kXrDlrrReportBlock: | 306 case RTCPPacketTypes::kXrDlrrReportBlock: |
307 HandleXrDlrrReportBlock(*rtcpParser, rtcpPacketInformation); | 307 HandleXrDlrrReportBlock(*rtcpParser, rtcpPacketInformation); |
308 break; | 308 break; |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
747 boundingSetRec->SetEntry(i, | 747 boundingSetRec->SetEntry(i, |
748 receiveInfo->TmmbnBoundingSet.Tmmbr(i), | 748 receiveInfo->TmmbnBoundingSet.Tmmbr(i), |
749 receiveInfo->TmmbnBoundingSet.PacketOH(i), | 749 receiveInfo->TmmbnBoundingSet.PacketOH(i), |
750 receiveInfo->TmmbnBoundingSet.Ssrc(i)); | 750 receiveInfo->TmmbnBoundingSet.Ssrc(i)); |
751 } | 751 } |
752 } | 752 } |
753 return receiveInfo->TmmbnBoundingSet.lengthOfSet(); | 753 return receiveInfo->TmmbnBoundingSet.lengthOfSet(); |
754 } | 754 } |
755 | 755 |
756 // no need for critsect we have _criticalSectionRTCPReceiver | 756 // no need for critsect we have _criticalSectionRTCPReceiver |
757 void RTCPReceiver::HandleSDES(RTCPUtility::RTCPParserV2& rtcpParser) { | 757 void RTCPReceiver::HandleSDES(RTCPUtility::RTCPParserV2& rtcpParser, |
| 758 RTCPPacketInformation& rtcpPacketInformation) { |
758 RTCPUtility::RTCPPacketTypes pktType = rtcpParser.Iterate(); | 759 RTCPUtility::RTCPPacketTypes pktType = rtcpParser.Iterate(); |
759 while (pktType == RTCPPacketTypes::kSdesChunk) { | 760 while (pktType == RTCPPacketTypes::kSdesChunk) { |
760 HandleSDESChunk(rtcpParser); | 761 HandleSDESChunk(rtcpParser); |
761 pktType = rtcpParser.Iterate(); | 762 pktType = rtcpParser.Iterate(); |
762 } | 763 } |
| 764 rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpSdes; |
763 } | 765 } |
764 | 766 |
765 // no need for critsect we have _criticalSectionRTCPReceiver | 767 // no need for critsect we have _criticalSectionRTCPReceiver |
766 void RTCPReceiver::HandleSDESChunk(RTCPUtility::RTCPParserV2& rtcpParser) { | 768 void RTCPReceiver::HandleSDESChunk(RTCPUtility::RTCPParserV2& rtcpParser) { |
767 const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet(); | 769 const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet(); |
768 RTCPCnameInformation* cnameInfo = | 770 RTCPCnameInformation* cnameInfo = |
769 CreateCnameInformation(rtcpPacket.CName.SenderSSRC); | 771 CreateCnameInformation(rtcpPacket.CName.SenderSSRC); |
770 assert(cnameInfo); | 772 assert(cnameInfo); |
771 | 773 |
772 cnameInfo->name[RTCP_CNAME_SIZE - 1] = 0; | 774 cnameInfo->name[RTCP_CNAME_SIZE - 1] = 0; |
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1444 return -1; | 1446 return -1; |
1445 } | 1447 } |
1446 num += receiveInfo->TmmbrSet.lengthOfSet(); | 1448 num += receiveInfo->TmmbrSet.lengthOfSet(); |
1447 receiveInfoIt++; | 1449 receiveInfoIt++; |
1448 } | 1450 } |
1449 } | 1451 } |
1450 return num; | 1452 return num; |
1451 } | 1453 } |
1452 | 1454 |
1453 } // namespace webrtc | 1455 } // namespace webrtc |
OLD | NEW |