| Index: webrtc/voice_engine/shared_data.h
|
| diff --git a/webrtc/voice_engine/shared_data.h b/webrtc/voice_engine/shared_data.h
|
| index e3014194547c5bac84444c68d98b2322a47cbf8f..1a910407a2357258e8e167c282c7e9205196815a 100644
|
| --- a/webrtc/voice_engine/shared_data.h
|
| +++ b/webrtc/voice_engine/shared_data.h
|
| @@ -15,6 +15,9 @@
|
|
|
| #include "webrtc/base/criticalsection.h"
|
| #include "webrtc/base/scoped_ref_ptr.h"
|
| +#include "webrtc/base/task_queue.h"
|
| +#include "webrtc/base/thread_annotations.h"
|
| +#include "webrtc/base/thread_checker.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"
|
| @@ -46,6 +49,7 @@ public:
|
| OutputMixer* output_mixer() { return _outputMixerPtr; }
|
| rtc::CriticalSection* crit_sec() { return &_apiCritPtr; }
|
| ProcessThread* process_thread() { return _moduleProcessThreadPtr.get(); }
|
| + rtc::TaskQueue* encoder_queue();
|
|
|
| int NumOfSendingChannels();
|
| int NumOfPlayingChannels();
|
| @@ -57,18 +61,22 @@ public:
|
| const char* msg) const;
|
|
|
| protected:
|
| - const uint32_t _instanceId;
|
| - rtc::CriticalSection _apiCritPtr;
|
| - ChannelManager _channelManager;
|
| - Statistics _engineStatistics;
|
| - rtc::scoped_refptr<AudioDeviceModule> _audioDevicePtr;
|
| - OutputMixer* _outputMixerPtr;
|
| - TransmitMixer* _transmitMixerPtr;
|
| - std::unique_ptr<AudioProcessing> audioproc_;
|
| - std::unique_ptr<ProcessThread> _moduleProcessThreadPtr;
|
| + rtc::ThreadChecker construction_thread_;
|
| + const uint32_t _instanceId;
|
| + rtc::CriticalSection _apiCritPtr;
|
| + ChannelManager _channelManager;
|
| + Statistics _engineStatistics;
|
| + rtc::scoped_refptr<AudioDeviceModule> _audioDevicePtr;
|
| + OutputMixer* _outputMixerPtr;
|
| + TransmitMixer* _transmitMixerPtr;
|
| + std::unique_ptr<AudioProcessing> audioproc_;
|
| + std::unique_ptr<ProcessThread> _moduleProcessThreadPtr;
|
| + // |encoder_queue| is defined last to ensure all pending tasks are cancelled
|
| + // and deleted before any other members.
|
| + rtc::TaskQueue encoder_queue_ ACCESS_ON(construction_thread_);
|
|
|
| - SharedData();
|
| - virtual ~SharedData();
|
| + SharedData();
|
| + virtual ~SharedData();
|
| };
|
|
|
| } // namespace voe
|
|
|