
commonMain.aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Rtmp Group Settings
*/
public class RtmpGroupSettings private constructor(builder: Builder) {
/**
* Choose the ad marker type for this output group. MediaLive will create a message based on the content of each SCTE-35 message, format it for that marker type, and insert it in the datastream.
*/
public val adMarkers: List? = builder.adMarkers
/**
* Authentication scheme to use when connecting with CDN
*/
public val authenticationScheme: aws.sdk.kotlin.services.medialive.model.AuthenticationScheme? = builder.authenticationScheme
/**
* Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again.
*/
public val cacheFullBehavior: aws.sdk.kotlin.services.medialive.model.RtmpCacheFullBehavior? = builder.cacheFullBehavior
/**
* Cache length, in seconds, is used to calculate buffer size.
*/
public val cacheLength: kotlin.Int = builder.cacheLength
/**
* Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed.
*/
public val captionData: aws.sdk.kotlin.services.medialive.model.RtmpCaptionData? = builder.captionData
/**
* Controls the behavior of this RTMP group if input becomes unavailable. - emitOutput: Emit a slate until input returns. - pauseOutput: Stop transmitting data until input returns. This does not close the underlying RTMP connection.
*/
public val inputLossAction: aws.sdk.kotlin.services.medialive.model.InputLossActionForRtmpOut? = builder.inputLossAction
/**
* If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.
*/
public val restartDelay: kotlin.Int = builder.restartDelay
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("RtmpGroupSettings(")
append("adMarkers=$adMarkers,")
append("authenticationScheme=$authenticationScheme,")
append("cacheFullBehavior=$cacheFullBehavior,")
append("cacheLength=$cacheLength,")
append("captionData=$captionData,")
append("inputLossAction=$inputLossAction,")
append("restartDelay=$restartDelay")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = adMarkers?.hashCode() ?: 0
result = 31 * result + (authenticationScheme?.hashCode() ?: 0)
result = 31 * result + (cacheFullBehavior?.hashCode() ?: 0)
result = 31 * result + (cacheLength)
result = 31 * result + (captionData?.hashCode() ?: 0)
result = 31 * result + (inputLossAction?.hashCode() ?: 0)
result = 31 * result + (restartDelay)
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 RtmpGroupSettings
if (adMarkers != other.adMarkers) return false
if (authenticationScheme != other.authenticationScheme) return false
if (cacheFullBehavior != other.cacheFullBehavior) return false
if (cacheLength != other.cacheLength) return false
if (captionData != other.captionData) return false
if (inputLossAction != other.inputLossAction) return false
if (restartDelay != other.restartDelay) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings = Builder(this).apply(block).build()
public class Builder {
/**
* Choose the ad marker type for this output group. MediaLive will create a message based on the content of each SCTE-35 message, format it for that marker type, and insert it in the datastream.
*/
public var adMarkers: List? = null
/**
* Authentication scheme to use when connecting with CDN
*/
public var authenticationScheme: aws.sdk.kotlin.services.medialive.model.AuthenticationScheme? = null
/**
* Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again.
*/
public var cacheFullBehavior: aws.sdk.kotlin.services.medialive.model.RtmpCacheFullBehavior? = null
/**
* Cache length, in seconds, is used to calculate buffer size.
*/
public var cacheLength: kotlin.Int = 0
/**
* Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed.
*/
public var captionData: aws.sdk.kotlin.services.medialive.model.RtmpCaptionData? = null
/**
* Controls the behavior of this RTMP group if input becomes unavailable. - emitOutput: Emit a slate until input returns. - pauseOutput: Stop transmitting data until input returns. This does not close the underlying RTMP connection.
*/
public var inputLossAction: aws.sdk.kotlin.services.medialive.model.InputLossActionForRtmpOut? = null
/**
* If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart.
*/
public var restartDelay: kotlin.Int = 0
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings) : this() {
this.adMarkers = x.adMarkers
this.authenticationScheme = x.authenticationScheme
this.cacheFullBehavior = x.cacheFullBehavior
this.cacheLength = x.cacheLength
this.captionData = x.captionData
this.inputLossAction = x.inputLossAction
this.restartDelay = x.restartDelay
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.RtmpGroupSettings = RtmpGroupSettings(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy