Index: webrtc/voice_engine/shared_data.h |
diff --git a/webrtc/voice_engine/shared_data.h b/webrtc/voice_engine/shared_data.h |
index 0e57f9d2505e7aad74efb5c44d62972da891b906..550f80e5d90da53a35572ac44d96d8bffa91bcd3 100644 |
--- a/webrtc/voice_engine/shared_data.h |
+++ b/webrtc/voice_engine/shared_data.h |
@@ -15,6 +15,7 @@ |
#include "webrtc/base/criticalsection.h" |
#include "webrtc/base/scoped_ref_ptr.h" |
+#include "webrtc/base/task_queue.h" |
#include "webrtc/modules/audio_device/include/audio_device.h" |
#include "webrtc/modules/audio_processing/include/audio_processing.h" |
#include "webrtc/modules/utility/include/process_thread.h" |
@@ -49,6 +50,7 @@ public: |
AudioDeviceModule::AudioLayer audio_device_layer() const { |
return _audioDeviceLayer; |
} |
+ rtc::TaskQueue* encoder_queue() { return &encoder_queue_; } |
void set_audio_device_layer(AudioDeviceModule::AudioLayer layer) { |
_audioDeviceLayer = layer; |
} |
@@ -72,8 +74,10 @@ protected: |
TransmitMixer* _transmitMixerPtr; |
std::unique_ptr<AudioProcessing> audioproc_; |
std::unique_ptr<ProcessThread> _moduleProcessThreadPtr; |
- |
AudioDeviceModule::AudioLayer _audioDeviceLayer; |
+ // |encoder_queue| is defined last to ensure all pending tasks are cancelled |
+ // and deleted before any other members. |
+ rtc::TaskQueue encoder_queue_; |
SharedData(); |
virtual ~SharedData(); |