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

commonMain.aws.sdk.kotlin.services.mediaconvert.model.CmafImageBasedTrickPlaySettings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.mediaconvert.model



/**
 * Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
 */
public class CmafImageBasedTrickPlaySettings private constructor(builder: Builder) {
    /**
     * The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails according to the interval you specify in thumbnailInterval.
     */
    public val intervalCadence: aws.sdk.kotlin.services.mediaconvert.model.CmafIntervalCadence? = builder.intervalCadence
    /**
     * Height of each thumbnail within each tile image, in pixels. Leave blank to maintain aspect ratio with thumbnail width. If following the aspect ratio would lead to a total tile height greater than 4096, then the job will be rejected. Must be divisible by 2.
     */
    public val thumbnailHeight: kotlin.Int? = builder.thumbnailHeight
    /**
     * Enter the interval, in seconds, that MediaConvert uses to generate thumbnails. If the interval you enter doesn't align with the output frame rate, MediaConvert automatically rounds the interval to align with the output frame rate. For example, if the output frame rate is 29.97 frames per second and you enter 5, MediaConvert uses a 150 frame interval to generate thumbnails.
     */
    public val thumbnailInterval: kotlin.Double? = builder.thumbnailInterval
    /**
     * Width of each thumbnail within each tile image, in pixels. Default is 312. Must be divisible by 8.
     */
    public val thumbnailWidth: kotlin.Int? = builder.thumbnailWidth
    /**
     * Number of thumbnails in each column of a tile image. Set a value between 2 and 2048. Must be divisible by 2.
     */
    public val tileHeight: kotlin.Int? = builder.tileHeight
    /**
     * Number of thumbnails in each row of a tile image. Set a value between 1 and 512.
     */
    public val tileWidth: kotlin.Int? = builder.tileWidth

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

    override fun toString(): kotlin.String = buildString {
        append("CmafImageBasedTrickPlaySettings(")
        append("intervalCadence=$intervalCadence,")
        append("thumbnailHeight=$thumbnailHeight,")
        append("thumbnailInterval=$thumbnailInterval,")
        append("thumbnailWidth=$thumbnailWidth,")
        append("tileHeight=$tileHeight,")
        append("tileWidth=$tileWidth")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = intervalCadence?.hashCode() ?: 0
        result = 31 * result + (thumbnailHeight ?: 0)
        result = 31 * result + (thumbnailInterval?.hashCode() ?: 0)
        result = 31 * result + (thumbnailWidth ?: 0)
        result = 31 * result + (tileHeight ?: 0)
        result = 31 * result + (tileWidth ?: 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 CmafImageBasedTrickPlaySettings

        if (intervalCadence != other.intervalCadence) return false
        if (thumbnailHeight != other.thumbnailHeight) return false
        if (thumbnailInterval != other.thumbnailInterval) return false
        if (thumbnailWidth != other.thumbnailWidth) return false
        if (tileHeight != other.tileHeight) return false
        if (tileWidth != other.tileWidth) return false

        return true
    }

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

    public class Builder {
        /**
         * The cadence MediaConvert follows for generating thumbnails. If set to FOLLOW_IFRAME, MediaConvert generates thumbnails for each IDR frame in the output (matching the GOP cadence). If set to FOLLOW_CUSTOM, MediaConvert generates thumbnails according to the interval you specify in thumbnailInterval.
         */
        public var intervalCadence: aws.sdk.kotlin.services.mediaconvert.model.CmafIntervalCadence? = null
        /**
         * Height of each thumbnail within each tile image, in pixels. Leave blank to maintain aspect ratio with thumbnail width. If following the aspect ratio would lead to a total tile height greater than 4096, then the job will be rejected. Must be divisible by 2.
         */
        public var thumbnailHeight: kotlin.Int? = null
        /**
         * Enter the interval, in seconds, that MediaConvert uses to generate thumbnails. If the interval you enter doesn't align with the output frame rate, MediaConvert automatically rounds the interval to align with the output frame rate. For example, if the output frame rate is 29.97 frames per second and you enter 5, MediaConvert uses a 150 frame interval to generate thumbnails.
         */
        public var thumbnailInterval: kotlin.Double? = null
        /**
         * Width of each thumbnail within each tile image, in pixels. Default is 312. Must be divisible by 8.
         */
        public var thumbnailWidth: kotlin.Int? = null
        /**
         * Number of thumbnails in each column of a tile image. Set a value between 2 and 2048. Must be divisible by 2.
         */
        public var tileHeight: kotlin.Int? = null
        /**
         * Number of thumbnails in each row of a tile image. Set a value between 1 and 512.
         */
        public var tileWidth: kotlin.Int? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.CmafImageBasedTrickPlaySettings) : this() {
            this.intervalCadence = x.intervalCadence
            this.thumbnailHeight = x.thumbnailHeight
            this.thumbnailInterval = x.thumbnailInterval
            this.thumbnailWidth = x.thumbnailWidth
            this.tileHeight = x.tileHeight
            this.tileWidth = x.tileWidth
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.CmafImageBasedTrickPlaySettings = CmafImageBasedTrickPlaySettings(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy