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

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getCreateTime());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getUpdateTime());
    }
    for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
        internalGetLabels().getMap().entrySet()) {
      com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
          LabelsDefaultEntryHolder.defaultEntry
              .newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, labels__);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(activeInput_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, activeInput_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getOutput());
    }
    for (int i = 0; i < elementaryStreams_.size(); i++) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(10, elementaryStreams_.get(i));
    }
    for (int i = 0; i < muxStreams_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, muxStreams_.get(i));
    }
    for (int i = 0; i < manifests_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, manifests_.get(i));
    }
    for (int i = 0; i < spriteSheets_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, spriteSheets_.get(i));
    }
    if (streamingState_
        != com.google.cloud.video.livestream.v1.Channel.StreamingState.STREAMING_STATE_UNSPECIFIED
            .getNumber()) {
      size += com.google.protobuf.CodedOutputStream.computeEnumSize(14, streamingState_);
    }
    for (int i = 0; i < inputAttachments_.size(); i++) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(16, inputAttachments_.get(i));
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(18, getStreamingError());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(19, getLogConfig());
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(21, getTimecodeConfig());
    }
    for (int i = 0; i < encryptions_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(24, encryptions_.get(i));
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(25, getInputConfig());
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(26, getRetentionConfig());
    }
    for (int i = 0; i < staticOverlays_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(27, staticOverlays_.get(i));
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }
<pre>
Optional. List of static overlay images. Those images display over the
output content for the whole duration of the live stream.
</pre>

<code>
repeated .google.cloud.video.livestream.v1.StaticOverlay static_overlays = 27 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-video-live-stream/proto-google-cloud-live-stream-v1/src/main/java/com/google/cloud/video/livestream/v1/Channel.java