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

Unified Diff: webrtc/media/base/mediaengine.h

Issue 2888303003: Work-in-progress upload to add worker task queue to PC factory.
Patch Set: Rebase. Created 3 years, 7 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/media/base/fakemediaengine.h ('k') | webrtc/media/engine/nullwebrtcvideoengine_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/base/mediaengine.h
diff --git a/webrtc/media/base/mediaengine.h b/webrtc/media/base/mediaengine.h
index 2b9e790a6c09d4b27139d31b66d78a63bdd2cf36..872cd0e3b55212d268b0fbfb7720e0f601585d56 100644
--- a/webrtc/media/base/mediaengine.h
+++ b/webrtc/media/base/mediaengine.h
@@ -23,6 +23,7 @@
#include "webrtc/api/rtpparameters.h"
#include "webrtc/base/fileutils.h"
#include "webrtc/base/sigslotrepeater.h"
+#include "webrtc/base/task_queue.h"
#include "webrtc/call/audio_state.h"
#include "webrtc/media/base/codec.h"
#include "webrtc/media/base/mediachannel.h"
@@ -32,6 +33,10 @@
#define DISABLE_MEDIA_ENGINE_FACTORY
#endif
+namespace rtc {
+class TaskQueue;
+}
+
namespace webrtc {
class AudioDeviceModule;
class AudioMixer;
@@ -117,9 +122,20 @@ class CompositeMediaEngine : public MediaEngineInterface {
audio_encoder_factory,
const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
audio_decoder_factory,
- rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer)
- : voice_(adm, audio_encoder_factory, audio_decoder_factory, audio_mixer) {
- }
+ rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
+ rtc::TaskQueue* low_priority_worker_queue)
+ : owned_low_priority_worker_queue_(
+ low_priority_worker_queue
+ ? nullptr
+ : new rtc::TaskQueue("low_prio_worker_queue",
+ rtc::TaskQueue::Priority::LOW)),
+ voice_(adm,
+ audio_encoder_factory,
+ audio_decoder_factory,
+ audio_mixer,
+ low_priority_worker_queue
+ ? owned_low_priority_worker_queue_.get()
+ : low_priority_worker_queue) {}
virtual ~CompositeMediaEngine() {}
virtual bool Init() {
video_.Init();
@@ -165,6 +181,9 @@ class CompositeMediaEngine : public MediaEngineInterface {
voice_.StopAecDump();
}
+ private:
+ std::unique_ptr<rtc::TaskQueue> owned_low_priority_worker_queue_;
+
protected:
VOICE voice_;
VIDEO video_;
« no previous file with comments | « webrtc/media/base/fakemediaengine.h ('k') | webrtc/media/engine/nullwebrtcvideoengine_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698