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

Unified Diff: webrtc/media/engine/webrtcmediaengine.cc

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/engine/webrtcmediaengine.h ('k') | webrtc/media/engine/webrtcvoiceengine.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/engine/webrtcmediaengine.cc
diff --git a/webrtc/media/engine/webrtcmediaengine.cc b/webrtc/media/engine/webrtcmediaengine.cc
index 1d0e42616897de2ced761a2db8bbf33d8d3999c1..c4038df6669d6c09acaaf7779b48d638b4c3a57b 100644
--- a/webrtc/media/engine/webrtcmediaengine.cc
+++ b/webrtc/media/engine/webrtcmediaengine.cc
@@ -38,23 +38,29 @@ class WebRtcMediaEngine2
audio_decoder_factory,
WebRtcVideoEncoderFactory* video_encoder_factory,
WebRtcVideoDecoderFactory* video_decoder_factory,
- rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer)
+ rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
+ rtc::TaskQueue* low_priority_worker_queue)
#ifdef HAVE_WEBRTC_VIDEO
: CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2>(
adm,
audio_encoder_factory,
audio_decoder_factory,
- audio_mixer){
+ audio_mixer,
+ low_priority_worker_queue) {
#else
: CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>(
adm,
audio_encoder_factory,
audio_decoder_factory,
- audio_mixer) {
+ audio_mixer,
+ low_priority_worker_queue) {
#endif
video_.SetExternalDecoderFactory(video_decoder_factory);
video_.SetExternalEncoderFactory(video_encoder_factory);
}
+
+ private:
+ std::unique_ptr<rtc::TaskQueue> low_priority_task_queue_;
};
} // namespace cricket
@@ -67,10 +73,11 @@ cricket::MediaEngineInterface* CreateWebRtcMediaEngine(
audio_decoder_factory,
cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
cricket::WebRtcVideoDecoderFactory* video_decoder_factory,
- rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) {
+ rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
+ rtc::TaskQueue* low_priority_worker_queue) {
return new cricket::WebRtcMediaEngine2(
adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory,
- video_decoder_factory, audio_mixer);
+ video_decoder_factory, audio_mixer, low_priority_worker_queue);
}
void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) {
@@ -89,7 +96,7 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create(
return CreateWebRtcMediaEngine(
adm, webrtc::CreateBuiltinAudioEncoderFactory(),
webrtc::CreateBuiltinAudioDecoderFactory(), video_encoder_factory,
- video_decoder_factory, nullptr);
+ video_decoder_factory, nullptr, nullptr);
}
MediaEngineInterface* WebRtcMediaEngineFactory::Create(
@@ -100,7 +107,7 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create(
WebRtcVideoDecoderFactory* video_decoder_factory) {
return CreateWebRtcMediaEngine(
adm, webrtc::CreateBuiltinAudioEncoderFactory(), audio_decoder_factory,
- video_encoder_factory, video_decoder_factory, nullptr);
+ video_encoder_factory, video_decoder_factory, nullptr, nullptr);
}
// Used by PeerConnectionFactory to create a media engine passed into
@@ -114,7 +121,7 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create(
rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) {
return CreateWebRtcMediaEngine(
adm, webrtc::CreateBuiltinAudioEncoderFactory(), audio_decoder_factory,
- video_encoder_factory, video_decoder_factory, audio_mixer);
+ video_encoder_factory, video_decoder_factory, audio_mixer, nullptr);
}
MediaEngineInterface* WebRtcMediaEngineFactory::Create(
@@ -127,7 +134,7 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create(
WebRtcVideoDecoderFactory* video_decoder_factory) {
return CreateWebRtcMediaEngine(adm, audio_encoder_factory,
audio_decoder_factory, video_encoder_factory,
- video_decoder_factory, nullptr);
+ video_decoder_factory, nullptr, nullptr);
}
MediaEngineInterface* WebRtcMediaEngineFactory::Create(
@@ -141,7 +148,22 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create(
rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) {
return CreateWebRtcMediaEngine(adm, audio_encoder_factory,
audio_decoder_factory, video_encoder_factory,
- video_decoder_factory, audio_mixer);
+ video_decoder_factory, audio_mixer, nullptr);
+}
+
+MediaEngineInterface* WebRtcMediaEngineFactory::Create(
+ webrtc::AudioDeviceModule* adm,
+ const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
+ audio_encoder_factory,
+ const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
+ audio_decoder_factory,
+ WebRtcVideoEncoderFactory* video_encoder_factory,
+ WebRtcVideoDecoderFactory* video_decoder_factory,
+ rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
+ rtc::TaskQueue* low_priority_worker_queue) {
+ return CreateWebRtcMediaEngine(
+ adm, audio_encoder_factory, audio_decoder_factory, video_encoder_factory,
+ video_decoder_factory, audio_mixer, low_priority_worker_queue);
}
namespace {
« no previous file with comments | « webrtc/media/engine/webrtcmediaengine.h ('k') | webrtc/media/engine/webrtcvoiceengine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698