Use Timestamp to represent packet receive timestamps
Before this CL, timestamps of received packets were rounded to the nearest millisecond and stored as int64_t. Due to the rounding it sometimes happened that timestamps later in the pipeline that are not rounded seem to occur even before the video frame was received. Change-Id: I92d8f3540b23baae2d4a1dc6a7cb3f58bcdaad18 Bug: webrtc:12722 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/216398 Reviewed-by: Chen Xing <chxg@google.com> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33916}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
c27c047e3e
commit
f7de74c58c
@ -565,19 +565,19 @@ int NetEqImpl::InsertPacketInternal(const RTPHeader& rtp_header,
|
||||
return kInvalidPointer;
|
||||
}
|
||||
|
||||
int64_t receive_time_ms = clock_->TimeInMilliseconds();
|
||||
Timestamp receive_time = clock_->CurrentTime();
|
||||
stats_->ReceivedPacket();
|
||||
|
||||
PacketList packet_list;
|
||||
// Insert packet in a packet list.
|
||||
packet_list.push_back([&rtp_header, &payload, &receive_time_ms] {
|
||||
packet_list.push_back([&rtp_header, &payload, &receive_time] {
|
||||
// Convert to Packet.
|
||||
Packet packet;
|
||||
packet.payload_type = rtp_header.payloadType;
|
||||
packet.sequence_number = rtp_header.sequenceNumber;
|
||||
packet.timestamp = rtp_header.timestamp;
|
||||
packet.payload.SetData(payload.data(), payload.size());
|
||||
packet.packet_info = RtpPacketInfo(rtp_header, receive_time_ms);
|
||||
packet.packet_info = RtpPacketInfo(rtp_header, receive_time);
|
||||
// Waiting time will be set upon inserting the packet in the buffer.
|
||||
RTC_DCHECK(!packet.waiting_time);
|
||||
return packet;
|
||||
|
||||
Reference in New Issue
Block a user