Handle frame_types=null in VideoEncoderWrapper::Encode()

frame_types=null is a valid input for Encoder(). VP8/VP9/H264 software encoder wrappers can handle frame_types=null.

Bug: b/261160916, webrtc:14852
Change-Id: I96ed98d553546ecbe70ff0356f314496f838c535
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/293260
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39325}
This commit is contained in:
Sergey Silkin 2023-02-13 16:22:04 +01:00 committed by WebRTC LUCI CQ
parent 880f1d5ab9
commit 2bdf79ac91

View File

@ -151,8 +151,13 @@ int32_t VideoEncoderWrapper::Encode(
JNIEnv* jni = AttachCurrentThreadIfNeeded();
// Construct encode info.
ScopedJavaLocalRef<jobjectArray> j_frame_types =
NativeToJavaFrameTypeArray(jni, *frame_types);
ScopedJavaLocalRef<jobjectArray> j_frame_types;
if (frame_types != nullptr) {
j_frame_types = NativeToJavaFrameTypeArray(jni, *frame_types);
} else {
j_frame_types =
NativeToJavaFrameTypeArray(jni, {VideoFrameType::kVideoFrameDelta});
}
ScopedJavaLocalRef<jobject> encode_info =
Java_EncodeInfo_Constructor(jni, j_frame_types);