@java.lang.Override
    public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) {
            return size;
        }

        size = 0;
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ingressId_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(1, ingressId_);
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(streamKey_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(3, streamKey_);
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(url_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(4, url_);
        }
        if (inputType_ != im.turms.plugin.livekit.core.proto.ingress.IngressInput.RTMP_INPUT
                .getNumber()) {
            size += com.google.protobuf.CodedOutputStream.computeEnumSize(5, inputType_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
            size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getAudio());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
            size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getVideo());
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(roomName_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(8, roomName_);
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(participantIdentity_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(9, participantIdentity_);
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(participantName_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(10, participantName_);
        }
        if (reusable_) {
            size += com.google.protobuf.CodedOutputStream.computeBoolSize(11, reusable_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
            size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getState());
        }
        if (bypassTranscoding_) {
            size += com.google.protobuf.CodedOutputStream.computeBoolSize(13, bypassTranscoding_);
        }
        if (!com.google.protobuf.GeneratedMessage.isStringEmpty(participantMetadata_)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(14,
                    participantMetadata_);
        }
        if (((bitField0_ & 0x00000001) != 0)) {
            size += com.google.protobuf.CodedOutputStream.computeBoolSize(15, enableTranscoding_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
    }
<pre>
Description of error/stream non compliance and debug info for publisher otherwise (received bitrate, resolution, bandwidth)
</pre>

<code>.livekit.IngressState state = 12;</code>
turms-plugins/turms-plugin-livekit/src/main/java/im/turms/plugin/livekit/core/proto/ingress/IngressInfo.java