public Builder mergeFrom(com.google.cloud.video.livestream.v1.DvrSession other) {
      if (other == com.google.cloud.video.livestream.v1.DvrSession.getDefaultInstance())
        return this;
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (other.hasCreateTime()) {
        mergeCreateTime(other.getCreateTime());
      }
      if (other.hasUpdateTime()) {
        mergeUpdateTime(other.getUpdateTime());
      }
      internalGetMutableLabels().mergeFrom(other.internalGetLabels());
      bitField0_ |= 0x00000008;
      if (other.state_ != 0) {
        setStateValue(other.getStateValue());
      }
      if (other.hasError()) {
        mergeError(other.getError());
      }
      if (dvrManifestsBuilder_ == null) {
        if (!other.dvrManifests_.isEmpty()) {
          if (dvrManifests_.isEmpty()) {
            dvrManifests_ = other.dvrManifests_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureDvrManifestsIsMutable();
            dvrManifests_.addAll(other.dvrManifests_);
          }
          onChanged();
        }
      } else {
        if (!other.dvrManifests_.isEmpty()) {
          if (dvrManifestsBuilder_.isEmpty()) {
            dvrManifestsBuilder_.dispose();
            dvrManifestsBuilder_ = null;
            dvrManifests_ = other.dvrManifests_;
            bitField0_ = (bitField0_ & ~0x00000040);
            dvrManifestsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getDvrManifestsFieldBuilder()
                    : null;
          } else {
            dvrManifestsBuilder_.addAllMessages(other.dvrManifests_);
          }
        }
      }
      if (dvrWindowsBuilder_ == null) {
        if (!other.dvrWindows_.isEmpty()) {
          if (dvrWindows_.isEmpty()) {
            dvrWindows_ = other.dvrWindows_;
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            ensureDvrWindowsIsMutable();
            dvrWindows_.addAll(other.dvrWindows_);
          }
          onChanged();
        }
      } else {
        if (!other.dvrWindows_.isEmpty()) {
          if (dvrWindowsBuilder_.isEmpty()) {
            dvrWindowsBuilder_.dispose();
            dvrWindowsBuilder_ = null;
            dvrWindows_ = other.dvrWindows_;
            bitField0_ = (bitField0_ & ~0x00000080);
            dvrWindowsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getDvrWindowsFieldBuilder()
                    : null;
          } else {
            dvrWindowsBuilder_.addAllMessages(other.dvrWindows_);
          }
        }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }
<pre>
DvrSession is a sub-resource under channel. Each DvrSession represents a DVR
recording of the live stream for a specific time range.
</pre>

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