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

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

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

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



/**
 * Configurable settings for the input device.
 */
public class InputDeviceConfigurableSettings private constructor(builder: Builder) {
    /**
     * The input source that you want to use. If the device has a source connected to only one of its input ports, or if you don't care which source the device sends, specify Auto. If the device has sources connected to both its input ports, and you want to use a specific source, specify the source.
     */
    public val configuredInput: aws.sdk.kotlin.services.medialive.model.InputDeviceConfiguredInput? = builder.configuredInput
    /**
     * The Link device's buffer size (latency) in milliseconds (ms).
     */
    public val latencyMs: kotlin.Int = builder.latencyMs
    /**
     * The maximum bitrate in bits per second. Set a value here to throttle the bitrate of the source video.
     */
    public val maxBitrate: kotlin.Int = builder.maxBitrate

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

    override fun toString(): kotlin.String = buildString {
        append("InputDeviceConfigurableSettings(")
        append("configuredInput=$configuredInput,")
        append("latencyMs=$latencyMs,")
        append("maxBitrate=$maxBitrate")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = configuredInput?.hashCode() ?: 0
        result = 31 * result + (latencyMs)
        result = 31 * result + (maxBitrate)
        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 InputDeviceConfigurableSettings

        if (configuredInput != other.configuredInput) return false
        if (latencyMs != other.latencyMs) return false
        if (maxBitrate != other.maxBitrate) return false

        return true
    }

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

    public class Builder {
        /**
         * The input source that you want to use. If the device has a source connected to only one of its input ports, or if you don't care which source the device sends, specify Auto. If the device has sources connected to both its input ports, and you want to use a specific source, specify the source.
         */
        public var configuredInput: aws.sdk.kotlin.services.medialive.model.InputDeviceConfiguredInput? = null
        /**
         * The Link device's buffer size (latency) in milliseconds (ms).
         */
        public var latencyMs: kotlin.Int = 0
        /**
         * The maximum bitrate in bits per second. Set a value here to throttle the bitrate of the source video.
         */
        public var maxBitrate: kotlin.Int = 0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.InputDeviceConfigurableSettings) : this() {
            this.configuredInput = x.configuredInput
            this.latencyMs = x.latencyMs
            this.maxBitrate = x.maxBitrate
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy