Allow getScalingSettings to be called from any thread
Scaling settings is a static property of the encoder wrapper. It has no any dependencies on underlaying HW codec and can be fetched from any thread. getScalingSettings is called from VideoEncoderWrapper ctor [1]. Presence of checkIsOnValidThread() in getScalingSettings caused capturing of thread [2]. That required all following codec calls to be done from the thread that created the codec. [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/sdk/android/src/jni/video_encoder_wrapper.cc;drc=c05a1be5b49f5c03b6955b05bcbf47609e1b0381;l=41 [2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/rtc_base/java/src/org/webrtc/ThreadUtils.java;l=30 Bug: b/261160916, webrtc:14852 Change-Id: I7bb18bc8e3b371d83ccd44d4a5a096f716c0a0e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291807 Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39303}
This commit is contained in:
parent
5dd493b3da
commit
831664294c
@ -488,7 +488,6 @@ class HardwareVideoEncoder implements VideoEncoder {
|
||||
|
||||
@Override
|
||||
public ScalingSettings getScalingSettings() {
|
||||
encodeThreadChecker.checkIsOnValidThread();
|
||||
if (automaticResizeOn) {
|
||||
if (codecType == VideoCodecMimeType.VP8) {
|
||||
final int kLowVp8QpThreshold = 29;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user