 Chromium Code Reviews
 Chromium Code Reviews Issue 2665693002:
  Moves channel-dependent audio input processing to separate encoder task queue  (Closed)
    
  
    Issue 2665693002:
  Moves channel-dependent audio input processing to separate encoder task queue  (Closed) 
  | 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..5a86434542809679bb7eedf9c43bd1a64b38db86 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" | 
| @@ -46,6 +47,7 @@ public: | 
| OutputMixer* output_mixer() { return _outputMixerPtr; } | 
| rtc::CriticalSection* crit_sec() { return &_apiCritPtr; } | 
| ProcessThread* process_thread() { return _moduleProcessThreadPtr.get(); } | 
| + rtc::TaskQueue* encoder_queue() { return &encoder_queue_; } | 
| int NumOfSendingChannels(); | 
| int NumOfPlayingChannels(); | 
| @@ -66,6 +68,9 @@ protected: | 
| 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_; | 
| 
aleloi
2017/03/23 13:33:21
The queue needs to be alive when methods in Channe
 
henrika_webrtc
2017/03/23 14:02:17
All channels are deleted before shared data (and t
 | 
| SharedData(); | 
| virtual ~SharedData(); |