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 1217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1228 { | 1228 { |
1229 // RTCP-SR-REQ Rapid Synchronisation of RTP Flows | 1229 // RTCP-SR-REQ Rapid Synchronisation of RTP Flows |
1230 // draft-perkins-avt-rapid-rtp-sync-03.txt | 1230 // draft-perkins-avt-rapid-rtp-sync-03.txt |
1231 // trigger a new RTCP SR | 1231 // trigger a new RTCP SR |
1232 _packetType = RTCPPacketTypes::kRtpfbSrReq; | 1232 _packetType = RTCPPacketTypes::kRtpfbSrReq; |
1233 | 1233 |
1234 // Note: No state transition, SR REQ is empty! | 1234 // Note: No state transition, SR REQ is empty! |
1235 return true; | 1235 return true; |
1236 } | 1236 } |
1237 case 15: { | 1237 case 15: { |
1238 _packetType = RTCPPacketTypes::kTransportFeedback; | |
1239 rtcp_packet_ = | 1238 rtcp_packet_ = |
1240 rtcp::TransportFeedback::ParseFrom(_ptrRTCPData - 12, length); | 1239 rtcp::TransportFeedback::ParseFrom(_ptrRTCPData - 12, length); |
1241 // Since we parse the whole packet here, keep the TopLevel state and | 1240 // Since we parse the whole packet here, keep the TopLevel state and |
1242 // just end the current block. | 1241 // just end the current block. |
| 1242 EndCurrentBlock(); |
1243 if (rtcp_packet_.get()) { | 1243 if (rtcp_packet_.get()) { |
1244 EndCurrentBlock(); | 1244 _packetType = RTCPPacketTypes::kTransportFeedback; |
1245 return true; | 1245 return true; |
1246 } | 1246 } |
1247 break; | 1247 break; |
1248 } | 1248 } |
1249 default: | 1249 default: |
1250 break; | 1250 break; |
1251 } | 1251 } |
1252 // Unsupported RTPFB message. Skip and move to next block. | 1252 // Unsupported RTPFB message. Skip and move to next block. |
1253 ++num_skipped_blocks_; | 1253 ++num_skipped_blocks_; |
1254 return false; | 1254 return false; |
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1703 const RTCPUtility::RtcpCommonHeader* | 1703 const RTCPUtility::RtcpCommonHeader* |
1704 RTCPUtility::RTCPPacketIterator::Current() { | 1704 RTCPUtility::RTCPPacketIterator::Current() { |
1705 if (!_ptrBlock) | 1705 if (!_ptrBlock) |
1706 { | 1706 { |
1707 return NULL; | 1707 return NULL; |
1708 } | 1708 } |
1709 | 1709 |
1710 return &_header; | 1710 return &_header; |
1711 } | 1711 } |
1712 } // namespace webrtc | 1712 } // namespace webrtc |
OLD | NEW |