
commonMain.aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mediaconvert.model
/**
* Use automated ABR to have MediaConvert set up the renditions in your ABR package for you automatically, based on characteristics of your input video. This feature optimizes video quality while minimizing the overall size of your ABR package.
*/
public class AutomatedAbrSettings private constructor(builder: Builder) {
/**
* Specify the maximum average bitrate for MediaConvert to use in your automated ABR stack. If you don't specify a value, MediaConvert uses 8,000,000 (8 mb/s) by default. The average bitrate of your highest-quality rendition will be equal to or below this value, depending on the quality, complexity, and resolution of your content. Note that the instantaneous maximum bitrate may vary above the value that you specify.
*/
public val maxAbrBitrate: kotlin.Int? = builder.maxAbrBitrate
/**
* Optional. The maximum number of renditions that MediaConvert will create in your automated ABR stack. The number of renditions is determined automatically, based on analysis of each job, but will never exceed this limit. When you set this to Auto in the console, which is equivalent to excluding it from your JSON job specification, MediaConvert defaults to a limit of 15.
*/
public val maxRenditions: kotlin.Int? = builder.maxRenditions
/**
* Specify the minimum average bitrate for MediaConvert to use in your automated ABR stack. If you don't specify a value, MediaConvert uses 600,000 (600 kb/s) by default. The average bitrate of your lowest-quality rendition will be near this value. Note that the instantaneous minimum bitrate may vary below the value that you specify.
*/
public val minAbrBitrate: kotlin.Int? = builder.minAbrBitrate
/**
* Optional. Use Automated ABR rules to specify restrictions for the rendition sizes MediaConvert will create in your ABR stack. You can use these rules if your ABR workflow has specific rendition size requirements, but you still want MediaConvert to optimize for video quality and overall file size.
*/
public val rules: List? = builder.rules
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AutomatedAbrSettings(")
append("maxAbrBitrate=$maxAbrBitrate,")
append("maxRenditions=$maxRenditions,")
append("minAbrBitrate=$minAbrBitrate,")
append("rules=$rules")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = maxAbrBitrate ?: 0
result = 31 * result + (maxRenditions ?: 0)
result = 31 * result + (minAbrBitrate ?: 0)
result = 31 * result + (rules?.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 AutomatedAbrSettings
if (maxAbrBitrate != other.maxAbrBitrate) return false
if (maxRenditions != other.maxRenditions) return false
if (minAbrBitrate != other.minAbrBitrate) return false
if (rules != other.rules) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings = Builder(this).apply(block).build()
public class Builder {
/**
* Specify the maximum average bitrate for MediaConvert to use in your automated ABR stack. If you don't specify a value, MediaConvert uses 8,000,000 (8 mb/s) by default. The average bitrate of your highest-quality rendition will be equal to or below this value, depending on the quality, complexity, and resolution of your content. Note that the instantaneous maximum bitrate may vary above the value that you specify.
*/
public var maxAbrBitrate: kotlin.Int? = null
/**
* Optional. The maximum number of renditions that MediaConvert will create in your automated ABR stack. The number of renditions is determined automatically, based on analysis of each job, but will never exceed this limit. When you set this to Auto in the console, which is equivalent to excluding it from your JSON job specification, MediaConvert defaults to a limit of 15.
*/
public var maxRenditions: kotlin.Int? = null
/**
* Specify the minimum average bitrate for MediaConvert to use in your automated ABR stack. If you don't specify a value, MediaConvert uses 600,000 (600 kb/s) by default. The average bitrate of your lowest-quality rendition will be near this value. Note that the instantaneous minimum bitrate may vary below the value that you specify.
*/
public var minAbrBitrate: kotlin.Int? = null
/**
* Optional. Use Automated ABR rules to specify restrictions for the rendition sizes MediaConvert will create in your ABR stack. You can use these rules if your ABR workflow has specific rendition size requirements, but you still want MediaConvert to optimize for video quality and overall file size.
*/
public var rules: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings) : this() {
this.maxAbrBitrate = x.maxAbrBitrate
this.maxRenditions = x.maxRenditions
this.minAbrBitrate = x.minAbrBitrate
this.rules = x.rules
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.AutomatedAbrSettings = AutomatedAbrSettings(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy