commonMain.aws.sdk.kotlin.services.mediaconvert.model.MsSmoothGroupSettings.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mediaconvert-jvm Show documentation
Show all versions of mediaconvert-jvm Show documentation
The AWS SDK for Kotlin client for MediaConvert
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mediaconvert.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Settings related to your Microsoft Smooth Streaming output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
*/
public class MsSmoothGroupSettings private constructor(builder: Builder) {
/**
* By default, the service creates one .ism Microsoft Smooth Streaming manifest for each Microsoft Smooth Streaming output group in your job. This default manifest references every output in the output group. To create additional manifests that reference a subset of the outputs in the output group, specify a list of them here.
*/
public val additionalManifests: List? = builder.additionalManifests
/**
* COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream.
*/
public val audioDeduplication: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothAudioDeduplication? = builder.audioDeduplication
/**
* Use Destination to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file.
*/
public val destination: kotlin.String? = builder.destination
/**
* Settings associated with the destination. Will vary based on the type of destination
*/
public val destinationSettings: aws.sdk.kotlin.services.mediaconvert.model.DestinationSettings? = builder.destinationSettings
/**
* If you are using DRM, set DRM System to specify the value SpekeKeyProvider.
*/
public val encryption: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothEncryptionSettings? = builder.encryption
/**
* Specify how you want MediaConvert to determine the fragment length. Choose Exact to have the encoder use the exact length that you specify with the setting Fragment length. This might result in extra I-frames. Choose Multiple of GOP to have the encoder round up the segment lengths to match the next GOP boundary.
*/
public val fragmentLength: kotlin.Int? = builder.fragmentLength
/**
* Specify how you want MediaConvert to determine the fragment length. Choose Exact to have the encoder use the exact length that you specify with the setting Fragment length. This might result in extra I-frames. Choose Multiple of GOP to have the encoder round up the segment lengths to match the next GOP boundary.
*/
public val fragmentLengthControl: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothFragmentLengthControl? = builder.fragmentLengthControl
/**
* Use Manifest encoding to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16.
*/
public val manifestEncoding: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothManifestEncoding? = builder.manifestEncoding
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mediaconvert.model.MsSmoothGroupSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("MsSmoothGroupSettings(")
append("additionalManifests=$additionalManifests,")
append("audioDeduplication=$audioDeduplication,")
append("destination=$destination,")
append("destinationSettings=$destinationSettings,")
append("encryption=$encryption,")
append("fragmentLength=$fragmentLength,")
append("fragmentLengthControl=$fragmentLengthControl,")
append("manifestEncoding=$manifestEncoding")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = additionalManifests?.hashCode() ?: 0
result = 31 * result + (audioDeduplication?.hashCode() ?: 0)
result = 31 * result + (destination?.hashCode() ?: 0)
result = 31 * result + (destinationSettings?.hashCode() ?: 0)
result = 31 * result + (encryption?.hashCode() ?: 0)
result = 31 * result + (fragmentLength ?: 0)
result = 31 * result + (fragmentLengthControl?.hashCode() ?: 0)
result = 31 * result + (manifestEncoding?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as MsSmoothGroupSettings
if (additionalManifests != other.additionalManifests) return false
if (audioDeduplication != other.audioDeduplication) return false
if (destination != other.destination) return false
if (destinationSettings != other.destinationSettings) return false
if (encryption != other.encryption) return false
if (fragmentLength != other.fragmentLength) return false
if (fragmentLengthControl != other.fragmentLengthControl) return false
if (manifestEncoding != other.manifestEncoding) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mediaconvert.model.MsSmoothGroupSettings = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* By default, the service creates one .ism Microsoft Smooth Streaming manifest for each Microsoft Smooth Streaming output group in your job. This default manifest references every output in the output group. To create additional manifests that reference a subset of the outputs in the output group, specify a list of them here.
*/
public var additionalManifests: List? = null
/**
* COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream.
*/
public var audioDeduplication: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothAudioDeduplication? = null
/**
* Use Destination to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file.
*/
public var destination: kotlin.String? = null
/**
* Settings associated with the destination. Will vary based on the type of destination
*/
public var destinationSettings: aws.sdk.kotlin.services.mediaconvert.model.DestinationSettings? = null
/**
* If you are using DRM, set DRM System to specify the value SpekeKeyProvider.
*/
public var encryption: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothEncryptionSettings? = null
/**
* Specify how you want MediaConvert to determine the fragment length. Choose Exact to have the encoder use the exact length that you specify with the setting Fragment length. This might result in extra I-frames. Choose Multiple of GOP to have the encoder round up the segment lengths to match the next GOP boundary.
*/
public var fragmentLength: kotlin.Int? = null
/**
* Specify how you want MediaConvert to determine the fragment length. Choose Exact to have the encoder use the exact length that you specify with the setting Fragment length. This might result in extra I-frames. Choose Multiple of GOP to have the encoder round up the segment lengths to match the next GOP boundary.
*/
public var fragmentLengthControl: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothFragmentLengthControl? = null
/**
* Use Manifest encoding to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16.
*/
public var manifestEncoding: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothManifestEncoding? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothGroupSettings) : this() {
this.additionalManifests = x.additionalManifests
this.audioDeduplication = x.audioDeduplication
this.destination = x.destination
this.destinationSettings = x.destinationSettings
this.encryption = x.encryption
this.fragmentLength = x.fragmentLength
this.fragmentLengthControl = x.fragmentLengthControl
this.manifestEncoding = x.manifestEncoding
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.MsSmoothGroupSettings = MsSmoothGroupSettings(this)
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.DestinationSettings] inside the given [block]
*/
public fun destinationSettings(block: aws.sdk.kotlin.services.mediaconvert.model.DestinationSettings.Builder.() -> kotlin.Unit) {
this.destinationSettings = aws.sdk.kotlin.services.mediaconvert.model.DestinationSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.MsSmoothEncryptionSettings] inside the given [block]
*/
public fun encryption(block: aws.sdk.kotlin.services.mediaconvert.model.MsSmoothEncryptionSettings.Builder.() -> kotlin.Unit) {
this.encryption = aws.sdk.kotlin.services.mediaconvert.model.MsSmoothEncryptionSettings.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}