java.lang.Object
software.amazon.awssdk.services.elastictranscoder.model.Playlist
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Playlist.Builder,Playlist>

@Generated("software.amazon.awssdk:codegen") public final class Playlist extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Playlist.Builder,Playlist>

Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create. We recommend that you create only one master playlist per output format. The maximum number of master playlists in a job is 30.

See Also:
  • Method Details

    • name

      public final String name()

      The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

      Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

      Returns:
      The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

      Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

    • format

      public final String format()

      The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.

      Returns:
      The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.
    • hasOutputKeys

      public final boolean hasOutputKeys()
      For responses, this returns true if the service returned a value for the OutputKeys property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • outputKeys

      public final List<String> outputKeys()

      For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

      • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

        OutputKeyPrefixOutputs:Key

      • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

        OutputKeyPrefixOutputs:Key.m3u8

        OutputKeyPrefixOutputs:Key00000.ts

      • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

        OutputKeyPrefixOutputs:Key_v4.m3u8

        OutputKeyPrefixOutputs:Key_iframe.m3u8

        OutputKeyPrefixOutputs:Key.ts

      Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

      If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasOutputKeys() method.

      Returns:
      For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

      • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

        OutputKeyPrefixOutputs:Key

      • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

        OutputKeyPrefixOutputs:Key.m3u8

        OutputKeyPrefixOutputs:Key00000.ts

      • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

        OutputKeyPrefixOutputs:Key_v4.m3u8

        OutputKeyPrefixOutputs:Key_iframe.m3u8

        OutputKeyPrefixOutputs:Key.ts

      Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

      If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

    • hlsContentProtection

      public final HlsContentProtection hlsContentProtection()

      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

      Returns:
      The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
    • playReadyDrm

      public final PlayReadyDrm playReadyDrm()

      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

      Returns:
      The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.
    • status

      public final String status()

      The status of the job with which the playlist is associated.

      Returns:
      The status of the job with which the playlist is associated.
    • statusDetail

      public final String statusDetail()

      Information that further explains the status.

      Returns:
      Information that further explains the status.
    • toBuilder

      public Playlist.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Playlist.Builder,Playlist>
      Returns:
      a builder for type T
    • builder

      public static Playlist.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Playlist.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.