Remove instances of j.u.Optional from EGLRenderer
j.u.Optional isn't available for sdk version <24 and our minsdk is 21. Bug: webrtc:351858995 Change-Id: Iadf50a96fc5462d16b53857116fab271cecc8c3c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374061 Reviewed-by: Sergey Silkin <ssilkin@webrtc.org> Auto-Submit: Ranveer Aggarwal <ranvr@webrtc.org> Reviewed-by: Zoé Lepaul <xalep@webrtc.org> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/main@{#43935}
This commit is contained in:
parent
edc5d89a54
commit
8175444111
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
|||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@ -33,6 +32,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
*/
|
*/
|
||||||
public class EglRenderer implements VideoSink {
|
public class EglRenderer implements VideoSink {
|
||||||
private static final String TAG = "EglRenderer";
|
private static final String TAG = "EglRenderer";
|
||||||
|
private static final UUID EMPTY_UUID = new UUID(0L, 0L); // All zeros
|
||||||
private static final long LOG_INTERVAL_SEC = 4;
|
private static final long LOG_INTERVAL_SEC = 4;
|
||||||
|
|
||||||
public interface FrameListener { void onFrame(Bitmap frame); }
|
public interface FrameListener { void onFrame(Bitmap frame); }
|
||||||
@ -98,7 +98,7 @@ public class EglRenderer implements VideoSink {
|
|||||||
|
|
||||||
// An id to uniquely identify the renderer, used for when we're scheduling
|
// An id to uniquely identify the renderer, used for when we're scheduling
|
||||||
// frames for render.
|
// frames for render.
|
||||||
private Optional<UUID> id = Optional.empty();
|
private UUID id = EMPTY_UUID;
|
||||||
|
|
||||||
// `eglThread` is used for rendering, and is synchronized on `threadLock`.
|
// `eglThread` is used for rendering, and is synchronized on `threadLock`.
|
||||||
private final Object threadLock = new Object();
|
private final Object threadLock = new Object();
|
||||||
@ -233,7 +233,7 @@ public class EglRenderer implements VideoSink {
|
|||||||
boolean usePresentationTimeStamp,
|
boolean usePresentationTimeStamp,
|
||||||
boolean overwritePendingFrames) {
|
boolean overwritePendingFrames) {
|
||||||
if (overwritePendingFrames) {
|
if (overwritePendingFrames) {
|
||||||
id = Optional.of(UUID.randomUUID());
|
id = UUID.randomUUID();
|
||||||
}
|
}
|
||||||
init(eglThread, drawer, usePresentationTimeStamp);
|
init(eglThread, drawer, usePresentationTimeStamp);
|
||||||
}
|
}
|
||||||
@ -661,10 +661,10 @@ public class EglRenderer implements VideoSink {
|
|||||||
renderSwapBufferTimeNs += (System.nanoTime() - swapBuffersStartTimeNs);
|
renderSwapBufferTimeNs += (System.nanoTime() - swapBuffersStartTimeNs);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (id.isPresent()) {
|
if (id.equals(EMPTY_UUID)) {
|
||||||
eglThread.scheduleRenderUpdate(id.get(), renderUpdate);
|
|
||||||
} else {
|
|
||||||
eglThread.scheduleRenderUpdate(renderUpdate);
|
eglThread.scheduleRenderUpdate(renderUpdate);
|
||||||
|
} else {
|
||||||
|
eglThread.scheduleRenderUpdate(id, renderUpdate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user