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

commonMain.aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings.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

/**
 * 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 class CaptionSourceSettings private constructor(builder: Builder) {
    /**
     * Settings for ancillary captions source.
     */
    public val ancillarySourceSettings: aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings? = builder.ancillarySourceSettings
    /**
     * DVB Sub Source Settings
     */
    public val dvbSubSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings? = builder.dvbSubSourceSettings
    /**
     * Settings for embedded captions Source
     */
    public val embeddedSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings? = builder.embeddedSourceSettings
    /**
     * If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
     */
    public val fileSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings? = builder.fileSourceSettings
    /**
     * Use Source to identify the format of your input captions. The service cannot auto-detect caption format.
     */
    public val sourceType: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceType? = builder.sourceType
    /**
     * Settings specific to Teletext caption sources, including Page number.
     */
    public val teletextSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings? = builder.teletextSourceSettings
    /**
     * Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings.
     */
    public val trackSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings? = builder.trackSourceSettings
    /**
     * Settings specific to WebVTT sources in HLS alternative rendition group. Specify the properties (renditionGroupId, renditionName or renditionLanguageCode) to identify the unique subtitle track among the alternative rendition groups present in the HLS manifest. If no unique track is found, or multiple tracks match the specified properties, the job fails. If there is only one subtitle track in the rendition group, the settings can be left empty and the default subtitle track will be chosen. If your caption source is a sidecar file, use FileSourceSettings instead of WebvttHlsSourceSettings.
     */
    public val webvttHlsSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings? = builder.webvttHlsSourceSettings

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

    override fun toString(): kotlin.String = buildString {
        append("CaptionSourceSettings(")
        append("ancillarySourceSettings=$ancillarySourceSettings,")
        append("dvbSubSourceSettings=$dvbSubSourceSettings,")
        append("embeddedSourceSettings=$embeddedSourceSettings,")
        append("fileSourceSettings=$fileSourceSettings,")
        append("sourceType=$sourceType,")
        append("teletextSourceSettings=$teletextSourceSettings,")
        append("trackSourceSettings=$trackSourceSettings,")
        append("webvttHlsSourceSettings=$webvttHlsSourceSettings")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = ancillarySourceSettings?.hashCode() ?: 0
        result = 31 * result + (dvbSubSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (embeddedSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (fileSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (sourceType?.hashCode() ?: 0)
        result = 31 * result + (teletextSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (trackSourceSettings?.hashCode() ?: 0)
        result = 31 * result + (webvttHlsSourceSettings?.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 CaptionSourceSettings

        if (ancillarySourceSettings != other.ancillarySourceSettings) return false
        if (dvbSubSourceSettings != other.dvbSubSourceSettings) return false
        if (embeddedSourceSettings != other.embeddedSourceSettings) return false
        if (fileSourceSettings != other.fileSourceSettings) return false
        if (sourceType != other.sourceType) return false
        if (teletextSourceSettings != other.teletextSourceSettings) return false
        if (trackSourceSettings != other.trackSourceSettings) return false
        if (webvttHlsSourceSettings != other.webvttHlsSourceSettings) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Settings for ancillary captions source.
         */
        public var ancillarySourceSettings: aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings? = null
        /**
         * DVB Sub Source Settings
         */
        public var dvbSubSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings? = null
        /**
         * Settings for embedded captions Source
         */
        public var embeddedSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings? = null
        /**
         * If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
         */
        public var fileSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings? = null
        /**
         * Use Source to identify the format of your input captions. The service cannot auto-detect caption format.
         */
        public var sourceType: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceType? = null
        /**
         * Settings specific to Teletext caption sources, including Page number.
         */
        public var teletextSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings? = null
        /**
         * Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings.
         */
        public var trackSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings? = null
        /**
         * Settings specific to WebVTT sources in HLS alternative rendition group. Specify the properties (renditionGroupId, renditionName or renditionLanguageCode) to identify the unique subtitle track among the alternative rendition groups present in the HLS manifest. If no unique track is found, or multiple tracks match the specified properties, the job fails. If there is only one subtitle track in the rendition group, the settings can be left empty and the default subtitle track will be chosen. If your caption source is a sidecar file, use FileSourceSettings instead of WebvttHlsSourceSettings.
         */
        public var webvttHlsSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings) : this() {
            this.ancillarySourceSettings = x.ancillarySourceSettings
            this.dvbSubSourceSettings = x.dvbSubSourceSettings
            this.embeddedSourceSettings = x.embeddedSourceSettings
            this.fileSourceSettings = x.fileSourceSettings
            this.sourceType = x.sourceType
            this.teletextSourceSettings = x.teletextSourceSettings
            this.trackSourceSettings = x.trackSourceSettings
            this.webvttHlsSourceSettings = x.webvttHlsSourceSettings
        }

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

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

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

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

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

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

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy