Retrieve screen info once

The method getScreenInfo() is synchronized, and the result may change
between calls.

Call it once and store the result in a local variable.
This commit is contained in:
Romain Vimont 2020-02-24 21:08:32 +01:00
parent c0f428eb05
commit ef56cc6ff7

View file

@ -63,8 +63,9 @@ public class ScreenEncoder implements Device.RotationListener {
do { do {
MediaCodec codec = createCodec(); MediaCodec codec = createCodec();
IBinder display = createDisplay(); IBinder display = createDisplay();
Rect contentRect = device.getScreenInfo().getContentRect(); ScreenInfo screenInfo = device.getScreenInfo();
Rect videoRect = device.getScreenInfo().getVideoSize().toRect(); Rect contentRect = screenInfo.getContentRect();
Rect videoRect = screenInfo.getVideoSize().toRect();
setSize(format, videoRect.width(), videoRect.height()); setSize(format, videoRect.width(), videoRect.height());
configure(codec, format); configure(codec, format);
Surface surface = codec.createInputSurface(); Surface surface = codec.createInputSurface();