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

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

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

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



/**
 * Udp Group Settings
 */
public class UdpGroupSettings private constructor(builder: Builder) {
    /**
     * Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video.
     */
    public val inputLossAction: aws.sdk.kotlin.services.medialive.model.InputLossActionForUdpOut? = builder.inputLossAction
    /**
     * Indicates ID3 frame that has the timecode.
     */
    public val timedMetadataId3Frame: aws.sdk.kotlin.services.medialive.model.UdpTimedMetadataId3Frame? = builder.timedMetadataId3Frame
    /**
     * Timed Metadata interval in seconds.
     */
    public val timedMetadataId3Period: kotlin.Int = builder.timedMetadataId3Period

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

    override fun toString(): kotlin.String = buildString {
        append("UdpGroupSettings(")
        append("inputLossAction=$inputLossAction,")
        append("timedMetadataId3Frame=$timedMetadataId3Frame,")
        append("timedMetadataId3Period=$timedMetadataId3Period")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = inputLossAction?.hashCode() ?: 0
        result = 31 * result + (timedMetadataId3Frame?.hashCode() ?: 0)
        result = 31 * result + (timedMetadataId3Period)
        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 UdpGroupSettings

        if (inputLossAction != other.inputLossAction) return false
        if (timedMetadataId3Frame != other.timedMetadataId3Frame) return false
        if (timedMetadataId3Period != other.timedMetadataId3Period) return false

        return true
    }

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

    public class Builder {
        /**
         * Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video.
         */
        public var inputLossAction: aws.sdk.kotlin.services.medialive.model.InputLossActionForUdpOut? = null
        /**
         * Indicates ID3 frame that has the timecode.
         */
        public var timedMetadataId3Frame: aws.sdk.kotlin.services.medialive.model.UdpTimedMetadataId3Frame? = null
        /**
         * Timed Metadata interval in seconds.
         */
        public var timedMetadataId3Period: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.UdpGroupSettings) : this() {
            this.inputLossAction = x.inputLossAction
            this.timedMetadataId3Frame = x.timedMetadataId3Frame
            this.timedMetadataId3Period = x.timedMetadataId3Period
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy