Rename rotationChanged to resetCapture

The flag is used to reset the capture (restart the encoding) on rotation
change. It will also be used for other events (on folding change), so
rename it.

PR #3979 <https://github.com/Genymobile/scrcpy/pull/3979>
This commit is contained in:
Romain Vimont 2023-05-29 19:23:51 +02:00
parent 9a2abba098
commit 8e2c0d6407

View file

@ -26,7 +26,7 @@ public class ScreenEncoder implements Device.RotationListener, AsyncProcessor {
private static final int[] MAX_SIZE_FALLBACK = {2560, 1920, 1600, 1280, 1024, 800};
private static final int MAX_CONSECUTIVE_ERRORS = 3;
private final AtomicBoolean rotationChanged = new AtomicBoolean();
private final AtomicBoolean resetCapture = new AtomicBoolean();
private final Device device;
private final Streamer streamer;
@ -55,11 +55,11 @@ public class ScreenEncoder implements Device.RotationListener, AsyncProcessor {
@Override
public void onRotationChanged(int rotation) {
rotationChanged.set(true);
resetCapture.set(true);
}
private boolean consumeRotationChange() {
return rotationChanged.getAndSet(false);
private boolean consumeResetCapture() {
return resetCapture.getAndSet(false);
}
private void streamScreen() throws IOException, ConfigurationException {
@ -169,14 +169,14 @@ public class ScreenEncoder implements Device.RotationListener, AsyncProcessor {
boolean alive = true;
MediaCodec.BufferInfo bufferInfo = new MediaCodec.BufferInfo();
while (!consumeRotationChange() && !eof) {
while (!consumeResetCapture() && !eof) {
if (stopped.get()) {
alive = false;
break;
}
int outputBufferId = codec.dequeueOutputBuffer(bufferInfo, -1);
try {
if (consumeRotationChange()) {
if (consumeResetCapture()) {
// must restart encoding with new size
break;
}