diff options
Diffstat (limited to 'chromium/third_party/webrtc/modules/audio_coding/neteq4/packet.h')
-rw-r--r-- | chromium/third_party/webrtc/modules/audio_coding/neteq4/packet.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/chromium/third_party/webrtc/modules/audio_coding/neteq4/packet.h b/chromium/third_party/webrtc/modules/audio_coding/neteq4/packet.h deleted file mode 100644 index 4518f91381a..00000000000 --- a/chromium/third_party/webrtc/modules/audio_coding/neteq4/packet.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PACKET_H_ -#define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PACKET_H_ - -#include <list> - -#include "webrtc/modules/interface/module_common_types.h" -#include "webrtc/typedefs.h" - -namespace webrtc { - -// Struct for holding RTP packets. -struct Packet { - RTPHeader header; - uint8_t* payload; // Datagram excluding RTP header and header extension. - int payload_length; - bool primary; // Primary, i.e., not redundant payload. - int waiting_time; - bool sync_packet; - - // Constructor. - Packet() - : payload(NULL), - payload_length(0), - primary(true), - waiting_time(0), - sync_packet(false) { - } - - // Comparison operators. Establish a packet ordering based on (1) timestamp, - // (2) sequence number, (3) regular packet vs sync-packet and (4) redundancy. - // Timestamp and sequence numbers are compared taking wrap-around into - // account. If both timestamp and sequence numbers are identical and one of - // the packets is sync-packet, the regular packet is considered earlier. For - // two regular packets with the same sequence number and timestamp a primary - // payload is considered "smaller" than a secondary. - bool operator==(const Packet& rhs) const { - return (this->header.timestamp == rhs.header.timestamp && - this->header.sequenceNumber == rhs.header.sequenceNumber && - this->primary == rhs.primary && - this->sync_packet == rhs.sync_packet); - } - bool operator!=(const Packet& rhs) const { return !operator==(rhs); } - bool operator<(const Packet& rhs) const { - if (this->header.timestamp == rhs.header.timestamp) { - if (this->header.sequenceNumber == rhs.header.sequenceNumber) { - // Timestamp and sequence numbers are identical. A sync packet should - // be recognized "larger" (i.e. "later") compared to a "network packet" - // (regular packet from network not sync-packet). If none of the packets - // are sync-packets, then deem the left hand side to be "smaller" - // (i.e., "earlier") if it is primary, and right hand side is not. - // - // The condition on sync packets to be larger than "network packets," - // given same RTP sequence number and timestamp, guarantees that a - // "network packet" to be inserted in an earlier position into - // |packet_buffer_| compared to a sync packet of same timestamp and - // sequence number. - if (rhs.sync_packet) - return true; - if (this->sync_packet) - return false; - return (this->primary && !rhs.primary); - } - return (static_cast<uint16_t>(rhs.header.sequenceNumber - - this->header.sequenceNumber) < 0xFFFF / 2); - } - return (static_cast<uint32_t>(rhs.header.timestamp - - this->header.timestamp) < 0xFFFFFFFF / 2); - } - bool operator>(const Packet& rhs) const { return rhs.operator<(*this); } - bool operator<=(const Packet& rhs) const { return !operator>(rhs); } - bool operator>=(const Packet& rhs) const { return !operator<(rhs); } -}; - -// A list of packets. -typedef std::list<Packet*> PacketList; - -} // namespace webrtc -#endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PACKET_H_ |