| 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_;
|
|
|