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

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

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

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



/**
 * This object holds groups of settings related to captions for one output. For each output that has captions, include one instance of CaptionDescriptions.
 */
public class CaptionDescription private constructor(builder: Builder) {
    /**
     * Specifies which "Caption Selector":#inputs-caption_selector to use from each input when generating captions. The name should be of the format "Caption Selector ", which denotes that the Nth Caption Selector will be used from each input.
     */
    public val captionSelectorName: kotlin.String? = builder.captionSelectorName
    /**
     * Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
     */
    public val customLanguageCode: kotlin.String? = builder.customLanguageCode
    /**
     * Settings related to one captions tab on the MediaConvert console. Usually, one captions tab corresponds to one output captions track. Depending on your output captions format, one tab might correspond to a set of output captions tracks. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/including-captions.html.
     */
    public val destinationSettings: aws.sdk.kotlin.services.mediaconvert.model.CaptionDestinationSettings? = builder.destinationSettings
    /**
     * Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text.
     */
    public val languageCode: aws.sdk.kotlin.services.mediaconvert.model.LanguageCode? = builder.languageCode
    /**
     * Specify a label for this set of output captions. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
     */
    public val languageDescription: kotlin.String? = builder.languageDescription

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

    override fun toString(): kotlin.String = buildString {
        append("CaptionDescription(")
        append("captionSelectorName=$captionSelectorName,")
        append("customLanguageCode=$customLanguageCode,")
        append("destinationSettings=$destinationSettings,")
        append("languageCode=$languageCode,")
        append("languageDescription=$languageDescription")
        append(")")
    }

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

        if (captionSelectorName != other.captionSelectorName) return false
        if (customLanguageCode != other.customLanguageCode) return false
        if (destinationSettings != other.destinationSettings) return false
        if (languageCode != other.languageCode) return false
        if (languageDescription != other.languageDescription) return false

        return true
    }

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

    public class Builder {
        /**
         * Specifies which "Caption Selector":#inputs-caption_selector to use from each input when generating captions. The name should be of the format "Caption Selector ", which denotes that the Nth Caption Selector will be used from each input.
         */
        public var captionSelectorName: kotlin.String? = null
        /**
         * Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming.
         */
        public var customLanguageCode: kotlin.String? = null
        /**
         * Settings related to one captions tab on the MediaConvert console. Usually, one captions tab corresponds to one output captions track. Depending on your output captions format, one tab might correspond to a set of output captions tracks. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/including-captions.html.
         */
        public var destinationSettings: aws.sdk.kotlin.services.mediaconvert.model.CaptionDestinationSettings? = null
        /**
         * Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text.
         */
        public var languageCode: aws.sdk.kotlin.services.mediaconvert.model.LanguageCode? = null
        /**
         * Specify a label for this set of output captions. For example, "English", "Director commentary", or "track_2". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.
         */
        public var languageDescription: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.CaptionDescription) : this() {
            this.captionSelectorName = x.captionSelectorName
            this.customLanguageCode = x.customLanguageCode
            this.destinationSettings = x.destinationSettings
            this.languageCode = x.languageCode
            this.languageDescription = x.languageDescription
        }

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy