Fix bug where rtcp::TransportFeedback may generate incorrect messages.
In particular, if 14 short deltas were inserted (2 * capacity of status vector chunk with 2bit items) followed by a large delta, that status item would be dropped. BUG= Review URL: https://codereview.webrtc.org/1367193002 Cr-Commit-Position: refs/heads/master@{#10132}
This commit is contained in:
@ -1235,13 +1235,13 @@ bool RTCPUtility::RTCPParserV2::ParseFBCommon(const RtcpCommonHeader& header) {
|
||||
return true;
|
||||
}
|
||||
case 15: {
|
||||
_packetType = RTCPPacketTypes::kTransportFeedback;
|
||||
rtcp_packet_ =
|
||||
rtcp::TransportFeedback::ParseFrom(_ptrRTCPData - 12, length);
|
||||
// Since we parse the whole packet here, keep the TopLevel state and
|
||||
// just end the current block.
|
||||
EndCurrentBlock();
|
||||
if (rtcp_packet_.get()) {
|
||||
EndCurrentBlock();
|
||||
_packetType = RTCPPacketTypes::kTransportFeedback;
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user