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

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

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

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



/**
 * Input settings for Video overlay. You can include one or more video overlays in sequence at different times that you specify.
 */
public class VideoOverlayInput private constructor(builder: Builder) {
    /**
     * Specify the input file S3, HTTP, or HTTPS URI for your video overlay. For consistency in color and formatting in your output video image, we recommend that you specify a video with similar characteristics as the underlying input video.
     */
    public val fileInput: kotlin.String? = builder.fileInput
    /**
     * Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
     */
    public val inputClippings: List? = builder.inputClippings
    /**
     * Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
     */
    public val timecodeSource: aws.sdk.kotlin.services.mediaconvert.model.InputTimecodeSource? = builder.timecodeSource
    /**
     * Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
     */
    public val timecodeStart: kotlin.String? = builder.timecodeStart

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

    override fun toString(): kotlin.String = buildString {
        append("VideoOverlayInput(")
        append("fileInput=$fileInput,")
        append("inputClippings=$inputClippings,")
        append("timecodeSource=$timecodeSource,")
        append("timecodeStart=$timecodeStart")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = fileInput?.hashCode() ?: 0
        result = 31 * result + (inputClippings?.hashCode() ?: 0)
        result = 31 * result + (timecodeSource?.hashCode() ?: 0)
        result = 31 * result + (timecodeStart?.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 VideoOverlayInput

        if (fileInput != other.fileInput) return false
        if (inputClippings != other.inputClippings) return false
        if (timecodeSource != other.timecodeSource) return false
        if (timecodeStart != other.timecodeStart) return false

        return true
    }

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

    public class Builder {
        /**
         * Specify the input file S3, HTTP, or HTTPS URI for your video overlay. For consistency in color and formatting in your output video image, we recommend that you specify a video with similar characteristics as the underlying input video.
         */
        public var fileInput: kotlin.String? = null
        /**
         * Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode.
         */
        public var inputClippings: List? = null
        /**
         * Specify the timecode source for your video overlay input clips. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default.
         */
        public var timecodeSource: aws.sdk.kotlin.services.mediaconvert.model.InputTimecodeSource? = null
        /**
         * Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start.
         */
        public var timecodeStart: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.VideoOverlayInput) : this() {
            this.fileInput = x.fileInput
            this.inputClippings = x.inputClippings
            this.timecodeSource = x.timecodeSource
            this.timecodeStart = x.timecodeStart
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy