1 /* 2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef CALL_TEST_MOCK_RTP_TRANSPORT_CONTROLLER_SEND_H_ 12 #define CALL_TEST_MOCK_RTP_TRANSPORT_CONTROLLER_SEND_H_ 13 14 #include <map> 15 #include <memory> 16 #include <string> 17 #include <vector> 18 19 #include "absl/strings/string_view.h" 20 #include "api/crypto/crypto_options.h" 21 #include "api/crypto/frame_encryptor_interface.h" 22 #include "api/frame_transformer_interface.h" 23 #include "api/transport/bitrate_settings.h" 24 #include "call/rtp_transport_controller_send_interface.h" 25 #include "modules/pacing/packet_router.h" 26 #include "rtc_base/network/sent_packet.h" 27 #include "rtc_base/network_route.h" 28 #include "rtc_base/rate_limiter.h" 29 #include "test/gmock.h" 30 31 namespace webrtc { 32 33 class MockRtpTransportControllerSend 34 : public RtpTransportControllerSendInterface { 35 public: 36 MOCK_METHOD(RtpVideoSenderInterface*, 37 CreateRtpVideoSender, 38 ((const std::map<uint32_t, RtpState>&), 39 (const std::map<uint32_t, RtpPayloadState>&), 40 const RtpConfig&, 41 int rtcp_report_interval_ms, 42 Transport*, 43 const RtpSenderObservers&, 44 RtcEventLog*, 45 std::unique_ptr<FecController>, 46 const RtpSenderFrameEncryptionConfig&, 47 rtc::scoped_refptr<FrameTransformerInterface>), 48 (override)); 49 MOCK_METHOD(void, 50 DestroyRtpVideoSender, 51 (RtpVideoSenderInterface*), 52 (override)); 53 MOCK_METHOD(MaybeWorkerThread*, GetWorkerQueue, (), (override)); 54 MOCK_METHOD(PacketRouter*, packet_router, (), (override)); 55 MOCK_METHOD(NetworkStateEstimateObserver*, 56 network_state_estimate_observer, 57 (), 58 (override)); 59 MOCK_METHOD(TransportFeedbackObserver*, 60 transport_feedback_observer, 61 (), 62 (override)); 63 MOCK_METHOD(RtpPacketSender*, packet_sender, (), (override)); 64 MOCK_METHOD(void, 65 SetAllocatedSendBitrateLimits, 66 (BitrateAllocationLimits), 67 (override)); 68 MOCK_METHOD(void, SetPacingFactor, (float), (override)); 69 MOCK_METHOD(void, SetQueueTimeLimit, (int), (override)); 70 MOCK_METHOD(StreamFeedbackProvider*, 71 GetStreamFeedbackProvider, 72 (), 73 (override)); 74 MOCK_METHOD(void, 75 RegisterTargetTransferRateObserver, 76 (TargetTransferRateObserver*), 77 (override)); 78 MOCK_METHOD(void, 79 OnNetworkRouteChanged, 80 (absl::string_view, const rtc::NetworkRoute&), 81 (override)); 82 MOCK_METHOD(void, OnNetworkAvailability, (bool), (override)); 83 MOCK_METHOD(RtcpBandwidthObserver*, GetBandwidthObserver, (), (override)); 84 MOCK_METHOD(int64_t, GetPacerQueuingDelayMs, (), (const, override)); 85 MOCK_METHOD(absl::optional<Timestamp>, 86 GetFirstPacketTime, 87 (), 88 (const, override)); 89 MOCK_METHOD(void, EnablePeriodicAlrProbing, (bool), (override)); 90 MOCK_METHOD(void, OnSentPacket, (const rtc::SentPacket&), (override)); 91 MOCK_METHOD(void, 92 SetSdpBitrateParameters, 93 (const BitrateConstraints&), 94 (override)); 95 MOCK_METHOD(void, 96 SetClientBitratePreferences, 97 (const BitrateSettings&), 98 (override)); 99 MOCK_METHOD(void, OnTransportOverheadChanged, (size_t), (override)); 100 MOCK_METHOD(void, AccountForAudioPacketsInPacedSender, (bool), (override)); 101 MOCK_METHOD(void, IncludeOverheadInPacedSender, (), (override)); 102 MOCK_METHOD(void, OnReceivedPacket, (const ReceivedPacket&), (override)); 103 MOCK_METHOD(void, EnsureStarted, (), (override)); 104 }; 105 } // namespace webrtc 106 #endif // CALL_TEST_MOCK_RTP_TRANSPORT_CONTROLLER_SEND_H_ 107