| Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
|
| similarity index 75%
|
| copy from webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc
|
| copy to webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
|
| index fd0219cf82076a7227cb3188d558e252856365f1..4df167de79ebffc8f6597d3aa00b75ce181f50ea 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.cc
|
| @@ -8,22 +8,24 @@
|
| * be found in the AUTHORS file in the root of the source tree.
|
| */
|
|
|
| -#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h"
|
| +#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h"
|
|
|
| #include "webrtc/base/logging.h"
|
| #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
|
|
|
| using webrtc::RTCPUtility::PT_RTPFB;
|
| -using webrtc::RTCPUtility::RTCPPacketRTPFBTMMBN;
|
| +using webrtc::RTCPUtility::RTCPPacketRTPFBTMMBR;
|
| using webrtc::RTCPUtility::RTCPPacketRTPFBTMMBRItem;
|
|
|
| namespace webrtc {
|
| namespace rtcp {
|
| namespace {
|
| const uint32_t kUnusedMediaSourceSsrc0 = 0;
|
| +
|
| void AssignUWord8(uint8_t* buffer, size_t* offset, uint8_t value) {
|
| buffer[(*offset)++] = value;
|
| }
|
| +
|
| void AssignUWord32(uint8_t* buffer, size_t* offset, uint32_t value) {
|
| ByteWriter<uint32_t>::WriteBigEndian(buffer + *offset, value);
|
| *offset += 4;
|
| @@ -63,7 +65,7 @@ void CreateTmmbrItem(const RTCPPacketRTPFBTMMBRItem& tmmbr_item,
|
| AssignUWord8(buffer, pos, tmmbr_item.MeasuredOverhead);
|
| }
|
|
|
| -// Temporary Maximum Media Stream Bit Rate Notification (TMMBN) (RFC 5104).
|
| +// Temporary Maximum Media Stream Bit Rate Request (TMMBR) (RFC 5104).
|
| //
|
| // FCI:
|
| //
|
| @@ -75,33 +77,17 @@ void CreateTmmbrItem(const RTCPPacketRTPFBTMMBRItem& tmmbr_item,
|
| // | MxTBR Exp | MxTBR Mantissa |Measured Overhead|
|
| // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
|
| -void CreateTmmbn(const RTCPPacketRTPFBTMMBN& tmmbn,
|
| - const std::vector<RTCPPacketRTPFBTMMBRItem>& tmmbn_items,
|
| +void CreateTmmbr(const RTCPPacketRTPFBTMMBR& tmmbr,
|
| + const RTCPPacketRTPFBTMMBRItem& tmmbr_item,
|
| uint8_t* buffer,
|
| size_t* pos) {
|
| - AssignUWord32(buffer, pos, tmmbn.SenderSSRC);
|
| + AssignUWord32(buffer, pos, tmmbr.SenderSSRC);
|
| AssignUWord32(buffer, pos, kUnusedMediaSourceSsrc0);
|
| - for (uint8_t i = 0; i < tmmbn_items.size(); ++i) {
|
| - CreateTmmbrItem(tmmbn_items[i], buffer, pos);
|
| - }
|
| + CreateTmmbrItem(tmmbr_item, buffer, pos);
|
| }
|
| } // namespace
|
|
|
| -bool Tmmbn::WithTmmbr(uint32_t ssrc, uint32_t bitrate_kbps, uint16_t overhead) {
|
| - assert(overhead <= 0x1ff);
|
| - if (tmmbn_items_.size() >= kMaxNumberOfTmmbrs) {
|
| - LOG(LS_WARNING) << "Max TMMBN size reached.";
|
| - return false;
|
| - }
|
| - RTCPPacketRTPFBTMMBRItem tmmbn_item;
|
| - tmmbn_item.SSRC = ssrc;
|
| - tmmbn_item.MaxTotalMediaBitRate = bitrate_kbps;
|
| - tmmbn_item.MeasuredOverhead = overhead;
|
| - tmmbn_items_.push_back(tmmbn_item);
|
| - return true;
|
| -}
|
| -
|
| -bool Tmmbn::Create(uint8_t* packet,
|
| +bool Tmmbr::Create(uint8_t* packet,
|
| size_t* index,
|
| size_t max_length,
|
| RtcpPacket::PacketReadyCallback* callback) const {
|
| @@ -109,9 +95,9 @@ bool Tmmbn::Create(uint8_t* packet,
|
| if (!OnBufferFull(packet, index, callback))
|
| return false;
|
| }
|
| - const uint8_t kFmt = 4;
|
| + const uint8_t kFmt = 3;
|
| CreateHeader(kFmt, PT_RTPFB, HeaderLength(), packet, index);
|
| - CreateTmmbn(tmmbn_, tmmbn_items_, packet, index);
|
| + CreateTmmbr(tmmbr_, tmmbr_item_, packet, index);
|
| return true;
|
| }
|
|
|
|
|