@java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                name_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 18:
              {
                input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
            case 26:
              {
                input.readMessage(getUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
            case 34:
              {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
                    input.readMessage(
                        LabelsDefaultEntryHolder.defaultEntry.getParserForType(),
                        extensionRegistry);
                internalGetMutableLabels()
                    .getMutableMap()
                    .put(labels__.getKey(), labels__.getValue());
                bitField0_ |= 0x00000008;
                break;
              } // case 34
            case 50:
              {
                activeInput_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 50
            case 74:
              {
                input.readMessage(getOutputFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 74
            case 82:
              {
                com.google.cloud.video.livestream.v1.ElementaryStream m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.ElementaryStream.parser(),
                        extensionRegistry);
                if (elementaryStreamsBuilder_ == null) {
                  ensureElementaryStreamsIsMutable();
                  elementaryStreams_.add(m);
                } else {
                  elementaryStreamsBuilder_.addMessage(m);
                }
                break;
              } // case 82
            case 90:
              {
                com.google.cloud.video.livestream.v1.MuxStream m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.MuxStream.parser(), extensionRegistry);
                if (muxStreamsBuilder_ == null) {
                  ensureMuxStreamsIsMutable();
                  muxStreams_.add(m);
                } else {
                  muxStreamsBuilder_.addMessage(m);
                }
                break;
              } // case 90
            case 98:
              {
                com.google.cloud.video.livestream.v1.Manifest m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.Manifest.parser(), extensionRegistry);
                if (manifestsBuilder_ == null) {
                  ensureManifestsIsMutable();
                  manifests_.add(m);
                } else {
                  manifestsBuilder_.addMessage(m);
                }
                break;
              } // case 98
            case 106:
              {
                com.google.cloud.video.livestream.v1.SpriteSheet m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.SpriteSheet.parser(),
                        extensionRegistry);
                if (spriteSheetsBuilder_ == null) {
                  ensureSpriteSheetsIsMutable();
                  spriteSheets_.add(m);
                } else {
                  spriteSheetsBuilder_.addMessage(m);
                }
                break;
              } // case 106
            case 112:
              {
                streamingState_ = input.readEnum();
                bitField0_ |= 0x00000800;
                break;
              } // case 112
            case 130:
              {
                com.google.cloud.video.livestream.v1.InputAttachment m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.InputAttachment.parser(),
                        extensionRegistry);
                if (inputAttachmentsBuilder_ == null) {
                  ensureInputAttachmentsIsMutable();
                  inputAttachments_.add(m);
                } else {
                  inputAttachmentsBuilder_.addMessage(m);
                }
                break;
              } // case 130
            case 146:
              {
                input.readMessage(getStreamingErrorFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00001000;
                break;
              } // case 146
            case 154:
              {
                input.readMessage(getLogConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00002000;
                break;
              } // case 154
            case 170:
              {
                input.readMessage(getTimecodeConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00004000;
                break;
              } // case 170
            case 194:
              {
                com.google.cloud.video.livestream.v1.Encryption m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.Encryption.parser(),
                        extensionRegistry);
                if (encryptionsBuilder_ == null) {
                  ensureEncryptionsIsMutable();
                  encryptions_.add(m);
                } else {
                  encryptionsBuilder_.addMessage(m);
                }
                break;
              } // case 194
            case 202:
              {
                input.readMessage(getInputConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00010000;
                break;
              } // case 202
            case 210:
              {
                input.readMessage(getRetentionConfigFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00020000;
                break;
              } // case 210
            case 218:
              {
                com.google.cloud.video.livestream.v1.StaticOverlay m =
                    input.readMessage(
                        com.google.cloud.video.livestream.v1.StaticOverlay.parser(),
                        extensionRegistry);
                if (staticOverlaysBuilder_ == null) {
                  ensureStaticOverlaysIsMutable();
                  staticOverlays_.add(m);
                } else {
                  staticOverlaysBuilder_.addMessage(m);
                }
                break;
              } // case 218
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
<pre>
Channel resource represents the processor that does a user-defined
"streaming" operation, which includes getting an input stream through an
input, transcoding it to multiple renditions, and publishing output live
streams in certain formats (for example, HLS or DASH) to the specified
location.
</pre>

Protobuf type {@code google.cloud.video.livestream.v1.Channel}
java-video-live-stream/proto-google-cloud-live-stream-v1/src/main/java/com/google/cloud/video/livestream/v1/Channel.java