Index: webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
index be03d9b41a7606c66f8c45bc52d7a3d606273b12..fe251e01319a8ec932b382a3e40c0cd072e934b2 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
@@ -279,31 +279,6 @@ void CreateSli(const RTCPPacketPSFBSLI& sli, |
AssignUWord8(buffer, pos, (sli_item.NumberOfMB << 6) + sli_item.PictureId); |
} |
-// Generic NACK (RFC 4585). |
-// |
-// FCI: |
-// |
-// 0 1 2 3 |
-// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
-// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
-// | PID | BLP | |
-// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- |
-void CreateNack(const RTCPPacketRTPFBNACK& nack, |
- const std::vector<RTCPPacketRTPFBNACKItem>& nack_fields, |
- size_t start_index, |
- size_t end_index, |
- uint8_t* buffer, |
- size_t* pos) { |
- AssignUWord32(buffer, pos, nack.SenderSSRC); |
- AssignUWord32(buffer, pos, nack.MediaSSRC); |
- for (size_t i = start_index; i < end_index; ++i) { |
- const RTCPPacketRTPFBNACKItem& nack_item = nack_fields[i]; |
- AssignUWord16(buffer, pos, nack_item.PacketID); |
- AssignUWord16(buffer, pos, nack_item.BitMask); |
- } |
-} |
- |
// Reference picture selection indication (RPSI) (RFC 4585). |
// |
// FCI: |
@@ -852,65 +827,6 @@ bool Sli::Create(uint8_t* packet, |
return true; |
} |
-bool Nack::Create(uint8_t* packet, |
- size_t* index, |
- size_t max_length, |
- RtcpPacket::PacketReadyCallback* callback) const { |
- assert(!nack_fields_.empty()); |
- // If nack list can't fit in packet, try to fragment. |
- size_t nack_index = 0; |
- do { |
- size_t bytes_left_in_buffer = max_length - *index; |
- if (bytes_left_in_buffer < kCommonFbFmtLength + 4) { |
- if (!OnBufferFull(packet, index, callback)) |
- return false; |
- continue; |
- } |
- int64_t num_nack_fields = |
- std::min((bytes_left_in_buffer - kCommonFbFmtLength) / 4, |
- nack_fields_.size() - nack_index); |
- |
- const uint8_t kFmt = 1; |
- size_t size_bytes = (num_nack_fields * 4) + kCommonFbFmtLength; |
- size_t header_length = ((size_bytes + 3) / 4) - 1; // As 32bit words - 1 |
- CreateHeader(kFmt, PT_RTPFB, header_length, packet, index); |
- CreateNack(nack_, nack_fields_, nack_index, nack_index + num_nack_fields, |
- packet, index); |
- |
- nack_index += num_nack_fields; |
- } while (nack_index < nack_fields_.size()); |
- |
- return true; |
-} |
- |
-size_t Nack::BlockLength() const { |
- return (nack_fields_.size() * 4) + kCommonFbFmtLength; |
-} |
- |
-void Nack::WithList(const uint16_t* nack_list, int length) { |
- assert(nack_list); |
- assert(nack_fields_.empty()); |
- int i = 0; |
- while (i < length) { |
- uint16_t pid = nack_list[i++]; |
- // Bitmask specifies losses in any of the 16 packets following the pid. |
- uint16_t bitmask = 0; |
- while (i < length) { |
- int shift = static_cast<uint16_t>(nack_list[i] - pid) - 1; |
- if (shift >= 0 && shift <= 15) { |
- bitmask |= (1 << shift); |
- ++i; |
- } else { |
- break; |
- } |
- } |
- RTCPUtility::RTCPPacketRTPFBNACKItem item; |
- item.PacketID = pid; |
- item.BitMask = bitmask; |
- nack_fields_.push_back(item); |
- } |
-} |
- |
bool Rpsi::Create(uint8_t* packet, |
size_t* index, |
size_t max_length, |