Locating input audio level before TaskQueue.

- TaskQueue needs to be destroyed at last to avoid thread race condition.

Bug: webrtc:12111
Change-Id: Ibfc96e2ebd71a2aa8d1ac8c83038d256bac0e600
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193780
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32624}
This commit is contained in:
Tim Na 2020-11-16 14:45:44 -08:00 committed by Commit Bot
parent 4d18eeafc8
commit 26ce03e469

View File

@ -130,6 +130,9 @@ class AudioEgress : public AudioSender, public AudioPacketizationCallback {
// Synchronization is handled internally by AudioCodingModule.
const std::unique_ptr<AudioCodingModule> audio_coding_;
// Synchronization is handled internally by voe::AudioLevel.
voe::AudioLevel input_audio_level_;
// Struct that holds all variables used by encoder task queue.
struct EncoderContext {
// Offset used to mark rtp timestamp in sample rate unit in
@ -148,9 +151,6 @@ class AudioEgress : public AudioSender, public AudioPacketizationCallback {
// Defined last to ensure that there are no running tasks when the other
// members are destroyed.
rtc::TaskQueue encoder_queue_;
// Synchronizaton is handled internally by voe::AudioLevel.
voe::AudioLevel input_audio_level_;
};
} // namespace webrtc