VideoEncoderFallback for Android.

Expose VideoEncoderSoftwareFallbackWrapper in Java.

Bug: webrtc:7925
Change-Id: I1e1f7bc0469527f6f6a3b7051535896c3f02611c
Reviewed-on: https://webrtc-review.googlesource.com/22960
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20698}
diff --git a/sdk/android/src/jni/videoencoderfallback.cc b/sdk/android/src/jni/videoencoderfallback.cc
new file mode 100644
index 0000000..b151f15
--- /dev/null
+++ b/sdk/android/src/jni/videoencoderfallback.cc
@@ -0,0 +1,39 @@
+/*
+ *  Copyright 2017 The WebRTC project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include <jni.h>
+
+#include "media/engine/videoencodersoftwarefallbackwrapper.h"
+#include "sdk/android/src/jni/jni_helpers.h"
+#include "sdk/android/src/jni/wrappednativecodec.h"
+
+namespace webrtc {
+namespace jni {
+
+JNI_FUNCTION_DECLARATION(jlong,
+                         VideoEncoderFallback_createNativeEncoder,
+                         JNIEnv* jni,
+                         jclass,
+                         jobject j_fallback_encoder,
+                         jobject j_primary_encoder) {
+  std::unique_ptr<VideoEncoder> fallback_encoder =
+      JavaToNativeVideoEncoder(jni, j_fallback_encoder);
+  std::unique_ptr<VideoEncoder> primary_encoder =
+      JavaToNativeVideoEncoder(jni, j_primary_encoder);
+
+  VideoEncoderSoftwareFallbackWrapper* nativeWrapper =
+      new VideoEncoderSoftwareFallbackWrapper(std::move(fallback_encoder),
+                                              std::move(primary_encoder));
+
+  return jlongFromPointer(nativeWrapper);
+}
+
+}  // namespace jni
+}  // namespace webrtc