Added OnResolutionChange to EncoderSelectorInterface.

Bug: webrtc:12406
Change-Id: I0160636d93ad0a33caf7ae7443cefe321a191406
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258442
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36517}
This commit is contained in:
philipel
2022-04-11 10:48:28 +02:00
committed by WebRTC LUCI CQ
parent 9797dcd1a7
commit 6daa3048fc
7 changed files with 89 additions and 0 deletions

View File

@ -10,6 +10,7 @@
#include "sdk/android/src/jni/video_encoder_factory_wrapper.h"
#include "api/video/render_resolution.h"
#include "api/video_codecs/video_encoder.h"
#include "rtc_base/logging.h"
#include "sdk/android/generated_video_jni/VideoEncoderFactory_jni.h"
@ -48,6 +49,18 @@ class VideoEncoderSelectorWrapper
return VideoCodecInfoToSdpVideoFormat(jni, codec_info);
}
absl::optional<SdpVideoFormat> OnResolutionChange(
const RenderResolution& resolution) override {
JNIEnv* jni = AttachCurrentThreadIfNeeded();
ScopedJavaLocalRef<jobject> codec_info =
Java_VideoEncoderSelector_onResolutionChange(
jni, encoder_selector_, resolution.Width(), resolution.Height());
if (codec_info.is_null()) {
return absl::nullopt;
}
return VideoCodecInfoToSdpVideoFormat(jni, codec_info);
}
absl::optional<SdpVideoFormat> OnEncoderBroken() override {
JNIEnv* jni = AttachCurrentThreadIfNeeded();
ScopedJavaLocalRef<jobject> codec_info =