mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-15 06:40:43 +01:00

Bug: b/113648474, webrtc:9730 Change-Id: Ieff7ab8697f5c8742548897a9b452a20b0bd2e7c Reviewed-on: https://webrtc-review.googlesource.com/98461 Commit-Queue: Minyue Li <minyue@webrtc.org> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24703}
191 lines
7.4 KiB
C++
191 lines
7.4 KiB
C++
/*
|
|
* Copyright (c) 2016 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 LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
|
|
#define LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
|
|
|
|
#include <memory>
|
|
|
|
#include "logging/rtc_event_log/events/rtc_event.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_alr_state.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_audio_send_stream_config.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_probe_cluster_created.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_probe_result_failure.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_probe_result_success.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_video_receive_stream_config.h"
|
|
#include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
|
|
#include "logging/rtc_event_log/rtc_event_log_parser_new.h"
|
|
#include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h"
|
|
#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
|
|
#include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
|
|
#include "rtc_base/random.h"
|
|
|
|
namespace webrtc {
|
|
|
|
namespace test {
|
|
|
|
class EventGenerator {
|
|
public:
|
|
explicit EventGenerator(uint64_t seed) : prng_(seed) {}
|
|
|
|
std::unique_ptr<RtcEventAlrState> NewAlrState();
|
|
|
|
std::unique_ptr<RtcEventAudioPlayout> NewAudioPlayout(uint32_t ssrc);
|
|
|
|
std::unique_ptr<RtcEventAudioNetworkAdaptation> NewAudioNetworkAdaptation();
|
|
|
|
std::unique_ptr<RtcEventBweUpdateDelayBased> NewBweUpdateDelayBased();
|
|
|
|
std::unique_ptr<RtcEventBweUpdateLossBased> NewBweUpdateLossBased();
|
|
|
|
std::unique_ptr<RtcEventProbeClusterCreated> NewProbeClusterCreated();
|
|
|
|
std::unique_ptr<RtcEventProbeResultFailure> NewProbeResultFailure();
|
|
|
|
std::unique_ptr<RtcEventProbeResultSuccess> NewProbeResultSuccess();
|
|
|
|
std::unique_ptr<RtcEventIceCandidatePairConfig> NewIceCandidatePairConfig();
|
|
|
|
std::unique_ptr<RtcEventIceCandidatePair> NewIceCandidatePair();
|
|
|
|
std::unique_ptr<RtcEventRtcpPacketIncoming> NewRtcpPacketIncoming();
|
|
|
|
std::unique_ptr<RtcEventRtcpPacketOutgoing> NewRtcpPacketOutgoing();
|
|
|
|
void RandomizeRtpPacket(size_t payload_size,
|
|
size_t padding_size,
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extension_map,
|
|
RtpPacket* rtp_packet);
|
|
|
|
std::unique_ptr<RtcEventRtpPacketIncoming> NewRtpPacketIncoming(
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extension_map);
|
|
|
|
std::unique_ptr<RtcEventRtpPacketOutgoing> NewRtpPacketOutgoing(
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extension_map);
|
|
|
|
RtpHeaderExtensionMap NewRtpHeaderExtensionMap();
|
|
|
|
std::unique_ptr<RtcEventAudioReceiveStreamConfig> NewAudioReceiveStreamConfig(
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extensions);
|
|
|
|
std::unique_ptr<RtcEventAudioSendStreamConfig> NewAudioSendStreamConfig(
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extensions);
|
|
|
|
std::unique_ptr<RtcEventVideoReceiveStreamConfig> NewVideoReceiveStreamConfig(
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extensions);
|
|
|
|
std::unique_ptr<RtcEventVideoSendStreamConfig> NewVideoSendStreamConfig(
|
|
uint32_t ssrc,
|
|
const RtpHeaderExtensionMap& extensions);
|
|
|
|
private:
|
|
rtcp::ReportBlock NewReportBlock();
|
|
rtcp::SenderReport NewSenderReport();
|
|
rtcp::ReceiverReport NewReceiverReport();
|
|
|
|
Random prng_;
|
|
};
|
|
|
|
bool VerifyLoggedAlrStateEvent(const RtcEventAlrState& original_event,
|
|
const LoggedAlrStateEvent& logged_event);
|
|
|
|
bool VerifyLoggedAudioPlayoutEvent(const RtcEventAudioPlayout& original_event,
|
|
const LoggedAudioPlayoutEvent& logged_event);
|
|
|
|
bool VerifyLoggedAudioNetworkAdaptationEvent(
|
|
const RtcEventAudioNetworkAdaptation& original_event,
|
|
const LoggedAudioNetworkAdaptationEvent& logged_event);
|
|
|
|
bool VerifyLoggedBweDelayBasedUpdate(
|
|
const RtcEventBweUpdateDelayBased& original_event,
|
|
const LoggedBweDelayBasedUpdate& logged_event);
|
|
|
|
bool VerifyLoggedBweLossBasedUpdate(
|
|
const RtcEventBweUpdateLossBased& original_event,
|
|
const LoggedBweLossBasedUpdate& logged_event);
|
|
|
|
bool VerifyLoggedBweProbeClusterCreatedEvent(
|
|
const RtcEventProbeClusterCreated& original_event,
|
|
const LoggedBweProbeClusterCreatedEvent& logged_event);
|
|
|
|
bool VerifyLoggedBweProbeFailureEvent(
|
|
const RtcEventProbeResultFailure& original_event,
|
|
const LoggedBweProbeFailureEvent& logged_event);
|
|
|
|
bool VerifyLoggedBweProbeSuccessEvent(
|
|
const RtcEventProbeResultSuccess& original_event,
|
|
const LoggedBweProbeSuccessEvent& logged_event);
|
|
|
|
bool VerifyLoggedIceCandidatePairConfig(
|
|
const RtcEventIceCandidatePairConfig& original_event,
|
|
const LoggedIceCandidatePairConfig& logged_event);
|
|
|
|
bool VerifyLoggedIceCandidatePairEvent(
|
|
const RtcEventIceCandidatePair& original_event,
|
|
const LoggedIceCandidatePairEvent& logged_event);
|
|
|
|
bool VerifyLoggedRtpPacketIncoming(
|
|
const RtcEventRtpPacketIncoming& original_event,
|
|
const LoggedRtpPacketIncoming& logged_event);
|
|
|
|
bool VerifyLoggedRtpPacketOutgoing(
|
|
const RtcEventRtpPacketOutgoing& original_event,
|
|
const LoggedRtpPacketOutgoing& logged_event);
|
|
|
|
bool VerifyLoggedRtcpPacketIncoming(
|
|
const RtcEventRtcpPacketIncoming& original_event,
|
|
const LoggedRtcpPacketIncoming& logged_event);
|
|
|
|
bool VerifyLoggedRtcpPacketOutgoing(
|
|
const RtcEventRtcpPacketOutgoing& original_event,
|
|
const LoggedRtcpPacketOutgoing& logged_event);
|
|
|
|
bool VerifyLoggedStartEvent(int64_t start_time_us,
|
|
const LoggedStartEvent& logged_event);
|
|
bool VerifyLoggedStopEvent(int64_t stop_time_us,
|
|
const LoggedStopEvent& logged_event);
|
|
|
|
bool VerifyLoggedAudioRecvConfig(
|
|
const RtcEventAudioReceiveStreamConfig& original_event,
|
|
const LoggedAudioRecvConfig& logged_event);
|
|
|
|
bool VerifyLoggedAudioSendConfig(
|
|
const RtcEventAudioSendStreamConfig& original_event,
|
|
const LoggedAudioSendConfig& logged_event);
|
|
|
|
bool VerifyLoggedVideoRecvConfig(
|
|
const RtcEventVideoReceiveStreamConfig& original_event,
|
|
const LoggedVideoRecvConfig& logged_event);
|
|
|
|
bool VerifyLoggedVideoSendConfig(
|
|
const RtcEventVideoSendStreamConfig& original_event,
|
|
const LoggedVideoSendConfig& logged_event);
|
|
|
|
} // namespace test
|
|
} // namespace webrtc
|
|
|
|
#endif // LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
|