mirror of
https://github.com/androidx/media.git
synced 2025-05-08 16:10:38 +08:00
check if defaultRefreshRate is reasonable
We found getDefaultDisplay has a very small chance returns null
This commit is contained in:
parent
c980eae9c4
commit
dbfbcd6312
@ -72,7 +72,7 @@ public final class VideoFrameReleaseTimeHelper {
|
|||||||
private VideoFrameReleaseTimeHelper(double defaultDisplayRefreshRate,
|
private VideoFrameReleaseTimeHelper(double defaultDisplayRefreshRate,
|
||||||
boolean useDefaultDisplayVsync) {
|
boolean useDefaultDisplayVsync) {
|
||||||
this.useDefaultDisplayVsync = useDefaultDisplayVsync;
|
this.useDefaultDisplayVsync = useDefaultDisplayVsync;
|
||||||
if (useDefaultDisplayVsync) {
|
if (useDefaultDisplayVsync && defaultDisplayRefreshRate > 0f) {
|
||||||
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;
|
||||||
@ -202,7 +202,7 @@ public final class VideoFrameReleaseTimeHelper {
|
|||||||
|
|
||||||
private static float getDefaultDisplayRefreshRate(Context context) {
|
private static float getDefaultDisplayRefreshRate(Context context) {
|
||||||
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||||
return manager.getDefaultDisplay().getRefreshRate();
|
return manager.getDefaultDisplay() != null ? manager.getDefaultDisplay().getRefreshRate() : 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user