@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
            return true;
        }
        if (!(obj instanceof IngressState other)) {
            return super.equals(obj);
        }

        if (status_ != other.status_) {
            return false;
        }
        if (!getError().equals(other.getError())) {
            return false;
        }
        if (hasVideo() != other.hasVideo()) {
            return false;
        }
        if (hasVideo()) {
            if (!getVideo().equals(other.getVideo())) {
                return false;
            }
        }
        if (hasAudio() != other.hasAudio()) {
            return false;
        }
        if (hasAudio()) {
            if (!getAudio().equals(other.getAudio())) {
                return false;
            }
        }
        if (!getRoomId().equals(other.getRoomId())) {
            return false;
        }
        if (getStartedAt() != other.getStartedAt()) {
            return false;
        }
        if (getEndedAt() != other.getEndedAt()) {
            return false;
        }
        if (getUpdatedAt() != other.getUpdatedAt()) {
            return false;
        }
        if (!getResourceId().equals(other.getResourceId())) {
            return false;
        }
        if (!getTracksList().equals(other.getTracksList())) {
            return false;
        }
        return getUnknownFields().equals(other.getUnknownFields());
    }
<code>repeated .livekit.TrackInfo tracks = 6;</code>
turms-plugins/turms-plugin-livekit/src/main/java/im/turms/plugin/livekit/core/proto/ingress/IngressState.java