All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.mediaconvert.model.AutomatedEncodingSettings.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.mediaconvert.model



/**
 * Use automated encoding to have MediaConvert choose your encoding settings for you, based on characteristics of your input video.
 */
public class AutomatedEncodingSettings private constructor(builder: Builder) {
    /**
     * Use automated ABR to have MediaConvert set up the renditions in your ABR package for you automatically, based on characteristics of your input video. This feature optimizes video quality while minimizing the overall size of your ABR package.
     */
    public val abrSettings: aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings? = builder.abrSettings

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mediaconvert.model.AutomatedEncodingSettings = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("AutomatedEncodingSettings(")
        append("abrSettings=$abrSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = abrSettings?.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 AutomatedEncodingSettings

        if (abrSettings != other.abrSettings) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mediaconvert.model.AutomatedEncodingSettings = Builder(this).apply(block).build()

    public class Builder {
        /**
         * Use automated ABR to have MediaConvert set up the renditions in your ABR package for you automatically, based on characteristics of your input video. This feature optimizes video quality while minimizing the overall size of your ABR package.
         */
        public var abrSettings: aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.AutomatedEncodingSettings) : this() {
            this.abrSettings = x.abrSettings
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.AutomatedEncodingSettings = AutomatedEncodingSettings(this)

        /**
         * construct an [aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings] inside the given [block]
         */
        public fun abrSettings(block: aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings.Builder.() -> kotlin.Unit) {
            this.abrSettings = aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings.invoke(block)
        }

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy