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

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

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

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



/**
 * Timecode Config
 */
public class TimecodeConfig private constructor(builder: Builder) {
    /**
     * Identifies the source for the timecode that will be associated with the events outputs. -Embedded (embedded): Initialize the output timecode with timecode from the the source. If no embedded timecode is detected in the source, the system falls back to using "Start at 0" (zerobased). -System Clock (systemclock): Use the UTC time. -Start at 0 (zerobased): The time of the first frame of the event will be 00:00:00:00.
     */
    public val source: aws.sdk.kotlin.services.medialive.model.TimecodeConfigSource? = builder.source
    /**
     * Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified.
     */
    public val syncThreshold: kotlin.Int = builder.syncThreshold

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

    override fun toString(): kotlin.String = buildString {
        append("TimecodeConfig(")
        append("source=$source,")
        append("syncThreshold=$syncThreshold")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = source?.hashCode() ?: 0
        result = 31 * result + (syncThreshold)
        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 TimecodeConfig

        if (source != other.source) return false
        if (syncThreshold != other.syncThreshold) return false

        return true
    }

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

    public class Builder {
        /**
         * Identifies the source for the timecode that will be associated with the events outputs. -Embedded (embedded): Initialize the output timecode with timecode from the the source. If no embedded timecode is detected in the source, the system falls back to using "Start at 0" (zerobased). -System Clock (systemclock): Use the UTC time. -Start at 0 (zerobased): The time of the first frame of the event will be 00:00:00:00.
         */
        public var source: aws.sdk.kotlin.services.medialive.model.TimecodeConfigSource? = null
        /**
         * Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified.
         */
        public var syncThreshold: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.TimecodeConfig) : this() {
            this.source = x.source
            this.syncThreshold = x.syncThreshold
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy