Cleanup sdk android code from using VideoEncoderFactory::CreateVideoEncoder
To force webrtc::Environment propagation through android VideoEncoderFactory wrappers
Bug: webrtc:15860
Change-Id: Icad7249b47a5c738b089e09714c729f91eddaf5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342960
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41936}
diff --git a/sdk/android/api/org/webrtc/LibaomAv1Encoder.java b/sdk/android/api/org/webrtc/LibaomAv1Encoder.java
index 46ea985..340586e 100644
--- a/sdk/android/api/org/webrtc/LibaomAv1Encoder.java
+++ b/sdk/android/api/org/webrtc/LibaomAv1Encoder.java
@@ -12,16 +12,10 @@
public class LibaomAv1Encoder extends WrappedNativeVideoEncoder {
@Override
- public long createNativeVideoEncoder() {
- return nativeCreateEncoder();
- }
-
- @Override
public long createNative(long webrtcEnvRef) {
return nativeCreate(webrtcEnvRef);
}
- static native long nativeCreateEncoder();
static native long nativeCreate(long webrtcEnvRef);
@Override
diff --git a/sdk/android/api/org/webrtc/LibvpxVp8Encoder.java b/sdk/android/api/org/webrtc/LibvpxVp8Encoder.java
index a47df25..46eb67e 100644
--- a/sdk/android/api/org/webrtc/LibvpxVp8Encoder.java
+++ b/sdk/android/api/org/webrtc/LibvpxVp8Encoder.java
@@ -12,16 +12,10 @@
public class LibvpxVp8Encoder extends WrappedNativeVideoEncoder {
@Override
- public long createNativeVideoEncoder() {
- return nativeCreateEncoder();
- }
-
- @Override
public long createNative(long webrtcEnvRef) {
return nativeCreate(webrtcEnvRef);
}
- static native long nativeCreateEncoder();
static native long nativeCreate(long webrtcEnvRef);
@Override
diff --git a/sdk/android/api/org/webrtc/LibvpxVp9Encoder.java b/sdk/android/api/org/webrtc/LibvpxVp9Encoder.java
index de242bb..71bcd13 100644
--- a/sdk/android/api/org/webrtc/LibvpxVp9Encoder.java
+++ b/sdk/android/api/org/webrtc/LibvpxVp9Encoder.java
@@ -12,16 +12,10 @@
public class LibvpxVp9Encoder extends WrappedNativeVideoEncoder {
@Override
- public long createNativeVideoEncoder() {
- return nativeCreateEncoder();
- }
-
- @Override
public long createNative(long webrtcEnvRef) {
return nativeCreate(webrtcEnvRef);
}
- static native long nativeCreateEncoder();
static native long nativeCreate(long webrtcEnvRef);
@Override
diff --git a/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java b/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java
index b4e4142..ad19b4c 100644
--- a/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java
+++ b/sdk/android/api/org/webrtc/SoftwareVideoEncoderFactory.java
@@ -33,11 +33,6 @@
return new WrappedNativeVideoEncoder() {
@Override
- public long createNativeVideoEncoder() {
- return nativeCreateEncoder(nativeFactory, info);
- }
-
- @Override
public long createNative(long webrtcEnvRef) {
return nativeCreate(nativeFactory, webrtcEnvRef, info);
}
@@ -56,8 +51,6 @@
private static native long nativeCreateFactory();
- private static native long nativeCreateEncoder(long factory, VideoCodecInfo videoCodecInfo);
-
private static native boolean nativeIsSupported(long factory, VideoCodecInfo info);
private static native long nativeCreate(long factory, long webrtcEnvRef, VideoCodecInfo info);
diff --git a/sdk/android/api/org/webrtc/VideoEncoder.java b/sdk/android/api/org/webrtc/VideoEncoder.java
index d240001..7c07c82 100644
--- a/sdk/android/api/org/webrtc/VideoEncoder.java
+++ b/sdk/android/api/org/webrtc/VideoEncoder.java
@@ -322,16 +322,9 @@
* the Java interface methods declared below should thus throw an
* UnsupportedOperationException.
*/
-
- @CalledByNative
- @Deprecated
- default long createNativeVideoEncoder() {
- return 0;
- }
-
@CalledByNative
default long createNative(long webrtcEnvRef) {
- return createNativeVideoEncoder();
+ return 0;
}
/**
diff --git a/sdk/android/api/org/webrtc/VideoEncoderFallback.java b/sdk/android/api/org/webrtc/VideoEncoderFallback.java
index 0d0716b..86b6507 100644
--- a/sdk/android/api/org/webrtc/VideoEncoderFallback.java
+++ b/sdk/android/api/org/webrtc/VideoEncoderFallback.java
@@ -23,11 +23,6 @@
}
@Override
- public long createNativeVideoEncoder() {
- return nativeCreateEncoder(fallback, primary);
- }
-
- @Override
public long createNative(long webrtcEnvRef) {
return nativeCreate(webrtcEnvRef, fallback, primary);
}
@@ -37,7 +32,6 @@
return primary.isHardwareEncoder();
}
- private static native long nativeCreateEncoder(VideoEncoder fallback, VideoEncoder primary);
private static native long nativeCreate(
long webrtcEnvRef, VideoEncoder fallback, VideoEncoder primary);
}
diff --git a/sdk/android/api/org/webrtc/WrappedNativeVideoEncoder.java b/sdk/android/api/org/webrtc/WrappedNativeVideoEncoder.java
index 801cba3..43063e0 100644
--- a/sdk/android/api/org/webrtc/WrappedNativeVideoEncoder.java
+++ b/sdk/android/api/org/webrtc/WrappedNativeVideoEncoder.java
@@ -14,9 +14,7 @@
* Wraps a native webrtc::VideoEncoder.
*/
public abstract class WrappedNativeVideoEncoder implements VideoEncoder {
- // TODO: bugs.webrtc.org/15860 - uncomment when implemented by all
- // derived classes instead of the createNativeVideoEncoder
- // @Override public abstract long createNative(long webrtcEnvRef);
+ @Override public abstract long createNative(long webrtcEnvRef);
@Override public abstract boolean isHardwareEncoder();
@Override
diff --git a/sdk/android/src/jni/libaom_av1_encoder.cc b/sdk/android/src/jni/libaom_av1_encoder.cc
index d597713..9ed4abf 100644
--- a/sdk/android/src/jni/libaom_av1_encoder.cc
+++ b/sdk/android/src/jni/libaom_av1_encoder.cc
@@ -19,10 +19,6 @@
namespace webrtc {
namespace jni {
-static jlong JNI_LibaomAv1Encoder_CreateEncoder(JNIEnv* jni) {
- return jlongFromPointer(webrtc::CreateLibaomAv1Encoder().release());
-}
-
jlong JNI_LibaomAv1Encoder_Create(JNIEnv* jni, jlong j_webrtc_env_ref) {
return NativeToJavaPointer(
CreateLibaomAv1Encoder(
diff --git a/sdk/android/src/jni/software_video_encoder_factory.cc b/sdk/android/src/jni/software_video_encoder_factory.cc
index 2533025..bcd4c1d 100644
--- a/sdk/android/src/jni/software_video_encoder_factory.cc
+++ b/sdk/android/src/jni/software_video_encoder_factory.cc
@@ -45,22 +45,6 @@
.release());
}
-static jlong JNI_SoftwareVideoEncoderFactory_CreateEncoder(
- JNIEnv* env,
- jlong j_factory,
- const webrtc::JavaParamRef<jobject>& j_video_codec_info) {
- auto* const native_factory =
- reinterpret_cast<webrtc::VideoEncoderFactory*>(j_factory);
- const auto video_format =
- webrtc::jni::VideoCodecInfoToSdpVideoFormat(env, j_video_codec_info);
-
- auto encoder = native_factory->CreateVideoEncoder(video_format);
- if (encoder == nullptr) {
- return 0;
- }
- return webrtc::NativeToJavaPointer(encoder.release());
-}
-
static webrtc::ScopedJavaLocalRef<jobject>
JNI_SoftwareVideoEncoderFactory_GetSupportedCodecs(JNIEnv* env,
jlong j_factory) {
diff --git a/sdk/android/src/jni/video_encoder_factory_wrapper.cc b/sdk/android/src/jni/video_encoder_factory_wrapper.cc
index 5c8ee71..78aa145 100644
--- a/sdk/android/src/jni/video_encoder_factory_wrapper.cc
+++ b/sdk/android/src/jni/video_encoder_factory_wrapper.cc
@@ -92,18 +92,6 @@
}
VideoEncoderFactoryWrapper::~VideoEncoderFactoryWrapper() = default;
-std::unique_ptr<VideoEncoder> VideoEncoderFactoryWrapper::CreateVideoEncoder(
- const SdpVideoFormat& format) {
- JNIEnv* jni = AttachCurrentThreadIfNeeded();
- ScopedJavaLocalRef<jobject> j_codec_info =
- SdpVideoFormatToVideoCodecInfo(jni, format);
- ScopedJavaLocalRef<jobject> encoder = Java_VideoEncoderFactory_createEncoder(
- jni, encoder_factory_, j_codec_info);
- if (!encoder.obj())
- return nullptr;
- return JavaToNativeVideoEncoder(jni, encoder);
-}
-
std::unique_ptr<VideoEncoder> VideoEncoderFactoryWrapper::Create(
const Environment& env,
const SdpVideoFormat& format) {
diff --git a/sdk/android/src/jni/video_encoder_factory_wrapper.h b/sdk/android/src/jni/video_encoder_factory_wrapper.h
index ba40120..9b383a8 100644
--- a/sdk/android/src/jni/video_encoder_factory_wrapper.h
+++ b/sdk/android/src/jni/video_encoder_factory_wrapper.h
@@ -31,9 +31,6 @@
const JavaRef<jobject>& encoder_factory);
~VideoEncoderFactoryWrapper() override;
- std::unique_ptr<VideoEncoder> CreateVideoEncoder(
- const SdpVideoFormat& format) override;
-
std::unique_ptr<VideoEncoder> Create(const Environment& env,
const SdpVideoFormat& format) override;
diff --git a/sdk/android/src/jni/video_encoder_fallback.cc b/sdk/android/src/jni/video_encoder_fallback.cc
index 4f07c39..dcca70a 100644
--- a/sdk/android/src/jni/video_encoder_fallback.cc
+++ b/sdk/android/src/jni/video_encoder_fallback.cc
@@ -19,24 +19,6 @@
namespace webrtc {
namespace jni {
-static jlong JNI_VideoEncoderFallback_CreateEncoder(
- JNIEnv* jni,
- const JavaParamRef<jobject>& j_fallback_encoder,
- const JavaParamRef<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);
-
- VideoEncoder* native_wrapper =
- CreateVideoEncoderSoftwareFallbackWrapper(
- std::move(fallback_encoder), std::move(primary_encoder),
- /*prefer_temporal_support=*/false)
- .release();
-
- return NativeToJavaPointer(native_wrapper);
-}
-
jlong JNI_VideoEncoderFallback_Create(
JNIEnv* jni,
jlong j_webrtc_env_ref,
diff --git a/sdk/android/src/jni/video_encoder_wrapper.cc b/sdk/android/src/jni/video_encoder_wrapper.cc
index d0f205f..92e6c80 100644
--- a/sdk/android/src/jni/video_encoder_wrapper.cc
+++ b/sdk/android/src/jni/video_encoder_wrapper.cc
@@ -471,20 +471,6 @@
}
}
-std::unique_ptr<VideoEncoder> JavaToNativeVideoEncoder(
- JNIEnv* jni,
- const JavaRef<jobject>& j_encoder) {
- const jlong native_encoder =
- Java_VideoEncoder_createNativeVideoEncoder(jni, j_encoder);
- VideoEncoder* encoder;
- if (native_encoder == 0) {
- encoder = new VideoEncoderWrapper(jni, j_encoder);
- } else {
- encoder = reinterpret_cast<VideoEncoder*>(native_encoder);
- }
- return std::unique_ptr<VideoEncoder>(encoder);
-}
-
std::vector<VideoEncoder::ResolutionBitrateLimits>
JavaToNativeResolutionBitrateLimits(
JNIEnv* jni,
diff --git a/sdk/android/src/jni/video_encoder_wrapper.h b/sdk/android/src/jni/video_encoder_wrapper.h
index 3c4678b..d0b3893 100644
--- a/sdk/android/src/jni/video_encoder_wrapper.h
+++ b/sdk/android/src/jni/video_encoder_wrapper.h
@@ -126,11 +126,6 @@
const JavaRef<jobject>& j_encoder,
jlong webrtcEnvRef);
-// Deprecated, use variant above that requires webrtc::Environment
-std::unique_ptr<VideoEncoder> JavaToNativeVideoEncoder(
- JNIEnv* jni,
- const JavaRef<jobject>& j_encoder);
-
bool IsHardwareVideoEncoder(JNIEnv* jni, const JavaRef<jobject>& j_encoder);
std::vector<VideoEncoder::ResolutionBitrateLimits>
diff --git a/sdk/android/src/jni/vp8_codec.cc b/sdk/android/src/jni/vp8_codec.cc
index 2c1994e..c987f0f 100644
--- a/sdk/android/src/jni/vp8_codec.cc
+++ b/sdk/android/src/jni/vp8_codec.cc
@@ -19,10 +19,6 @@
namespace webrtc {
namespace jni {
-static jlong JNI_LibvpxVp8Encoder_CreateEncoder(JNIEnv* jni) {
- return jlongFromPointer(VP8Encoder::Create().release());
-}
-
jlong JNI_LibvpxVp8Encoder_Create(JNIEnv* jni, jlong j_webrtc_env_ref) {
return NativeToJavaPointer(
CreateVp8Encoder(*reinterpret_cast<const Environment*>(j_webrtc_env_ref))
diff --git a/sdk/android/src/jni/vp9_codec.cc b/sdk/android/src/jni/vp9_codec.cc
index fdafea8..dcce5bb 100644
--- a/sdk/android/src/jni/vp9_codec.cc
+++ b/sdk/android/src/jni/vp9_codec.cc
@@ -19,10 +19,6 @@
namespace webrtc {
namespace jni {
-static jlong JNI_LibvpxVp9Encoder_CreateEncoder(JNIEnv* jni) {
- return jlongFromPointer(VP9Encoder::Create().release());
-}
-
jlong JNI_LibvpxVp9Encoder_Create(JNIEnv* jni, jlong j_webrtc_env_ref) {
return NativeToJavaPointer(
CreateVp9Encoder(*reinterpret_cast<const Environment*>(j_webrtc_env_ref))