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

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

There is a newer version: 1.3.34
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

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

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * Use captions selectors to specify the captions data from your input that you use in your outputs. You can use up to 100 captions selectors per input.
 */
public class CaptionSelector private constructor(builder: Builder) {
    /**
     * The specific language to extract from source, using the ISO 639-2 or ISO 639-3 three-letter language code. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions.
     */
    public val customLanguageCode: kotlin.String? = builder.customLanguageCode
    /**
     * The specific language to extract from source. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions.
     */
    public val languageCode: aws.sdk.kotlin.services.mediaconvert.model.LanguageCode? = builder.languageCode
    /**
     * If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file, specify the URI of the input captions source file. If your input captions are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
     */
    public val sourceSettings: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings? = builder.sourceSettings

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

    override fun toString(): kotlin.String = buildString {
        append("CaptionSelector(")
        append("customLanguageCode=$customLanguageCode,")
        append("languageCode=$languageCode,")
        append("sourceSettings=$sourceSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = customLanguageCode?.hashCode() ?: 0
        result = 31 * result + (languageCode?.hashCode() ?: 0)
        result = 31 * result + (sourceSettings?.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 CaptionSelector

        if (customLanguageCode != other.customLanguageCode) return false
        if (languageCode != other.languageCode) return false
        if (sourceSettings != other.sourceSettings) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The specific language to extract from source, using the ISO 639-2 or ISO 639-3 three-letter language code. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions.
         */
        public var customLanguageCode: kotlin.String? = null
        /**
         * The specific language to extract from source. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions.
         */
        public var languageCode: aws.sdk.kotlin.services.mediaconvert.model.LanguageCode? = null
        /**
         * If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file, specify the URI of the input captions source file. If your input captions are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
         */
        public var sourceSettings: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.CaptionSelector) : this() {
            this.customLanguageCode = x.customLanguageCode
            this.languageCode = x.languageCode
            this.sourceSettings = x.sourceSettings
        }

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy