Chromium Code Reviews| Index: webrtc/media/engine/webrtcmediaengine.cc |
| diff --git a/webrtc/media/engine/webrtcmediaengine.cc b/webrtc/media/engine/webrtcmediaengine.cc |
| index 51a110b88b645aa2678991a9abede312f34463b7..34119088d4c181312311e557a9814e350130769f 100644 |
| --- a/webrtc/media/engine/webrtcmediaengine.cc |
| +++ b/webrtc/media/engine/webrtcmediaengine.cc |
| @@ -33,13 +33,18 @@ class WebRtcMediaEngine2 |
| const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& |
| audio_decoder_factory, |
| WebRtcVideoEncoderFactory* video_encoder_factory, |
| - WebRtcVideoDecoderFactory* video_decoder_factory) |
| + WebRtcVideoDecoderFactory* video_decoder_factory, |
| + rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) |
| #ifdef HAVE_WEBRTC_VIDEO |
| : CompositeMediaEngine<WebRtcVoiceEngine, WebRtcVideoEngine2>( |
| - adm, audio_decoder_factory){ |
| + adm, |
| + audio_decoder_factory, |
| + audio_mixer){ |
| #else |
| : CompositeMediaEngine<WebRtcVoiceEngine, NullWebRtcVideoEngine>( |
| - adm, audio_decoder_factory) { |
| + adm, |
| + audio_decoder_factory, |
| + audio_mixer) { |
| #endif |
| video_.SetExternalDecoderFactory(video_decoder_factory); |
| video_.SetExternalEncoderFactory(video_encoder_factory); |
| @@ -53,9 +58,11 @@ cricket::MediaEngineInterface* CreateWebRtcMediaEngine( |
| const rtc::scoped_refptr<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); |
| + cricket::WebRtcVideoDecoderFactory* video_decoder_factory, |
| + rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { |
| + return new cricket::WebRtcMediaEngine2(adm, audio_decoder_factory, |
| + video_encoder_factory, |
| + video_decoder_factory, audio_mixer); |
| } |
| void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) { |
| @@ -70,10 +77,11 @@ namespace cricket { |
| MediaEngineInterface* WebRtcMediaEngineFactory::Create( |
| webrtc::AudioDeviceModule* adm, |
| WebRtcVideoEncoderFactory* video_encoder_factory, |
| - WebRtcVideoDecoderFactory* video_decoder_factory) { |
| - return CreateWebRtcMediaEngine(adm, |
| - webrtc::CreateBuiltinAudioDecoderFactory(), |
| - video_encoder_factory, video_decoder_factory); |
| + WebRtcVideoDecoderFactory* video_decoder_factory, |
| + rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { |
|
the sun
2016/12/12 20:50:04
Again, breaking compatibility in this function is
|
| + return CreateWebRtcMediaEngine( |
| + adm, webrtc::CreateBuiltinAudioDecoderFactory(), video_encoder_factory, |
| + video_decoder_factory, audio_mixer); |
| } |
| // Used by PeerConnectionFactory to create a media engine passed into |
| @@ -83,9 +91,11 @@ MediaEngineInterface* WebRtcMediaEngineFactory::Create( |
| const rtc::scoped_refptr<webrtc::AudioDecoderFactory>& |
| audio_decoder_factory, |
| WebRtcVideoEncoderFactory* video_encoder_factory, |
| - WebRtcVideoDecoderFactory* video_decoder_factory) { |
| + WebRtcVideoDecoderFactory* video_decoder_factory, |
| + rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer) { |
| return CreateWebRtcMediaEngine(adm, audio_decoder_factory, |
| - video_encoder_factory, video_decoder_factory); |
| + video_encoder_factory, video_decoder_factory, |
| + audio_mixer); |
| } |
| namespace { |