Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(399)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_utility.h

Issue 1870573004: Fixed rtcp rpsi parsing of invalid packets. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 enum class ParseState { 380 enum class ParseState {
381 State_TopLevel, // Top level packet 381 State_TopLevel, // Top level packet
382 State_ReportBlockItem, // SR/RR report block 382 State_ReportBlockItem, // SR/RR report block
383 State_SDESChunk, // SDES chunk 383 State_SDESChunk, // SDES chunk
384 State_BYEItem, // BYE item 384 State_BYEItem, // BYE item
385 State_ExtendedJitterItem, // Extended jitter report item 385 State_ExtendedJitterItem, // Extended jitter report item
386 State_RTPFB_NACKItem, // NACK FCI item 386 State_RTPFB_NACKItem, // NACK FCI item
387 State_RTPFB_TMMBRItem, // TMMBR FCI item 387 State_RTPFB_TMMBRItem, // TMMBR FCI item
388 State_RTPFB_TMMBNItem, // TMMBN FCI item 388 State_RTPFB_TMMBNItem, // TMMBN FCI item
389 State_PSFB_SLIItem, // SLI FCI item 389 State_PSFB_SLIItem, // SLI FCI item
390 State_PSFB_RPSIItem, // RPSI FCI item
391 State_PSFB_FIRItem, // FIR FCI item 390 State_PSFB_FIRItem, // FIR FCI item
392 State_PSFB_AppItem, // Application specific FCI item 391 State_PSFB_AppItem, // Application specific FCI item
393 State_PSFB_REMBItem, // Application specific REMB item 392 State_PSFB_REMBItem, // Application specific REMB item
394 State_XRItem, 393 State_XRItem,
395 State_XR_DLLRItem, 394 State_XR_DLLRItem,
396 State_AppItem 395 State_AppItem
397 }; 396 };
398 397
399 private: 398 private:
400 void IterateTopLevel(); 399 void IterateTopLevel();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 bool ParseXrDlrr(int block_length_4bytes); 436 bool ParseXrDlrr(int block_length_4bytes);
438 bool ParseXrDlrrItem(); 437 bool ParseXrDlrrItem();
439 bool ParseXrVoipMetricItem(int block_length_4bytes); 438 bool ParseXrVoipMetricItem(int block_length_4bytes);
440 bool ParseXrUnsupportedBlockType(int block_length_4bytes); 439 bool ParseXrUnsupportedBlockType(int block_length_4bytes);
441 440
442 bool ParseFBCommon(const RtcpCommonHeader& header); 441 bool ParseFBCommon(const RtcpCommonHeader& header);
443 bool ParseNACKItem(); 442 bool ParseNACKItem();
444 bool ParseTMMBRItem(); 443 bool ParseTMMBRItem();
445 bool ParseTMMBNItem(); 444 bool ParseTMMBNItem();
446 bool ParseSLIItem(); 445 bool ParseSLIItem();
447 bool ParseRPSIItem(); 446 bool ParseRPSI();
448 bool ParseFIRItem(); 447 bool ParseFIRItem();
449 bool ParsePsfbAppItem(); 448 bool ParsePsfbAppItem();
450 bool ParsePsfbREMBItem(); 449 bool ParsePsfbREMBItem();
451 450
452 bool ParseAPP(const RtcpCommonHeader& header); 451 bool ParseAPP(const RtcpCommonHeader& header);
453 bool ParseAPPItem(); 452 bool ParseAPPItem();
454 453
455 private: 454 private:
456 const uint8_t* const _ptrRTCPDataBegin; 455 const uint8_t* const _ptrRTCPDataBegin;
457 const bool _RTCPReducedSizeEnable; 456 const bool _RTCPReducedSizeEnable;
(...skipping 25 matching lines...) Expand all
483 uint8_t* const _ptrBegin; 482 uint8_t* const _ptrBegin;
484 uint8_t* const _ptrEnd; 483 uint8_t* const _ptrEnd;
485 484
486 uint8_t* _ptrBlock; 485 uint8_t* _ptrBlock;
487 486
488 RtcpCommonHeader _header; 487 RtcpCommonHeader _header;
489 }; 488 };
490 } // namespace RTCPUtility 489 } // namespace RTCPUtility
491 } // namespace webrtc 490 } // namespace webrtc
492 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_UTILITY_H_ 491 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_UTILITY_H_
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_sender_unittest.cc ('k') | webrtc/modules/rtp_rtcp/source/rtcp_utility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698