Add RtcEvent::timestamp_ms()

Bug: webrtc:8111
Change-Id: I0ec7eda2b2afcd945625fb9f5d592e73a97992e3
Reviewed-on: https://webrtc-review.googlesource.com/c/109861
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25597}
This commit is contained in:
Elad Alon 2018-11-09 21:52:32 +01:00 committed by Commit Bot
parent 89f874eb39
commit f4a3f9cc25
3 changed files with 47 additions and 48 deletions

View File

@ -296,7 +296,7 @@ void EncodeRtcpPacket(rtc::ArrayView<const EventType*> batch,
// Base event
const EventType* const base_event = batch[0];
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
{
uint8_t buffer[IP_PACKET_SIZE];
size_t buffer_length =
@ -316,9 +316,9 @@ void EncodeRtcpPacket(rtc::ArrayView<const EventType*> batch,
// timestamp_ms
for (size_t i = 0; i < values.size(); ++i) {
const EventType* event = batch[i + 1];
values[i] = event->timestamp_us() / 1000;
values[i] = event->timestamp_ms();
}
encoded_deltas = EncodeDeltas(base_event->timestamp_us() / 1000, values);
encoded_deltas = EncodeDeltas(base_event->timestamp_ms(), values);
if (!encoded_deltas.empty()) {
proto_batch->set_timestamp_ms_deltas(encoded_deltas);
}
@ -347,7 +347,7 @@ void EncodeRtpPacket(const std::vector<const EventType*>& batch,
// Base event
const EventType* const base_event = batch[0];
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_marker(base_event->header().Marker());
// TODO(terelius): Is payload type needed?
proto_batch->set_payload_type(base_event->header().PayloadType());
@ -428,9 +428,9 @@ void EncodeRtpPacket(const std::vector<const EventType*>& batch,
// timestamp_ms (event)
for (size_t i = 0; i < values.size(); ++i) {
const EventType* event = batch[i + 1];
values[i] = event->timestamp_us() / 1000;
values[i] = event->timestamp_ms();
}
encoded_deltas = EncodeDeltas(base_event->timestamp_us() / 1000, values);
encoded_deltas = EncodeDeltas(base_event->timestamp_ms(), values);
if (!encoded_deltas.empty()) {
proto_batch->set_timestamp_ms_deltas(encoded_deltas);
}
@ -811,7 +811,7 @@ void RtcEventLogEncoderNewFormat::EncodeAlrState(
rtclog2::EventStream* event_stream) {
for (const RtcEventAlrState* base_event : batch) {
rtclog2::AlrState* proto_batch = event_stream->add_alr_states();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_in_alr(base_event->in_alr());
}
// TODO(terelius): Should we delta-compress this event type?
@ -827,7 +827,7 @@ void RtcEventLogEncoderNewFormat::EncodeAudioNetworkAdaptation(
const RtcEventAudioNetworkAdaptation* const base_event = batch[0];
rtclog2::AudioNetworkAdaptations* proto_batch =
event_stream->add_audio_network_adaptations();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
if (base_event->config().bitrate_bps.has_value())
proto_batch->set_bitrate_bps(base_event->config().bitrate_bps.value());
if (base_event->config().frame_length_ms.has_value()) {
@ -859,9 +859,9 @@ void RtcEventLogEncoderNewFormat::EncodeAudioNetworkAdaptation(
// timestamp_ms
for (size_t i = 0; i < values.size(); ++i) {
const RtcEventAudioNetworkAdaptation* event = batch[i + 1];
values[i] = event->timestamp_us() / 1000;
values[i] = event->timestamp_ms();
}
encoded_deltas = EncodeDeltas(base_event->timestamp_us() / 1000, values);
encoded_deltas = EncodeDeltas(base_event->timestamp_ms(), values);
if (!encoded_deltas.empty()) {
proto_batch->set_timestamp_ms_deltas(encoded_deltas);
}
@ -958,7 +958,7 @@ void RtcEventLogEncoderNewFormat::EncodeAudioPlayout(
const RtcEventAudioPlayout* const base_event = batch[0];
rtclog2::AudioPlayoutEvents* proto_batch =
event_stream->add_audio_playout_events();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_local_ssrc(base_event->ssrc());
if (batch.size() == 1)
@ -972,9 +972,9 @@ void RtcEventLogEncoderNewFormat::EncodeAudioPlayout(
// timestamp_ms
for (size_t i = 0; i < values.size(); ++i) {
const RtcEventAudioPlayout* event = batch[i + 1];
values[i] = event->timestamp_us() / 1000;
values[i] = event->timestamp_ms();
}
encoded_deltas = EncodeDeltas(base_event->timestamp_us() / 1000, values);
encoded_deltas = EncodeDeltas(base_event->timestamp_ms(), values);
if (!encoded_deltas.empty()) {
proto_batch->set_timestamp_ms_deltas(encoded_deltas);
}
@ -996,7 +996,7 @@ void RtcEventLogEncoderNewFormat::EncodeAudioRecvStreamConfig(
for (const RtcEventAudioReceiveStreamConfig* base_event : batch) {
rtclog2::AudioRecvStreamConfig* proto_batch =
event_stream->add_audio_recv_stream_configs();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_remote_ssrc(base_event->config().remote_ssrc);
proto_batch->set_local_ssrc(base_event->config().local_ssrc);
if (!base_event->config().rsid.empty())
@ -1017,7 +1017,7 @@ void RtcEventLogEncoderNewFormat::EncodeAudioSendStreamConfig(
for (const RtcEventAudioSendStreamConfig* base_event : batch) {
rtclog2::AudioSendStreamConfig* proto_batch =
event_stream->add_audio_send_stream_configs();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_ssrc(base_event->config().local_ssrc);
if (!base_event->config().rsid.empty())
proto_batch->set_rsid(base_event->config().rsid);
@ -1041,7 +1041,7 @@ void RtcEventLogEncoderNewFormat::EncodeBweUpdateDelayBased(
const RtcEventBweUpdateDelayBased* const base_event = batch[0];
rtclog2::DelayBasedBweUpdates* proto_batch =
event_stream->add_delay_based_bwe_updates();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_bitrate_bps(base_event->bitrate_bps());
proto_batch->set_detector_state(
ConvertToProtoFormat(base_event->detector_state()));
@ -1057,9 +1057,9 @@ void RtcEventLogEncoderNewFormat::EncodeBweUpdateDelayBased(
// timestamp_ms
for (size_t i = 0; i < values.size(); ++i) {
const RtcEventBweUpdateDelayBased* event = batch[i + 1];
values[i] = event->timestamp_us() / 1000;
values[i] = event->timestamp_ms();
}
encoded_deltas = EncodeDeltas(base_event->timestamp_us() / 1000, values);
encoded_deltas = EncodeDeltas(base_event->timestamp_ms(), values);
if (!encoded_deltas.empty()) {
proto_batch->set_timestamp_ms_deltas(encoded_deltas);
}
@ -1098,7 +1098,7 @@ void RtcEventLogEncoderNewFormat::EncodeBweUpdateLossBased(
const RtcEventBweUpdateLossBased* const base_event = batch[0];
rtclog2::LossBasedBweUpdates* proto_batch =
event_stream->add_loss_based_bwe_updates();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_bitrate_bps(base_event->bitrate_bps());
proto_batch->set_fraction_loss(base_event->fraction_loss());
proto_batch->set_total_packets(base_event->total_packets());
@ -1114,9 +1114,9 @@ void RtcEventLogEncoderNewFormat::EncodeBweUpdateLossBased(
// timestamp_ms
for (size_t i = 0; i < values.size(); ++i) {
const RtcEventBweUpdateLossBased* event = batch[i + 1];
values[i] = event->timestamp_us() / 1000;
values[i] = event->timestamp_ms();
}
encoded_deltas = EncodeDeltas(base_event->timestamp_us() / 1000, values);
encoded_deltas = EncodeDeltas(base_event->timestamp_ms(), values);
if (!encoded_deltas.empty()) {
proto_batch->set_timestamp_ms_deltas(encoded_deltas);
}
@ -1157,7 +1157,7 @@ void RtcEventLogEncoderNewFormat::EncodeProbeClusterCreated(
rtclog2::EventStream* event_stream) {
for (const RtcEventProbeClusterCreated* base_event : batch) {
rtclog2::BweProbeCluster* proto_batch = event_stream->add_probe_clusters();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_id(base_event->id());
proto_batch->set_bitrate_bps(base_event->bitrate_bps());
proto_batch->set_min_packets(base_event->min_probes());
@ -1171,7 +1171,7 @@ void RtcEventLogEncoderNewFormat::EncodeProbeResultFailure(
for (const RtcEventProbeResultFailure* base_event : batch) {
rtclog2::BweProbeResultFailure* proto_batch =
event_stream->add_probe_failure();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_id(base_event->id());
proto_batch->set_failure(
ConvertToProtoFormat(base_event->failure_reason()));
@ -1185,7 +1185,7 @@ void RtcEventLogEncoderNewFormat::EncodeProbeResultSuccess(
for (const RtcEventProbeResultSuccess* base_event : batch) {
rtclog2::BweProbeResultSuccess* proto_batch =
event_stream->add_probe_success();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_id(base_event->id());
proto_batch->set_bitrate_bps(base_event->bitrate_bps());
}
@ -1236,7 +1236,7 @@ void RtcEventLogEncoderNewFormat::EncodeVideoRecvStreamConfig(
for (const RtcEventVideoReceiveStreamConfig* base_event : batch) {
rtclog2::VideoRecvStreamConfig* proto_batch =
event_stream->add_video_recv_stream_configs();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_remote_ssrc(base_event->config().remote_ssrc);
proto_batch->set_local_ssrc(base_event->config().local_ssrc);
proto_batch->set_rtx_ssrc(base_event->config().rtx_ssrc);
@ -1258,7 +1258,7 @@ void RtcEventLogEncoderNewFormat::EncodeVideoSendStreamConfig(
for (const RtcEventVideoSendStreamConfig* base_event : batch) {
rtclog2::VideoSendStreamConfig* proto_batch =
event_stream->add_video_send_stream_configs();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_ssrc(base_event->config().local_ssrc);
proto_batch->set_rtx_ssrc(base_event->config().rtx_ssrc);
if (!base_event->config().rsid.empty())
@ -1280,7 +1280,7 @@ void RtcEventLogEncoderNewFormat::EncodeIceCandidatePairConfig(
rtclog2::IceCandidatePairConfig* proto_batch =
event_stream->add_ice_candidate_configs();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_config_type(ConvertToProtoFormat(base_event->type()));
proto_batch->set_candidate_pair_id(base_event->candidate_pair_id());
const auto& desc = base_event->candidate_pair_desc();
@ -1309,7 +1309,7 @@ void RtcEventLogEncoderNewFormat::EncodeIceCandidatePairEvent(
rtclog2::IceCandidatePairEvent* proto_batch =
event_stream->add_ice_candidate_events();
proto_batch->set_timestamp_ms(base_event->timestamp_us() / 1000);
proto_batch->set_timestamp_ms(base_event->timestamp_ms());
proto_batch->set_event_type(ConvertToProtoFormat(base_event->type()));
proto_batch->set_candidate_pair_id(base_event->candidate_pair_id());

View File

@ -57,10 +57,9 @@ class RtcEvent {
virtual bool IsConfigEvent() const = 0;
int64_t timestamp_ms() const { return timestamp_us_ / 1000; }
int64_t timestamp_us() const { return timestamp_us_; }
// TODO(eladalon): Add timestamp_ms().
protected:
explicit RtcEvent(int64_t timestamp_us) : timestamp_us_(timestamp_us) {}

View File

@ -503,21 +503,21 @@ EventGenerator::NewVideoSendStreamConfig(
void VerifyLoggedAlrStateEvent(const RtcEventAlrState& original_event,
const LoggedAlrStateEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.in_alr(), logged_event.in_alr);
}
void VerifyLoggedAudioPlayoutEvent(
const RtcEventAudioPlayout& original_event,
const LoggedAudioPlayoutEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.ssrc(), logged_event.ssrc);
}
void VerifyLoggedAudioNetworkAdaptationEvent(
const RtcEventAudioNetworkAdaptation& original_event,
const LoggedAudioNetworkAdaptationEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.config().bitrate_bps,
logged_event.config.bitrate_bps);
@ -544,7 +544,7 @@ void VerifyLoggedAudioNetworkAdaptationEvent(
void VerifyLoggedBweDelayBasedUpdate(
const RtcEventBweUpdateDelayBased& original_event,
const LoggedBweDelayBasedUpdate& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.bitrate_bps(), logged_event.bitrate_bps);
EXPECT_EQ(original_event.detector_state(), logged_event.detector_state);
}
@ -552,7 +552,7 @@ void VerifyLoggedBweDelayBasedUpdate(
void VerifyLoggedBweLossBasedUpdate(
const RtcEventBweUpdateLossBased& original_event,
const LoggedBweLossBasedUpdate& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.bitrate_bps(), logged_event.bitrate_bps);
EXPECT_EQ(original_event.fraction_loss(), logged_event.fraction_lost);
EXPECT_EQ(original_event.total_packets(), logged_event.expected_packets);
@ -561,7 +561,7 @@ void VerifyLoggedBweLossBasedUpdate(
void VerifyLoggedBweProbeClusterCreatedEvent(
const RtcEventProbeClusterCreated& original_event,
const LoggedBweProbeClusterCreatedEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.id(), logged_event.id);
EXPECT_EQ(original_event.bitrate_bps(), logged_event.bitrate_bps);
EXPECT_EQ(original_event.min_probes(), logged_event.min_packets);
@ -571,7 +571,7 @@ void VerifyLoggedBweProbeClusterCreatedEvent(
void VerifyLoggedBweProbeFailureEvent(
const RtcEventProbeResultFailure& original_event,
const LoggedBweProbeFailureEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.id(), logged_event.id);
EXPECT_EQ(original_event.failure_reason(), logged_event.failure_reason);
}
@ -579,7 +579,7 @@ void VerifyLoggedBweProbeFailureEvent(
void VerifyLoggedBweProbeSuccessEvent(
const RtcEventProbeResultSuccess& original_event,
const LoggedBweProbeSuccessEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.id(), logged_event.id);
EXPECT_EQ(original_event.bitrate_bps(), logged_event.bitrate_bps);
}
@ -587,7 +587,7 @@ void VerifyLoggedBweProbeSuccessEvent(
void VerifyLoggedIceCandidatePairConfig(
const RtcEventIceCandidatePairConfig& original_event,
const LoggedIceCandidatePairConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.type(), logged_event.type);
EXPECT_EQ(original_event.candidate_pair_id(), logged_event.candidate_pair_id);
@ -610,7 +610,7 @@ void VerifyLoggedIceCandidatePairConfig(
void VerifyLoggedIceCandidatePairEvent(
const RtcEventIceCandidatePair& original_event,
const LoggedIceCandidatePairEvent& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.type(), logged_event.type);
EXPECT_EQ(original_event.candidate_pair_id(), logged_event.candidate_pair_id);
@ -680,7 +680,7 @@ void VerifyLoggedRtpHeader(const RtpPacket& original_header,
void VerifyLoggedRtpPacketIncoming(
const RtcEventRtpPacketIncoming& original_event,
const LoggedRtpPacketIncoming& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.header().headers_size(),
logged_event.rtp.header_length);
@ -698,7 +698,7 @@ void VerifyLoggedRtpPacketIncoming(
void VerifyLoggedRtpPacketOutgoing(
const RtcEventRtpPacketOutgoing& original_event,
const LoggedRtpPacketOutgoing& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
EXPECT_EQ(original_event.header().headers_size(),
logged_event.rtp.header_length);
@ -719,7 +719,7 @@ void VerifyLoggedRtpPacketOutgoing(
void VerifyLoggedRtcpPacketIncoming(
const RtcEventRtcpPacketIncoming& original_event,
const LoggedRtcpPacketIncoming& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
ASSERT_EQ(original_event.packet().size(), logged_event.rtcp.raw_data.size());
EXPECT_EQ(
@ -731,7 +731,7 @@ void VerifyLoggedRtcpPacketIncoming(
void VerifyLoggedRtcpPacketOutgoing(
const RtcEventRtcpPacketOutgoing& original_event,
const LoggedRtcpPacketOutgoing& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
ASSERT_EQ(original_event.packet().size(), logged_event.rtcp.raw_data.size());
EXPECT_EQ(
@ -779,28 +779,28 @@ void VerifyLoggedStreamConfig(const rtclog::StreamConfig& original_config,
void VerifyLoggedAudioRecvConfig(
const RtcEventAudioReceiveStreamConfig& original_event,
const LoggedAudioRecvConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
VerifyLoggedStreamConfig(original_event.config(), logged_event.config);
}
void VerifyLoggedAudioSendConfig(
const RtcEventAudioSendStreamConfig& original_event,
const LoggedAudioSendConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
VerifyLoggedStreamConfig(original_event.config(), logged_event.config);
}
void VerifyLoggedVideoRecvConfig(
const RtcEventVideoReceiveStreamConfig& original_event,
const LoggedVideoRecvConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
VerifyLoggedStreamConfig(original_event.config(), logged_event.config);
}
void VerifyLoggedVideoSendConfig(
const RtcEventVideoSendStreamConfig& original_event,
const LoggedVideoSendConfig& logged_event) {
EXPECT_EQ(original_event.timestamp_us() / 1000, logged_event.log_time_ms());
EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
// TODO(terelius): In the past, we allowed storing multiple RtcStreamConfigs
// in the same RtcEventVideoSendStreamConfig. Look into whether we should drop
// backwards compatibility in the parser.