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

commonMain.aws.sdk.kotlin.services.medialive.model.AudioCodecSettings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.model



/**
 * Audio Codec Settings
 */
public class AudioCodecSettings private constructor(builder: Builder) {
    /**
     * Aac Settings
     */
    public val aacSettings: aws.sdk.kotlin.services.medialive.model.AacSettings? = builder.aacSettings
    /**
     * Ac3 Settings
     */
    public val ac3Settings: aws.sdk.kotlin.services.medialive.model.Ac3Settings? = builder.ac3Settings
    /**
     * Eac3 Atmos Settings
     */
    public val eac3AtmosSettings: aws.sdk.kotlin.services.medialive.model.Eac3AtmosSettings? = builder.eac3AtmosSettings
    /**
     * Eac3 Settings
     */
    public val eac3Settings: aws.sdk.kotlin.services.medialive.model.Eac3Settings? = builder.eac3Settings
    /**
     * Mp2 Settings
     */
    public val mp2Settings: aws.sdk.kotlin.services.medialive.model.Mp2Settings? = builder.mp2Settings
    /**
     * Pass Through Settings
     */
    public val passThroughSettings: aws.sdk.kotlin.services.medialive.model.PassThroughSettings? = builder.passThroughSettings
    /**
     * Wav Settings
     */
    public val wavSettings: aws.sdk.kotlin.services.medialive.model.WavSettings? = builder.wavSettings

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

    override fun toString(): kotlin.String = buildString {
        append("AudioCodecSettings(")
        append("aacSettings=$aacSettings,")
        append("ac3Settings=$ac3Settings,")
        append("eac3AtmosSettings=$eac3AtmosSettings,")
        append("eac3Settings=$eac3Settings,")
        append("mp2Settings=$mp2Settings,")
        append("passThroughSettings=$passThroughSettings,")
        append("wavSettings=$wavSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = aacSettings?.hashCode() ?: 0
        result = 31 * result + (ac3Settings?.hashCode() ?: 0)
        result = 31 * result + (eac3AtmosSettings?.hashCode() ?: 0)
        result = 31 * result + (eac3Settings?.hashCode() ?: 0)
        result = 31 * result + (mp2Settings?.hashCode() ?: 0)
        result = 31 * result + (passThroughSettings?.hashCode() ?: 0)
        result = 31 * result + (wavSettings?.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 AudioCodecSettings

        if (aacSettings != other.aacSettings) return false
        if (ac3Settings != other.ac3Settings) return false
        if (eac3AtmosSettings != other.eac3AtmosSettings) return false
        if (eac3Settings != other.eac3Settings) return false
        if (mp2Settings != other.mp2Settings) return false
        if (passThroughSettings != other.passThroughSettings) return false
        if (wavSettings != other.wavSettings) return false

        return true
    }

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

    public class Builder {
        /**
         * Aac Settings
         */
        public var aacSettings: aws.sdk.kotlin.services.medialive.model.AacSettings? = null
        /**
         * Ac3 Settings
         */
        public var ac3Settings: aws.sdk.kotlin.services.medialive.model.Ac3Settings? = null
        /**
         * Eac3 Atmos Settings
         */
        public var eac3AtmosSettings: aws.sdk.kotlin.services.medialive.model.Eac3AtmosSettings? = null
        /**
         * Eac3 Settings
         */
        public var eac3Settings: aws.sdk.kotlin.services.medialive.model.Eac3Settings? = null
        /**
         * Mp2 Settings
         */
        public var mp2Settings: aws.sdk.kotlin.services.medialive.model.Mp2Settings? = null
        /**
         * Pass Through Settings
         */
        public var passThroughSettings: aws.sdk.kotlin.services.medialive.model.PassThroughSettings? = null
        /**
         * Wav Settings
         */
        public var wavSettings: aws.sdk.kotlin.services.medialive.model.WavSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.AudioCodecSettings) : this() {
            this.aacSettings = x.aacSettings
            this.ac3Settings = x.ac3Settings
            this.eac3AtmosSettings = x.eac3AtmosSettings
            this.eac3Settings = x.eac3Settings
            this.mp2Settings = x.mp2Settings
            this.passThroughSettings = x.passThroughSettings
            this.wavSettings = x.wavSettings
        }

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

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

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

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy