mirror of
https://github.com/androidx/media.git
synced 2025-05-09 16:40:55 +08:00
adjustments
This commit is contained in:
parent
feff4d3e02
commit
84afad0748
@ -44,10 +44,10 @@ public final class VideoFrameReleaseTimeHelper {
|
|||||||
private DisplayManager.DisplayListener displayListener = null;
|
private DisplayManager.DisplayListener displayListener = null;
|
||||||
private Context context = null;
|
private Context context = null;
|
||||||
|
|
||||||
private VSyncSampler vsyncSampler;
|
private VSyncSampler vsyncSampler = null;
|
||||||
private boolean useDefaultDisplayVsync;
|
private final boolean useDefaultDisplayVsync;
|
||||||
private long vsyncDurationNs;
|
private long vsyncDurationNs = -1; // Value unused.
|
||||||
private long vsyncOffsetNs;
|
private long vsyncOffsetNs = -1; // Value unused.
|
||||||
|
|
||||||
private long lastFramePresentationTimeUs;
|
private long lastFramePresentationTimeUs;
|
||||||
private long adjustedLastFrameTimeNs;
|
private long adjustedLastFrameTimeNs;
|
||||||
@ -75,11 +75,10 @@ public final class VideoFrameReleaseTimeHelper {
|
|||||||
public VideoFrameReleaseTimeHelper(Context context) {
|
public VideoFrameReleaseTimeHelper(Context context) {
|
||||||
this(getDefaultDisplayRefreshRate(context));
|
this(getDefaultDisplayRefreshRate(context));
|
||||||
this.context = context.getApplicationContext();
|
this.context = context.getApplicationContext();
|
||||||
registerDisplayListener();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private VideoFrameReleaseTimeHelper(double defaultDisplayRefreshRate) {
|
private VideoFrameReleaseTimeHelper(double defaultDisplayRefreshRate) {
|
||||||
setSync(defaultDisplayRefreshRate);
|
useDefaultDisplayVsync = defaultDisplayRefreshRate != DISPLAY_REFRESH_RATE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -100,8 +99,8 @@ public final class VideoFrameReleaseTimeHelper {
|
|||||||
public void disable() {
|
public void disable() {
|
||||||
if (useDefaultDisplayVsync) {
|
if (useDefaultDisplayVsync) {
|
||||||
vsyncSampler.removeObserver();
|
vsyncSampler.removeObserver();
|
||||||
|
unregisterDisplayListener();
|
||||||
}
|
}
|
||||||
unregisterDisplayListener();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void registerDisplayListener() {
|
private void registerDisplayListener() {
|
||||||
@ -128,15 +127,10 @@ public final class VideoFrameReleaseTimeHelper {
|
|||||||
|
|
||||||
private void setSync(double defaultDisplayRefreshRate) {
|
private void setSync(double defaultDisplayRefreshRate) {
|
||||||
|
|
||||||
useDefaultDisplayVsync = defaultDisplayRefreshRate != DISPLAY_REFRESH_RATE_UNKNOWN;
|
|
||||||
if (useDefaultDisplayVsync) {
|
if (useDefaultDisplayVsync) {
|
||||||
vsyncSampler = VSyncSampler.getInstance();
|
vsyncSampler = VSyncSampler.getInstance();
|
||||||
vsyncDurationNs = (long) (C.NANOS_PER_SECOND / defaultDisplayRefreshRate);
|
vsyncDurationNs = (long) (C.NANOS_PER_SECOND / defaultDisplayRefreshRate);
|
||||||
vsyncOffsetNs = (vsyncDurationNs * VSYNC_OFFSET_PERCENTAGE) / 100;
|
vsyncOffsetNs = (vsyncDurationNs * VSYNC_OFFSET_PERCENTAGE) / 100;
|
||||||
} else {
|
|
||||||
vsyncSampler = null;
|
|
||||||
vsyncDurationNs = -1; // Value unused.
|
|
||||||
vsyncOffsetNs = -1; // Value unused.
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user