
commonMain.aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Ms Smooth Group Settings
*/
public class MsSmoothGroupSettings private constructor(builder: Builder) {
/**
* The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE.
*/
public val acquisitionPointId: kotlin.String? = builder.acquisitionPointId
/**
* If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream.
*/
public val audioOnlyTimecodeControl: aws.sdk.kotlin.services.medialive.model.SmoothGroupAudioOnlyTimecodeControl? = builder.audioOnlyTimecodeControl
/**
* If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail.
*/
public val certificateMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupCertificateMode? = builder.certificateMode
/**
* Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established.
*/
public val connectionRetryInterval: kotlin.Int = builder.connectionRetryInterval
/**
* Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS.
*/
public val destination: aws.sdk.kotlin.services.medialive.model.OutputLocationRef? = builder.destination
/**
* MS Smooth event ID to be sent to the IIS server. Should only be specified if eventIdMode is set to useConfigured.
*/
public val eventId: kotlin.String? = builder.eventId
/**
* Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run. Options: - "useConfigured" - use the value provided in eventId - "useTimestamp" - generate and send an event ID based on the current timestamp - "noEventId" - do not send an event ID to the IIS server.
*/
public val eventIdMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupEventIdMode? = builder.eventIdMode
/**
* When set to sendEos, send EOS signal to IIS server when stopping the event
*/
public val eventStopBehavior: aws.sdk.kotlin.services.medialive.model.SmoothGroupEventStopBehavior? = builder.eventStopBehavior
/**
* Size in seconds of file cache for streaming outputs.
*/
public val filecacheDuration: kotlin.Int = builder.filecacheDuration
/**
* Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate.
*/
public val fragmentLength: kotlin.Int = builder.fragmentLength
/**
* Parameter that control output group behavior on input loss.
*/
public val inputLossAction: aws.sdk.kotlin.services.medialive.model.InputLossActionForMsSmoothOut? = builder.inputLossAction
/**
* Number of retry attempts.
*/
public val numRetries: kotlin.Int = builder.numRetries
/**
* Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration.
*/
public val restartDelay: kotlin.Int = builder.restartDelay
/**
* useInputSegmentation has been deprecated. The configured segment size is always used.
*/
public val segmentationMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupSegmentationMode? = builder.segmentationMode
/**
* Number of milliseconds to delay the output from the second pipeline.
*/
public val sendDelayMs: kotlin.Int = builder.sendDelayMs
/**
* Identifies the type of data to place in the sparse track: - SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment. - SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment. - NONE: Don't generate a sparse track for any outputs in this output group.
*/
public val sparseTrackType: aws.sdk.kotlin.services.medialive.model.SmoothGroupSparseTrackType? = builder.sparseTrackType
/**
* When set to send, send stream manifest so publishing point doesn't start until all streams start.
*/
public val streamManifestBehavior: aws.sdk.kotlin.services.medialive.model.SmoothGroupStreamManifestBehavior? = builder.streamManifestBehavior
/**
* Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset.
*/
public val timestampOffset: kotlin.String? = builder.timestampOffset
/**
* Type of timestamp date offset to use. - useEventStartDate: Use the date the event was started as the offset - useConfiguredOffset: Use an explicitly configured date as the offset
*/
public val timestampOffsetMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupTimestampOffsetMode? = builder.timestampOffsetMode
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("MsSmoothGroupSettings(")
append("acquisitionPointId=$acquisitionPointId,")
append("audioOnlyTimecodeControl=$audioOnlyTimecodeControl,")
append("certificateMode=$certificateMode,")
append("connectionRetryInterval=$connectionRetryInterval,")
append("destination=$destination,")
append("eventId=$eventId,")
append("eventIdMode=$eventIdMode,")
append("eventStopBehavior=$eventStopBehavior,")
append("filecacheDuration=$filecacheDuration,")
append("fragmentLength=$fragmentLength,")
append("inputLossAction=$inputLossAction,")
append("numRetries=$numRetries,")
append("restartDelay=$restartDelay,")
append("segmentationMode=$segmentationMode,")
append("sendDelayMs=$sendDelayMs,")
append("sparseTrackType=$sparseTrackType,")
append("streamManifestBehavior=$streamManifestBehavior,")
append("timestampOffset=$timestampOffset,")
append("timestampOffsetMode=$timestampOffsetMode")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = acquisitionPointId?.hashCode() ?: 0
result = 31 * result + (audioOnlyTimecodeControl?.hashCode() ?: 0)
result = 31 * result + (certificateMode?.hashCode() ?: 0)
result = 31 * result + (connectionRetryInterval)
result = 31 * result + (destination?.hashCode() ?: 0)
result = 31 * result + (eventId?.hashCode() ?: 0)
result = 31 * result + (eventIdMode?.hashCode() ?: 0)
result = 31 * result + (eventStopBehavior?.hashCode() ?: 0)
result = 31 * result + (filecacheDuration)
result = 31 * result + (fragmentLength)
result = 31 * result + (inputLossAction?.hashCode() ?: 0)
result = 31 * result + (numRetries)
result = 31 * result + (restartDelay)
result = 31 * result + (segmentationMode?.hashCode() ?: 0)
result = 31 * result + (sendDelayMs)
result = 31 * result + (sparseTrackType?.hashCode() ?: 0)
result = 31 * result + (streamManifestBehavior?.hashCode() ?: 0)
result = 31 * result + (timestampOffset?.hashCode() ?: 0)
result = 31 * result + (timestampOffsetMode?.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 MsSmoothGroupSettings
if (acquisitionPointId != other.acquisitionPointId) return false
if (audioOnlyTimecodeControl != other.audioOnlyTimecodeControl) return false
if (certificateMode != other.certificateMode) return false
if (connectionRetryInterval != other.connectionRetryInterval) return false
if (destination != other.destination) return false
if (eventId != other.eventId) return false
if (eventIdMode != other.eventIdMode) return false
if (eventStopBehavior != other.eventStopBehavior) return false
if (filecacheDuration != other.filecacheDuration) return false
if (fragmentLength != other.fragmentLength) return false
if (inputLossAction != other.inputLossAction) return false
if (numRetries != other.numRetries) return false
if (restartDelay != other.restartDelay) return false
if (segmentationMode != other.segmentationMode) return false
if (sendDelayMs != other.sendDelayMs) return false
if (sparseTrackType != other.sparseTrackType) return false
if (streamManifestBehavior != other.streamManifestBehavior) return false
if (timestampOffset != other.timestampOffset) return false
if (timestampOffsetMode != other.timestampOffsetMode) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings = Builder(this).apply(block).build()
public class Builder {
/**
* The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE.
*/
public var acquisitionPointId: kotlin.String? = null
/**
* If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream.
*/
public var audioOnlyTimecodeControl: aws.sdk.kotlin.services.medialive.model.SmoothGroupAudioOnlyTimecodeControl? = null
/**
* If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail.
*/
public var certificateMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupCertificateMode? = null
/**
* Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established.
*/
public var connectionRetryInterval: kotlin.Int = 0
/**
* Smooth Streaming publish point on an IIS server. Elemental Live acts as a "Push" encoder to IIS.
*/
public var destination: aws.sdk.kotlin.services.medialive.model.OutputLocationRef? = null
/**
* MS Smooth event ID to be sent to the IIS server. Should only be specified if eventIdMode is set to useConfigured.
*/
public var eventId: kotlin.String? = null
/**
* Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run. Options: - "useConfigured" - use the value provided in eventId - "useTimestamp" - generate and send an event ID based on the current timestamp - "noEventId" - do not send an event ID to the IIS server.
*/
public var eventIdMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupEventIdMode? = null
/**
* When set to sendEos, send EOS signal to IIS server when stopping the event
*/
public var eventStopBehavior: aws.sdk.kotlin.services.medialive.model.SmoothGroupEventStopBehavior? = null
/**
* Size in seconds of file cache for streaming outputs.
*/
public var filecacheDuration: kotlin.Int = 0
/**
* Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate.
*/
public var fragmentLength: kotlin.Int = 0
/**
* Parameter that control output group behavior on input loss.
*/
public var inputLossAction: aws.sdk.kotlin.services.medialive.model.InputLossActionForMsSmoothOut? = null
/**
* Number of retry attempts.
*/
public var numRetries: kotlin.Int = 0
/**
* Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration.
*/
public var restartDelay: kotlin.Int = 0
/**
* useInputSegmentation has been deprecated. The configured segment size is always used.
*/
public var segmentationMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupSegmentationMode? = null
/**
* Number of milliseconds to delay the output from the second pipeline.
*/
public var sendDelayMs: kotlin.Int = 0
/**
* Identifies the type of data to place in the sparse track: - SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment. - SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment. - NONE: Don't generate a sparse track for any outputs in this output group.
*/
public var sparseTrackType: aws.sdk.kotlin.services.medialive.model.SmoothGroupSparseTrackType? = null
/**
* When set to send, send stream manifest so publishing point doesn't start until all streams start.
*/
public var streamManifestBehavior: aws.sdk.kotlin.services.medialive.model.SmoothGroupStreamManifestBehavior? = null
/**
* Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset.
*/
public var timestampOffset: kotlin.String? = null
/**
* Type of timestamp date offset to use. - useEventStartDate: Use the date the event was started as the offset - useConfiguredOffset: Use an explicitly configured date as the offset
*/
public var timestampOffsetMode: aws.sdk.kotlin.services.medialive.model.SmoothGroupTimestampOffsetMode? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings) : this() {
this.acquisitionPointId = x.acquisitionPointId
this.audioOnlyTimecodeControl = x.audioOnlyTimecodeControl
this.certificateMode = x.certificateMode
this.connectionRetryInterval = x.connectionRetryInterval
this.destination = x.destination
this.eventId = x.eventId
this.eventIdMode = x.eventIdMode
this.eventStopBehavior = x.eventStopBehavior
this.filecacheDuration = x.filecacheDuration
this.fragmentLength = x.fragmentLength
this.inputLossAction = x.inputLossAction
this.numRetries = x.numRetries
this.restartDelay = x.restartDelay
this.segmentationMode = x.segmentationMode
this.sendDelayMs = x.sendDelayMs
this.sparseTrackType = x.sparseTrackType
this.streamManifestBehavior = x.streamManifestBehavior
this.timestampOffset = x.timestampOffset
this.timestampOffsetMode = x.timestampOffsetMode
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.MsSmoothGroupSettings = MsSmoothGroupSettings(this)
/**
* construct an [aws.sdk.kotlin.services.medialive.model.OutputLocationRef] inside the given [block]
*/
public fun destination(block: aws.sdk.kotlin.services.medialive.model.OutputLocationRef.Builder.() -> kotlin.Unit) {
this.destination = aws.sdk.kotlin.services.medialive.model.OutputLocationRef.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy