Re-land webrtcmediaengine.cc part of r6397.

webrtcvideoengine.cc un-reverted by a bot roll in r6399 so half of r6397
is still applied. The applied fix (diff between r6397) is to put
WebRtcVideoEngine2 in ifdefs and only build for WEBRTC_CHROMIUM_BUILDs
corresponding to webrtcmediaengine.h.

BUG=
R=minyue@webrtc.org
TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19719005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6401 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
pbos@webrtc.org 2014-06-11 13:42:37 +00:00
parent fbb567dacd
commit 9e65a3b013

View File

@ -25,5 +25,34 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// TODO(pbos): Move CreateWebRtcMediaEngine here as soon as
// libjingle/libjingle.gyp in Chromium builds this file.
#include "talk/media/webrtc/webrtcmediaengine.h"
#include "webrtc/system_wrappers/interface/field_trial.h"
WRME_EXPORT
cricket::MediaEngineInterface* CreateWebRtcMediaEngine(
webrtc::AudioDeviceModule* adm,
webrtc::AudioDeviceModule* adm_sc,
cricket::WebRtcVideoEncoderFactory* encoder_factory,
cricket::WebRtcVideoDecoderFactory* decoder_factory) {
#ifdef WEBRTC_CHROMIUM_BUILD
if (webrtc::field_trial::FindFullName("WebRTC-NewVideoAPI") == "Enabled") {
return new cricket::WebRtcMediaEngine2(
adm, adm_sc, encoder_factory, decoder_factory);
}
#endif // WEBRTC_CHROMIUM_BUILD
return new cricket::WebRtcMediaEngine(
adm, adm_sc, encoder_factory, decoder_factory);
}
WRME_EXPORT
void DestroyWebRtcMediaEngine(cricket::MediaEngineInterface* media_engine) {
#ifdef WEBRTC_CHROMIUM_BUILD
if (webrtc::field_trial::FindFullName("WebRTC-NewVideoAPI") == "Enabled") {
delete static_cast<cricket::WebRtcMediaEngine2*>(media_engine);
} else {
#endif // WEBRTC_CHROMIUM_BUILD
delete static_cast<cricket::WebRtcMediaEngine*>(media_engine);
#ifdef WEBRTC_CHROMIUM_BUILD
}
#endif // WEBRTC_CHROMIUM_BUILD
}