@java.lang.Override
    public int hashCode() {
        if (memoizedHashCode != 0) {
            return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + WIDTH_FIELD_NUMBER;
        hash = (53 * hash) + getWidth();
        hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
        hash = (53 * hash) + getHeight();
        hash = (37 * hash) + DEPTH_FIELD_NUMBER;
        hash = (53 * hash) + getDepth();
        hash = (37 * hash) + FRAMERATE_FIELD_NUMBER;
        hash = (53 * hash) + getFramerate();
        hash = (37 * hash) + AUDIO_CODEC_FIELD_NUMBER;
        hash = (53 * hash) + audioCodec_;
        hash = (37 * hash) + AUDIO_BITRATE_FIELD_NUMBER;
        hash = (53 * hash) + getAudioBitrate();
        hash = (37 * hash) + AUDIO_QUALITY_FIELD_NUMBER;
        hash = (53 * hash) + getAudioQuality();
        hash = (37 * hash) + AUDIO_FREQUENCY_FIELD_NUMBER;
        hash = (53 * hash) + getAudioFrequency();
        hash = (37 * hash) + VIDEO_CODEC_FIELD_NUMBER;
        hash = (53 * hash) + videoCodec_;
        hash = (37 * hash) + VIDEO_BITRATE_FIELD_NUMBER;
        hash = (53 * hash) + getVideoBitrate();
        hash = (37 * hash) + VIDEO_QUALITY_FIELD_NUMBER;
        hash = (53 * hash) + getVideoQuality();
        hash = (37 * hash) + KEY_FRAME_INTERVAL_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal
                .hashLong(java.lang.Double.doubleToLongBits(getKeyFrameInterval()));
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
    }
<pre>
in seconds (default 4s for streaming, segment duration for segmented output, encoder default for files)
</pre>

<code>double key_frame_interval = 10;</code>

@return The keyFrameInterval.
turms-plugins/turms-plugin-livekit/src/main/java/im/turms/plugin/livekit/core/proto/egress/EncodingOptions.java