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
diff --git a/talk/media/webrtc/webrtcmediaengine.cc b/talk/media/webrtc/webrtcmediaengine.cc
index 03f7b9b..445564c 100644
--- a/talk/media/webrtc/webrtcmediaengine.cc
+++ b/talk/media/webrtc/webrtcmediaengine.cc
@@ -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
+}