Class Manifest.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<Manifest.Builder>
com.google.cloud.video.livestream.v1.Manifest.Builder
All Implemented Interfaces:
ManifestOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Manifest

public static final class Manifest.Builder extends com.google.protobuf.GeneratedMessage.Builder<Manifest.Builder> implements ManifestOrBuilder
 Manifest configuration.
 
Protobuf type google.cloud.video.livestream.v1.Manifest
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<Manifest.Builder>
    • clear

      public Manifest.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<Manifest.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<Manifest.Builder>
    • getDefaultInstanceForType

      public Manifest getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public Manifest build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public Manifest buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public Manifest.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Manifest.Builder>
    • mergeFrom

      public Manifest.Builder mergeFrom(Manifest other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<Manifest.Builder>
    • mergeFrom

      public Manifest.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Manifest.Builder>
      Throws:
      IOException
    • getFileName

      public String getFileName()
       The name of the generated file. The default is `manifest` with the
       extension suffix corresponding to the `Manifest`
       [type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
       manifests are added to the channel, each must have a unique file name.
       
      string file_name = 1;
      Specified by:
      getFileName in interface ManifestOrBuilder
      Returns:
      The fileName.
    • getFileNameBytes

      public com.google.protobuf.ByteString getFileNameBytes()
       The name of the generated file. The default is `manifest` with the
       extension suffix corresponding to the `Manifest`
       [type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
       manifests are added to the channel, each must have a unique file name.
       
      string file_name = 1;
      Specified by:
      getFileNameBytes in interface ManifestOrBuilder
      Returns:
      The bytes for fileName.
    • setFileName

      public Manifest.Builder setFileName(String value)
       The name of the generated file. The default is `manifest` with the
       extension suffix corresponding to the `Manifest`
       [type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
       manifests are added to the channel, each must have a unique file name.
       
      string file_name = 1;
      Parameters:
      value - The fileName to set.
      Returns:
      This builder for chaining.
    • clearFileName

      public Manifest.Builder clearFileName()
       The name of the generated file. The default is `manifest` with the
       extension suffix corresponding to the `Manifest`
       [type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
       manifests are added to the channel, each must have a unique file name.
       
      string file_name = 1;
      Returns:
      This builder for chaining.
    • setFileNameBytes

      public Manifest.Builder setFileNameBytes(com.google.protobuf.ByteString value)
       The name of the generated file. The default is `manifest` with the
       extension suffix corresponding to the `Manifest`
       [type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
       manifests are added to the channel, each must have a unique file name.
       
      string file_name = 1;
      Parameters:
      value - The bytes for fileName to set.
      Returns:
      This builder for chaining.
    • getTypeValue

      public int getTypeValue()
       Required. Type of the manifest, can be `HLS` or `DASH`.
       
      .google.cloud.video.livestream.v1.Manifest.ManifestType type = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getTypeValue in interface ManifestOrBuilder
      Returns:
      The enum numeric value on the wire for type.
    • setTypeValue

      public Manifest.Builder setTypeValue(int value)
       Required. Type of the manifest, can be `HLS` or `DASH`.
       
      .google.cloud.video.livestream.v1.Manifest.ManifestType type = 2 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The enum numeric value on the wire for type to set.
      Returns:
      This builder for chaining.
    • getType

      public Manifest.ManifestType getType()
       Required. Type of the manifest, can be `HLS` or `DASH`.
       
      .google.cloud.video.livestream.v1.Manifest.ManifestType type = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getType in interface ManifestOrBuilder
      Returns:
      The type.
    • setType

      public Manifest.Builder setType(Manifest.ManifestType value)
       Required. Type of the manifest, can be `HLS` or `DASH`.
       
      .google.cloud.video.livestream.v1.Manifest.ManifestType type = 2 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The type to set.
      Returns:
      This builder for chaining.
    • clearType

      public Manifest.Builder clearType()
       Required. Type of the manifest, can be `HLS` or `DASH`.
       
      .google.cloud.video.livestream.v1.Manifest.ManifestType type = 2 [(.google.api.field_behavior) = REQUIRED];
      Returns:
      This builder for chaining.
    • getMuxStreamsList

      public com.google.protobuf.ProtocolStringList getMuxStreamsList()
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMuxStreamsList in interface ManifestOrBuilder
      Returns:
      A list containing the muxStreams.
    • getMuxStreamsCount

      public int getMuxStreamsCount()
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMuxStreamsCount in interface ManifestOrBuilder
      Returns:
      The count of muxStreams.
    • getMuxStreams

      public String getMuxStreams(int index)
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMuxStreams in interface ManifestOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The muxStreams at the given index.
    • getMuxStreamsBytes

      public com.google.protobuf.ByteString getMuxStreamsBytes(int index)
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMuxStreamsBytes in interface ManifestOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the muxStreams at the given index.
    • setMuxStreams

      public Manifest.Builder setMuxStreams(int index, String value)
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      index - The index to set the value at.
      value - The muxStreams to set.
      Returns:
      This builder for chaining.
    • addMuxStreams

      public Manifest.Builder addMuxStreams(String value)
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The muxStreams to add.
      Returns:
      This builder for chaining.
    • addAllMuxStreams

      public Manifest.Builder addAllMuxStreams(Iterable<String> values)
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      values - The muxStreams to add.
      Returns:
      This builder for chaining.
    • clearMuxStreams

      public Manifest.Builder clearMuxStreams()
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Returns:
      This builder for chaining.
    • addMuxStreamsBytes

      public Manifest.Builder addMuxStreamsBytes(com.google.protobuf.ByteString value)
       Required. List of `MuxStream`
       [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear
       in this manifest.
      
       - For HLS, either `fmp4` or `ts` mux streams can be specified but not
       mixed.
       - For DASH, only `fmp4` mux streams can be specified.
       
      repeated string mux_streams = 3 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The bytes of the muxStreams to add.
      Returns:
      This builder for chaining.
    • getMaxSegmentCount

      public int getMaxSegmentCount()
       Maximum number of segments that this manifest holds. Once the manifest
       reaches this maximum number of segments, whenever a new segment is added to
       the manifest, the oldest segment will be removed from the manifest.
       The minimum value is 3 and the default value is 5.
       
      int32 max_segment_count = 4;
      Specified by:
      getMaxSegmentCount in interface ManifestOrBuilder
      Returns:
      The maxSegmentCount.
    • setMaxSegmentCount

      public Manifest.Builder setMaxSegmentCount(int value)
       Maximum number of segments that this manifest holds. Once the manifest
       reaches this maximum number of segments, whenever a new segment is added to
       the manifest, the oldest segment will be removed from the manifest.
       The minimum value is 3 and the default value is 5.
       
      int32 max_segment_count = 4;
      Parameters:
      value - The maxSegmentCount to set.
      Returns:
      This builder for chaining.
    • clearMaxSegmentCount

      public Manifest.Builder clearMaxSegmentCount()
       Maximum number of segments that this manifest holds. Once the manifest
       reaches this maximum number of segments, whenever a new segment is added to
       the manifest, the oldest segment will be removed from the manifest.
       The minimum value is 3 and the default value is 5.
       
      int32 max_segment_count = 4;
      Returns:
      This builder for chaining.
    • hasSegmentKeepDuration

      public boolean hasSegmentKeepDuration()
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
      Specified by:
      hasSegmentKeepDuration in interface ManifestOrBuilder
      Returns:
      Whether the segmentKeepDuration field is set.
    • getSegmentKeepDuration

      public com.google.protobuf.Duration getSegmentKeepDuration()
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
      Specified by:
      getSegmentKeepDuration in interface ManifestOrBuilder
      Returns:
      The segmentKeepDuration.
    • setSegmentKeepDuration

      public Manifest.Builder setSegmentKeepDuration(com.google.protobuf.Duration value)
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
    • setSegmentKeepDuration

      public Manifest.Builder setSegmentKeepDuration(com.google.protobuf.Duration.Builder builderForValue)
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
    • mergeSegmentKeepDuration

      public Manifest.Builder mergeSegmentKeepDuration(com.google.protobuf.Duration value)
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
    • clearSegmentKeepDuration

      public Manifest.Builder clearSegmentKeepDuration()
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
    • getSegmentKeepDurationBuilder

      public com.google.protobuf.Duration.Builder getSegmentKeepDurationBuilder()
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
    • getSegmentKeepDurationOrBuilder

      public com.google.protobuf.DurationOrBuilder getSegmentKeepDurationOrBuilder()
       How long to keep a segment on the output Google Cloud Storage bucket after
       it is removed from the manifest. This field should be large enough to cover
       the manifest propagation delay. Otherwise, a player could receive 404
       errors while accessing segments which are listed in the manifest that the
       player has, but were already deleted from the output Google Cloud Storage
       bucket. Default value is `60s`.
      
       If both segment_keep_duration and
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       are set,
       [RetentionConfig.retention_window_duration][google.cloud.video.livestream.v1.RetentionConfig.retention_window_duration]
       is used and segment_keep_duration is ignored.
       
      .google.protobuf.Duration segment_keep_duration = 5;
      Specified by:
      getSegmentKeepDurationOrBuilder in interface ManifestOrBuilder
    • getUseTimecodeAsTimeline

      public boolean getUseTimecodeAsTimeline()
       Whether to use the timecode, as specified in timecode config, when setting:
      
       - `availabilityStartTime` attribute in DASH manifests.
       - `#EXT-X-PROGRAM-DATE-TIME` tag in HLS manifests.
      
       If false, ignore the input timecode and use the time from system clock
       when the manifest is first generated. This is the default behavior.
       
      bool use_timecode_as_timeline = 6;
      Specified by:
      getUseTimecodeAsTimeline in interface ManifestOrBuilder
      Returns:
      The useTimecodeAsTimeline.
    • setUseTimecodeAsTimeline

      public Manifest.Builder setUseTimecodeAsTimeline(boolean value)
       Whether to use the timecode, as specified in timecode config, when setting:
      
       - `availabilityStartTime` attribute in DASH manifests.
       - `#EXT-X-PROGRAM-DATE-TIME` tag in HLS manifests.
      
       If false, ignore the input timecode and use the time from system clock
       when the manifest is first generated. This is the default behavior.
       
      bool use_timecode_as_timeline = 6;
      Parameters:
      value - The useTimecodeAsTimeline to set.
      Returns:
      This builder for chaining.
    • clearUseTimecodeAsTimeline

      public Manifest.Builder clearUseTimecodeAsTimeline()
       Whether to use the timecode, as specified in timecode config, when setting:
      
       - `availabilityStartTime` attribute in DASH manifests.
       - `#EXT-X-PROGRAM-DATE-TIME` tag in HLS manifests.
      
       If false, ignore the input timecode and use the time from system clock
       when the manifest is first generated. This is the default behavior.
       
      bool use_timecode_as_timeline = 6;
      Returns:
      This builder for chaining.
    • getKey

      public String getKey()
       Optional. A unique key for this manifest.
       
      string key = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getKey in interface ManifestOrBuilder
      Returns:
      The key.
    • getKeyBytes

      public com.google.protobuf.ByteString getKeyBytes()
       Optional. A unique key for this manifest.
       
      string key = 7 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getKeyBytes in interface ManifestOrBuilder
      Returns:
      The bytes for key.
    • setKey

      public Manifest.Builder setKey(String value)
       Optional. A unique key for this manifest.
       
      string key = 7 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The key to set.
      Returns:
      This builder for chaining.
    • clearKey

      public Manifest.Builder clearKey()
       Optional. A unique key for this manifest.
       
      string key = 7 [(.google.api.field_behavior) = OPTIONAL];
      Returns:
      This builder for chaining.
    • setKeyBytes

      public Manifest.Builder setKeyBytes(com.google.protobuf.ByteString value)
       Optional. A unique key for this manifest.
       
      string key = 7 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The bytes for key to set.
      Returns:
      This builder for chaining.