Fix video_replay tool to not accumulate error.
Bug: None Change-Id: I825f971d92ff0185450450434d94441544727700 Reviewed-on: https://webrtc-review.googlesource.com/39040 Reviewed-by: Björn Terelius <terelius@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21596}
This commit is contained in:
parent
2d49e4e18d
commit
02f0396aa1
@ -22,6 +22,7 @@
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/flags.h"
|
||||
#include "rtc_base/string_to_number.h"
|
||||
#include "rtc_base/timeutils.h"
|
||||
#include "system_wrappers/include/clock.h"
|
||||
#include "system_wrappers/include/sleep.h"
|
||||
#include "test/call_test.h"
|
||||
@ -289,13 +290,22 @@ void RtpReplay() {
|
||||
}
|
||||
receive_stream->Start();
|
||||
|
||||
uint32_t last_time_ms = 0;
|
||||
int64_t replay_start_ms = -1;
|
||||
int num_packets = 0;
|
||||
std::map<uint32_t, int> unknown_packets;
|
||||
while (true) {
|
||||
int64_t now_ms = rtc::TimeMillis();
|
||||
if (replay_start_ms == -1)
|
||||
replay_start_ms = now_ms;
|
||||
|
||||
test::RtpPacket packet;
|
||||
if (!rtp_reader->NextPacket(&packet))
|
||||
break;
|
||||
|
||||
int64_t deliver_in_ms = replay_start_ms + packet.time_ms - now_ms;
|
||||
if (deliver_in_ms > 0)
|
||||
SleepMs(deliver_in_ms);
|
||||
|
||||
++num_packets;
|
||||
switch (call->Receiver()->DeliverPacket(
|
||||
webrtc::MediaType::VIDEO,
|
||||
@ -322,10 +332,6 @@ void RtpReplay() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (last_time_ms != 0 && last_time_ms != packet.time_ms) {
|
||||
SleepMs(packet.time_ms - last_time_ms);
|
||||
}
|
||||
last_time_ms = packet.time_ms;
|
||||
}
|
||||
fprintf(stderr, "num_packets: %d\n", num_packets);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user