From 2bdf79ac9172ae70c6f3f2129d9132c695774851 Mon Sep 17 00:00:00 2001 From: Sergey Silkin Date: Mon, 13 Feb 2023 16:22:04 +0100 Subject: [PATCH] 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 Commit-Queue: Sergey Silkin Cr-Commit-Position: refs/heads/main@{#39325} --- sdk/android/src/jni/video_encoder_wrapper.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sdk/android/src/jni/video_encoder_wrapper.cc b/sdk/android/src/jni/video_encoder_wrapper.cc index c23ab1e485..3912ede048 100644 --- a/sdk/android/src/jni/video_encoder_wrapper.cc +++ b/sdk/android/src/jni/video_encoder_wrapper.cc @@ -151,8 +151,13 @@ int32_t VideoEncoderWrapper::Encode( JNIEnv* jni = AttachCurrentThreadIfNeeded(); // Construct encode info. - ScopedJavaLocalRef j_frame_types = - NativeToJavaFrameTypeArray(jni, *frame_types); + ScopedJavaLocalRef j_frame_types; + if (frame_types != nullptr) { + j_frame_types = NativeToJavaFrameTypeArray(jni, *frame_types); + } else { + j_frame_types = + NativeToJavaFrameTypeArray(jni, {VideoFrameType::kVideoFrameDelta}); + } ScopedJavaLocalRef encode_info = Java_EncodeInfo_Constructor(jni, j_frame_types);