In audio ChannelSend move task queue as last class member
To mitigate race between ~ChannelSend and task created in ProcessAndEncodeAudio. as described in the comment next to the task queue member. Bug: b/228933184 Change-Id: Ia0efd050c76a4539dc2525ef8efc065fab96861c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258983 Auto-Submit: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36553}
This commit is contained in:
parent
8f9b44ba38
commit
8a1a0af36f
@ -237,15 +237,15 @@ class ChannelSend : public ChannelSendInterface,
|
||||
rtc::scoped_refptr<ChannelSendFrameTransformerDelegate>
|
||||
frame_transformer_delegate_ RTC_GUARDED_BY(encoder_queue_);
|
||||
|
||||
// Defined last to ensure that there are no running tasks when the other
|
||||
// members are destroyed.
|
||||
rtc::TaskQueue encoder_queue_;
|
||||
|
||||
const bool fixing_timestamp_stall_;
|
||||
|
||||
mutable Mutex rtcp_counter_mutex_;
|
||||
RtcpPacketTypeCounter rtcp_packet_type_counter_
|
||||
RTC_GUARDED_BY(rtcp_counter_mutex_);
|
||||
|
||||
// Defined last to ensure that there are no running tasks when the other
|
||||
// members are destroyed.
|
||||
rtc::TaskQueue encoder_queue_;
|
||||
};
|
||||
|
||||
const int kTelephoneEventAttenuationdB = 10;
|
||||
@ -474,11 +474,11 @@ ChannelSend::ChannelSend(
|
||||
new RateLimiter(clock, kMaxRetransmissionWindowMs)),
|
||||
frame_encryptor_(frame_encryptor),
|
||||
crypto_options_(crypto_options),
|
||||
fixing_timestamp_stall_(
|
||||
field_trials.IsDisabled("WebRTC-Audio-FixTimestampStall")),
|
||||
encoder_queue_(task_queue_factory->CreateTaskQueue(
|
||||
"AudioEncoder",
|
||||
TaskQueueFactory::Priority::NORMAL)),
|
||||
fixing_timestamp_stall_(
|
||||
field_trials.IsDisabled("WebRTC-Audio-FixTimestampStall")) {
|
||||
TaskQueueFactory::Priority::NORMAL)) {
|
||||
audio_coding_.reset(AudioCodingModule::Create(AudioCodingModule::Config()));
|
||||
|
||||
RtpRtcpInterface::Configuration configuration;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user