Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(429)

Unified Diff: webrtc/voice_engine/shared_data.h

Issue 2665693002: Moves channel-dependent audio input processing to separate encoder task queue (Closed)
Patch Set: Final comments from Tommi Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/voice_engine/channel.cc ('k') | webrtc/voice_engine/shared_data.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « webrtc/voice_engine/channel.cc ('k') | webrtc/voice_engine/shared_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698