All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openqa.selenium.devtools.v88.webaudio.model.ContextRealtimeData Maven / Gradle / Ivy

package org.openqa.selenium.devtools.v88.webaudio.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * Fields in AudioContext that change in real-time.
 */
public class ContextRealtimeData {

    private final java.lang.Number currentTime;

    private final java.lang.Number renderCapacity;

    private final java.lang.Number callbackIntervalMean;

    private final java.lang.Number callbackIntervalVariance;

    public ContextRealtimeData(java.lang.Number currentTime, java.lang.Number renderCapacity, java.lang.Number callbackIntervalMean, java.lang.Number callbackIntervalVariance) {
        this.currentTime = java.util.Objects.requireNonNull(currentTime, "currentTime is required");
        this.renderCapacity = java.util.Objects.requireNonNull(renderCapacity, "renderCapacity is required");
        this.callbackIntervalMean = java.util.Objects.requireNonNull(callbackIntervalMean, "callbackIntervalMean is required");
        this.callbackIntervalVariance = java.util.Objects.requireNonNull(callbackIntervalVariance, "callbackIntervalVariance is required");
    }

    /**
     * The current context time in second in BaseAudioContext.
     */
    public java.lang.Number getCurrentTime() {
        return currentTime;
    }

    /**
     * The time spent on rendering graph divided by render qunatum duration,
     * and multiplied by 100. 100 means the audio renderer reached the full
     * capacity and glitch may occur.
     */
    public java.lang.Number getRenderCapacity() {
        return renderCapacity;
    }

    /**
     * A running mean of callback interval.
     */
    public java.lang.Number getCallbackIntervalMean() {
        return callbackIntervalMean;
    }

    /**
     * A running variance of callback interval.
     */
    public java.lang.Number getCallbackIntervalVariance() {
        return callbackIntervalVariance;
    }

    private static ContextRealtimeData fromJson(JsonInput input) {
        java.lang.Number currentTime = 0;
        java.lang.Number renderCapacity = 0;
        java.lang.Number callbackIntervalMean = 0;
        java.lang.Number callbackIntervalVariance = 0;
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "currentTime":
                    currentTime = input.nextNumber();
                    break;
                case "renderCapacity":
                    renderCapacity = input.nextNumber();
                    break;
                case "callbackIntervalMean":
                    callbackIntervalMean = input.nextNumber();
                    break;
                case "callbackIntervalVariance":
                    callbackIntervalVariance = input.nextNumber();
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new ContextRealtimeData(currentTime, renderCapacity, callbackIntervalMean, callbackIntervalVariance);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy