Source code
Revision control
Copy as Markdown
Other Tools
From: Byron Campen <docfaraday@gmail.com>
Date: Thu, 20 Jul 2023 14:24:00 +0000
ChannelSendFrameTransformerDelegate. r=pehrsons,webrtc-reviewers
This variable can be null when a ChannelSendFrameTransformerDelegate is in use,
because that does an async dispatch to the encoder queue in the handling for
transformed frames. If this is unset while that dispatch is in flight, we
nullptr crash.
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/56555ecee7f36ae73abff1cbbd06807c2b65fc19
---
audio/channel_send.cc | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index 17ece4c916..034c3e9a23 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -340,12 +340,16 @@ class RtpPacketSenderProxy : public RtpPacketSender {
void EnqueuePackets(
std::vector<std::unique_ptr<RtpPacketToSend>> packets) override {
MutexLock lock(&mutex_);
- rtp_packet_pacer_->EnqueuePackets(std::move(packets));
+ if (rtp_packet_pacer_) {
+ rtp_packet_pacer_->EnqueuePackets(std::move(packets));
+ }
}
void RemovePacketsForSsrc(uint32_t ssrc) override {
MutexLock lock(&mutex_);
- rtp_packet_pacer_->RemovePacketsForSsrc(ssrc);
+ if (rtp_packet_pacer_) {
+ rtp_packet_pacer_->RemovePacketsForSsrc(ssrc);
+ }
}
private: