ModuleRtcRtcpImpl2: remove Module inheritance.

This change achieves an Idle Wakeup savings of 200 Hz.

ModuleRtcRtcpImpl2 had Process() logic only active if TMMBR() is
enabled in RtcpSender, which it never is. Hence the Module
inheritance could be removed. The change removes all known
dependencies of the module inheritance, and any related mentions
of ProcessThread.

Fixed: webrtc:11581
Change-Id: I440942f07187fdb9ac18186dab088633969b340e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222604
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34358}
This commit is contained in:
Markus Handell
2021-06-22 10:46:48 +02:00
committed by WebRTC LUCI CQ
parent 6e65f6a428
commit eb61b7f620
37 changed files with 59 additions and 335 deletions

View File

@ -50,7 +50,6 @@ struct PacedPacketInfo;
struct RTPVideoHeader;
class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
public Module,
public RTCPReceiver::ModuleRtpRtcp {
public:
explicit ModuleRtpRtcpImpl2(
@ -64,13 +63,6 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
static std::unique_ptr<ModuleRtpRtcpImpl2> Create(
const Configuration& configuration);
// Returns the number of milliseconds until the module want a worker thread to
// call Process.
int64_t TimeUntilNextProcess() override;
// Process any pending tasks such as timeouts.
void Process() override;
// Receiver part.
// Called when we receive an RTCP packet.
@ -310,7 +302,6 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
TimeDelta duration);
TaskQueueBase* const worker_queue_;
RTC_NO_UNIQUE_ADDRESS SequenceChecker process_thread_checker_;
RTC_NO_UNIQUE_ADDRESS SequenceChecker packet_sequence_checker_;
std::unique_ptr<RtpSenderContext> rtp_sender_;
@ -319,8 +310,6 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
Clock* const clock_;
int64_t last_rtt_process_time_;
int64_t next_process_time_;
uint16_t packet_overhead_;
// Send side