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

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

Issue 1949533002: WIP: Move the creation of AudioCodecFactory into PeerConnectionFactory. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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
Index: webrtc/media/engine/webrtcmediaengine.cc
diff --git a/webrtc/media/engine/webrtcmediaengine.cc b/webrtc/media/engine/webrtcmediaengine.cc
index 45652d0128f9dcb50e2f412315f91379c9de85eb..df3adf26c4a902f5c7ec5f0c7ddd8b8f773a0d7a 100644
--- a/webrtc/media/engine/webrtcmediaengine.cc
+++ b/webrtc/media/engine/webrtcmediaengine.cc
@@ -28,16 +28,22 @@ class WebRtcMediaEngine2
: public CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine> {
#endif
public:
- WebRtcMediaEngine2(webrtc::AudioDeviceModule* adm,
- WebRtcVideoEncoderFactory* encoder_factory,
- WebRtcVideoDecoderFactory* decoder_factory)
+ WebRtcMediaEngine2(
+ webrtc::AudioDeviceModule* adm,
+ std::shared_ptr<webrtc::AudioDecoderFactory> audio_decoder_factory,
+ WebRtcVideoEncoderFactory* video_encoder_factory,
+ WebRtcVideoDecoderFactory* video_decoder_factory)
#ifdef HAVE_WEBRTC_VIDEO
- : CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2>(adm) {
+ : CompositeMediaEngine<WebRtcVoiceEngine,
+ WebRtcVideoEngine2>(
+ adm, std::move(audio_decoder_factory)) {
#else
- : CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>(adm) {
+ : CompositeMediaEngine<WebRtcVoiceEngine,
+ NullWebRtcVideoEngine>(
+ adm, std::move(audio_decoder_factory)) {
#endif
- video_.SetExternalDecoderFactory(decoder_factory);
- video_.SetExternalEncoderFactory(encoder_factory);
+ video_.SetExternalDecoderFactory(video_decoder_factory);
+ video_.SetExternalEncoderFactory(video_encoder_factory);
}
};
@@ -45,10 +51,13 @@ class WebRtcMediaEngine2
cricket::MediaEngineInterface* CreateWebRtcMediaEngine(
webrtc::AudioDeviceModule* adm,
- cricket::WebRtcVideoEncoderFactory* encoder_factory,
- cricket::WebRtcVideoDecoderFactory* decoder_factory) {
- return new cricket::WebRtcMediaEngine2(adm, encoder_factory,
- decoder_factory);
+ std::shared_ptr<webrtc::AudioDecoderFactory> audio_decoder_factory,
+ cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
+ cricket::WebRtcVideoDecoderFactory* video_decoder_factory) {
+ return new cricket::WebRtcMediaEngine2(adm,
+ audio_decoder_factory,
+ video_encoder_factory,
+ video_decoder_factory);
}
void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) {
@@ -61,9 +70,13 @@ namespace cricket {
// ChannelManager.
MediaEngineInterface* WebRtcMediaEngineFactory::Create(
webrtc::AudioDeviceModule* adm,
+ std::shared_ptr<webrtc::AudioDecoderFactory> audio_decoder_factory,
WebRtcVideoEncoderFactory* encoder_factory,
WebRtcVideoDecoderFactory* decoder_factory) {
- return CreateWebRtcMediaEngine(adm, encoder_factory, decoder_factory);
+ return CreateWebRtcMediaEngine(adm,
+ std::move(audio_decoder_factory),
+ encoder_factory,
+ decoder_factory);
}
namespace {

Powered by Google App Engine
This is Rietveld 408576698