@java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(2, getCreateTime());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(3, getUpdateTime());
    }
    com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
        output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 4);
    if (state_
        != com.google.cloud.video.livestream.v1.DvrSession.State.STATE_UNSPECIFIED.getNumber()) {
      output.writeEnum(5, state_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeMessage(6, getError());
    }
    for (int i = 0; i < dvrManifests_.size(); i++) {
      output.writeMessage(7, dvrManifests_.get(i));
    }
    for (int i = 0; i < dvrWindows_.size(); i++) {
      output.writeMessage(8, dvrWindows_.get(i));
    }
    getUnknownFields().writeTo(output);
  }
<pre>
Required. The specified ranges of segments to generate a DVR recording.
</pre>

<code>
repeated .google.cloud.video.livestream.v1.DvrSession.DvrWindow dvr_windows = 8 [(.google.api.field_behavior) = REQUIRED];
</code>
java-video-live-stream/proto-google-cloud-live-stream-v1/src/main/java/com/google/cloud/video/livestream/v1/DvrSession.java