Expose java to native conversion of bitrate limits in public API.
A downstream project needs this functionality.
Bug: none
Change-Id: I316ca5066383a7fe73e793b305c14b48f622b70e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172843
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31031}
diff --git a/sdk/android/native_api/codecs/wrapper.cc b/sdk/android/native_api/codecs/wrapper.cc
index 08cafd8..c3f2095 100644
--- a/sdk/android/native_api/codecs/wrapper.cc
+++ b/sdk/android/native_api/codecs/wrapper.cc
@@ -16,6 +16,7 @@
#include "sdk/android/src/jni/video_codec_info.h"
#include "sdk/android/src/jni/video_decoder_factory_wrapper.h"
#include "sdk/android/src/jni/video_encoder_factory_wrapper.h"
+#include "sdk/android/src/jni/video_encoder_wrapper.h"
namespace webrtc {
@@ -38,4 +39,11 @@
jni, JavaParamRef<jobject>(encoder_factory));
}
+std::vector<VideoEncoder::ResolutionBitrateLimits>
+JavaToNativeResolutionBitrateLimits(JNIEnv* jni,
+ const jobjectArray j_bitrate_limits_array) {
+ return jni::JavaToNativeResolutionBitrateLimits(
+ jni, JavaParamRef<jobjectArray>(j_bitrate_limits_array));
+}
+
} // namespace webrtc
diff --git a/sdk/android/native_api/codecs/wrapper.h b/sdk/android/native_api/codecs/wrapper.h
index b1ff24c..2246fd7 100644
--- a/sdk/android/native_api/codecs/wrapper.h
+++ b/sdk/android/native_api/codecs/wrapper.h
@@ -13,9 +13,11 @@
#include <jni.h>
#include <memory>
+#include <vector>
#include "api/video_codecs/sdp_video_format.h"
#include "api/video_codecs/video_decoder_factory.h"
+#include "api/video_codecs/video_encoder.h"
#include "api/video_codecs/video_encoder_factory.h"
namespace webrtc {
@@ -35,6 +37,12 @@
JNIEnv* jni,
jobject encoder_factory);
+// Creates an array of VideoEncoder::ResolutionBitrateLimits from Java array
+// of ResolutionBitrateLimits.
+std::vector<VideoEncoder::ResolutionBitrateLimits>
+JavaToNativeResolutionBitrateLimits(JNIEnv* jni,
+ const jobjectArray j_bitrate_limits_array);
+
} // namespace webrtc
#endif // SDK_ANDROID_NATIVE_API_CODECS_WRAPPER_H_