Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.cc |
index ac5fc1a68fe1bf7e8abff5c8fcf072b1dffa0d68..2f59fbbd55f3d387f8e89f85248065d6697fed83 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.cc |
@@ -9,8 +9,6 @@ |
*/ |
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.h" |
- |
-#include <utility> |
#include "webrtc/base/checks.h" |
#include "webrtc/base/logging.h" |
@@ -83,12 +81,22 @@ |
return true; |
} |
-bool Remb::SetSsrcs(std::vector<uint32_t> ssrcs) { |
- if (ssrcs.size() > kMaxNumberOfSsrcs) { |
+bool Remb::AppliesTo(uint32_t ssrc) { |
+ if (ssrcs_.size() >= kMaxNumberOfSsrcs) { |
+ LOG(LS_WARNING) << "Max number of REMB feedback SSRCs reached."; |
+ return false; |
+ } |
+ ssrcs_.push_back(ssrc); |
+ return true; |
+} |
+ |
+bool Remb::AppliesToMany(const std::vector<uint32_t>& ssrcs) { |
+ if (ssrcs_.size() + ssrcs.size() > kMaxNumberOfSsrcs) { |
LOG(LS_WARNING) << "Not enough space for all given SSRCs."; |
return false; |
} |
- ssrcs_ = std::move(ssrcs); |
+ // Append. |
+ ssrcs_.insert(ssrcs_.end(), ssrcs.begin(), ssrcs.end()); |
return true; |
} |