diff --git a/talk/media/webrtc/webrtcmediaengine.cc b/talk/media/webrtc/webrtcmediaengine.cc index cf0fcdf..4673195 100644 --- a/talk/media/webrtc/webrtcmediaengine.cc +++ b/talk/media/webrtc/webrtcmediaengine.cc @@ -37,9 +37,12 @@ #ifdef WEBRTC_CHROMIUM_BUILD #include "webrtc/system_wrappers/interface/field_trial.h" #endif +#include "talk/media/base/fakemediaengine.h" +#include "talk/media/base/fakevideocapturer.h" namespace cricket { +#if defined(HAVE_WEBRTC_VIDEO) && defined(HAVE_WEBRTC_AUDIO) class WebRtcMediaEngine : public CompositeMediaEngine { public: @@ -54,6 +57,7 @@ class WebRtcMediaEngine : video_.SetExternalDecoderFactory(decoder_factory); } }; +#endif #ifdef WEBRTC_CHROMIUM_BUILD class WebRtcMediaEngine2 : @@ -85,8 +89,18 @@ cricket::MediaEngineInterface* CreateWebRtcMediaEngine( adm, adm_sc, encoder_factory, decoder_factory); } #endif // WEBRTC_CHROMIUM_BUILD +#if defined(HAVE_WEBRTC_VOICE) && defined(HAVE_WEBRTC_VIDEO) return new cricket::WebRtcMediaEngine( adm, adm_sc, encoder_factory, decoder_factory); +#endif + +#if defined(HAVE_WEBRTC_VOICE) && !defined(HAVE_WEBRTC_VIDEO) + return new cricket::CompositeMediaEngine(); +#endif + +#if !defined(HAVE_WEBRTC_VOICE) && !defined(HAVE_WEBRTC_VIDEO) + return new cricket::NullMediaEngine(); +#endif } WRME_EXPORT @@ -99,7 +113,17 @@ namespace cricket { // Used by ChannelManager when no media engine is passed in to it // explicitly (acts as a default). MediaEngineInterface* WebRtcMediaEngineFactory::Create() { +#if defined(HAVE_WEBRTC_AUDIO) && defined(HAVE_WEBRTC_VIDEO) return new cricket::WebRtcMediaEngine(); +#endif + +#if defined(HAVE_WEBRTC_AUDIO) && !defined(HAVE_WEBRTC_VIDEO) + return new cricket::CompositeMediaEngine(); +#endif + +#if !defined(HAVE_WEBRTC_AUDIO) && !defined(HAVE_WEBRTC_VIDEO) + return new cricket::NullMediaEngine(); +#endif } // Used by PeerConnectionFactory to create a media engine passed into