Verify sender ssrc when receiving rtcp target bitrate

BUG=webrtc:8137

Review-Url: https://codereview.webrtc.org/3000373002
Cr-Commit-Position: refs/heads/master@{#19524}
This commit is contained in:
sprang
2017-08-25 09:06:16 -07:00
committed by Commit Bot
parent cb2bbce4e1
commit a7a4beb419
3 changed files with 21 additions and 3 deletions

View File

@ -688,8 +688,10 @@ void RTCPReceiver::HandleXr(const CommonHeader& rtcp_block,
for (const rtcp::ReceiveTimeInfo& time_info : xr.dlrr().sub_blocks())
HandleXrDlrrReportBlock(time_info);
if (xr.target_bitrate())
HandleXrTargetBitrate(*xr.target_bitrate(), packet_information);
if (xr.target_bitrate()) {
HandleXrTargetBitrate(xr.sender_ssrc(), *xr.target_bitrate(),
packet_information);
}
}
void RTCPReceiver::HandleXrReceiveReferenceTime(uint32_t sender_ssrc,
@ -722,8 +724,13 @@ void RTCPReceiver::HandleXrDlrrReportBlock(const rtcp::ReceiveTimeInfo& rti) {
}
void RTCPReceiver::HandleXrTargetBitrate(
uint32_t ssrc,
const rtcp::TargetBitrate& target_bitrate,
PacketInformation* packet_information) {
if (ssrc != remote_ssrc_) {
return; // Not for us.
}
BitrateAllocation bitrate_allocation;
for (const auto& item : target_bitrate.GetTargetBitrates()) {
if (item.spatial_layer >= kMaxSpatialLayers ||