
com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointHlsPackage.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.mediapackage.kotlin.outputs
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointAdsOnDeliveryRestrictions
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsPackageAdMarkers
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsPackageAdTriggersItem
import com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsPackagePlaylistType
import kotlin.Boolean
import kotlin.Int
import kotlin.Suppress
import kotlin.collections.List
/**
* An HTTP Live Streaming (HLS) packaging configuration.
* @property adMarkers This setting controls how ad markers are included in the packaged OriginEndpoint. "NONE" will omit all SCTE-35 ad markers from the output. "PASSTHROUGH" causes the manifest to contain a copy of the SCTE-35 ad markers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest. "SCTE35_ENHANCED" generates ad markers and blackout tags based on SCTE-35 messages in the input source. "DATERANGE" inserts EXT-X-DATERANGE tags to signal ad and program transition events in HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds value that is greater than 0.
* @property adTriggers A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no ad markers are output. Specify multiple items to create ad markers for all of the included message types.
* @property adsOnDeliveryRestrictions The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in AWS Elemental MediaPackage , see [SCTE-35 Message Options in AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/ug/scte.html) .
* @property encryption Parameters for encrypting content.
* @property includeDvbSubtitles When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
* @property includeIframeOnlyStream When enabled, an I-Frame only stream will be included in the output.
* @property playlistType The HTTP Live Streaming (HLS) playlist type. When either "EVENT" or "VOD" is specified, a corresponding EXT-X-PLAYLIST-TYPE entry will be included in the media playlist.
* @property playlistWindowSeconds Time window (in seconds) contained in each parent manifest.
* @property programDateTimeIntervalSeconds The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag inserted into manifests. Additionally, when an interval is specified ID3Timed Metadata messages will be generated every 5 seconds using the ingest time of the content. If the interval is not specified, or set to 0, then no EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no ID3Timed Metadata messages will be generated. Note that irrespective of this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input, it will be passed through to HLS output.
* @property segmentDurationSeconds Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.
* @property streamSelection Limitations for outputs from the endpoint, based on the video bitrate.
* @property useAudioRenditionGroup When enabled, audio streams will be placed in rendition groups in the output.
*/
public data class OriginEndpointHlsPackage(
public val adMarkers: OriginEndpointHlsPackageAdMarkers? = null,
public val adTriggers: List? = null,
public val adsOnDeliveryRestrictions: OriginEndpointAdsOnDeliveryRestrictions? = null,
public val encryption: OriginEndpointHlsEncryption? = null,
public val includeDvbSubtitles: Boolean? = null,
public val includeIframeOnlyStream: Boolean? = null,
public val playlistType: OriginEndpointHlsPackagePlaylistType? = null,
public val playlistWindowSeconds: Int? = null,
public val programDateTimeIntervalSeconds: Int? = null,
public val segmentDurationSeconds: Int? = null,
public val streamSelection: OriginEndpointStreamSelection? = null,
public val useAudioRenditionGroup: Boolean? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.mediapackage.outputs.OriginEndpointHlsPackage): OriginEndpointHlsPackage = OriginEndpointHlsPackage(
adMarkers = javaType.adMarkers().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsPackageAdMarkers.Companion.toKotlin(args0)
})
}).orElse(null),
adTriggers = javaType.adTriggers().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsPackageAdTriggersItem.Companion.toKotlin(args0)
})
}),
adsOnDeliveryRestrictions = javaType.adsOnDeliveryRestrictions().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointAdsOnDeliveryRestrictions.Companion.toKotlin(args0)
})
}).orElse(null),
encryption = javaType.encryption().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointHlsEncryption.Companion.toKotlin(args0)
})
}).orElse(null),
includeDvbSubtitles = javaType.includeDvbSubtitles().map({ args0 -> args0 }).orElse(null),
includeIframeOnlyStream = javaType.includeIframeOnlyStream().map({ args0 -> args0 }).orElse(null),
playlistType = javaType.playlistType().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackage.kotlin.enums.OriginEndpointHlsPackagePlaylistType.Companion.toKotlin(args0)
})
}).orElse(null),
playlistWindowSeconds = javaType.playlistWindowSeconds().map({ args0 -> args0 }).orElse(null),
programDateTimeIntervalSeconds = javaType.programDateTimeIntervalSeconds().map({ args0 ->
args0
}).orElse(null),
segmentDurationSeconds = javaType.segmentDurationSeconds().map({ args0 -> args0 }).orElse(null),
streamSelection = javaType.streamSelection().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.mediapackage.kotlin.outputs.OriginEndpointStreamSelection.Companion.toKotlin(args0)
})
}).orElse(null),
useAudioRenditionGroup = javaType.useAudioRenditionGroup().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy