47 lines
1.7 KiB
C++
47 lines
1.7 KiB
C++
|
|
/*
|
||
|
|
* Copyright (c) 2018 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.
|
||
|
|
*/
|
||
|
|
|
||
|
|
#include "modules/pacing/packet_queue_interface.h"
|
||
|
|
|
||
|
|
namespace webrtc {
|
||
|
|
|
||
|
|
PacketQueueInterface::Packet::Packet(RtpPacketSender::Priority priority,
|
||
|
|
uint32_t ssrc,
|
||
|
|
uint16_t seq_number,
|
||
|
|
int64_t capture_time_ms,
|
||
|
|
int64_t enqueue_time_ms,
|
||
|
|
size_t length_in_bytes,
|
||
|
|
bool retransmission,
|
||
|
|
uint64_t enqueue_order)
|
||
|
|
: priority(priority),
|
||
|
|
ssrc(ssrc),
|
||
|
|
sequence_number(seq_number),
|
||
|
|
capture_time_ms(capture_time_ms),
|
||
|
|
enqueue_time_ms(enqueue_time_ms),
|
||
|
|
sum_paused_ms(0),
|
||
|
|
bytes(length_in_bytes),
|
||
|
|
retransmission(retransmission),
|
||
|
|
enqueue_order(enqueue_order) {}
|
||
|
|
|
||
|
|
PacketQueueInterface::Packet::Packet(const Packet& other) = default;
|
||
|
|
|
||
|
|
PacketQueueInterface::Packet::~Packet() {}
|
||
|
|
|
||
|
|
bool PacketQueueInterface::Packet::operator<(
|
||
|
|
const PacketQueueInterface::Packet& other) const {
|
||
|
|
if (priority != other.priority)
|
||
|
|
return priority > other.priority;
|
||
|
|
if (retransmission != other.retransmission)
|
||
|
|
return other.retransmission;
|
||
|
|
|
||
|
|
return enqueue_order > other.enqueue_order;
|
||
|
|
}
|
||
|
|
} // namespace webrtc
|