
commonMain.aws.sdk.kotlin.services.medialive.model.AacSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Aac Settings
*/
public class AacSettings private constructor(builder: Builder) {
/**
* Average bitrate in bits/second. Valid values depend on rate control mode and profile.
*/
public val bitrate: kotlin.Double = builder.bitrate
/**
* Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. The adReceiverMix setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E.
*/
public val codingMode: aws.sdk.kotlin.services.medialive.model.AacCodingMode? = builder.codingMode
/**
* Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD (narration) as a stereo pair. The Audio Type field (audioType) will be set to 3, which signals to downstream systems that this stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. The values in audioTypeControl and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd. Leave set to "normal" when input does not contain pre-mixed audio + AD.
*/
public val inputType: aws.sdk.kotlin.services.medialive.model.AacInputType? = builder.inputType
/**
* AAC Profile.
*/
public val profile: aws.sdk.kotlin.services.medialive.model.AacProfile? = builder.profile
/**
* Rate Control Mode.
*/
public val rateControlMode: aws.sdk.kotlin.services.medialive.model.AacRateControlMode? = builder.rateControlMode
/**
* Sets LATM / LOAS AAC output for raw containers.
*/
public val rawFormat: aws.sdk.kotlin.services.medialive.model.AacRawFormat? = builder.rawFormat
/**
* Sample rate in Hz. Valid values depend on rate control mode and profile.
*/
public val sampleRate: kotlin.Double = builder.sampleRate
/**
* Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
*/
public val spec: aws.sdk.kotlin.services.medialive.model.AacSpec? = builder.spec
/**
* VBR Quality Level - Only used if rateControlMode is VBR.
*/
public val vbrQuality: aws.sdk.kotlin.services.medialive.model.AacVbrQuality? = builder.vbrQuality
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.AacSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AacSettings(")
append("bitrate=$bitrate,")
append("codingMode=$codingMode,")
append("inputType=$inputType,")
append("profile=$profile,")
append("rateControlMode=$rateControlMode,")
append("rawFormat=$rawFormat,")
append("sampleRate=$sampleRate,")
append("spec=$spec,")
append("vbrQuality=$vbrQuality")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = bitrate.hashCode()
result = 31 * result + (codingMode?.hashCode() ?: 0)
result = 31 * result + (inputType?.hashCode() ?: 0)
result = 31 * result + (profile?.hashCode() ?: 0)
result = 31 * result + (rateControlMode?.hashCode() ?: 0)
result = 31 * result + (rawFormat?.hashCode() ?: 0)
result = 31 * result + (sampleRate.hashCode())
result = 31 * result + (spec?.hashCode() ?: 0)
result = 31 * result + (vbrQuality?.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 AacSettings
if (bitrate != other.bitrate) return false
if (codingMode != other.codingMode) return false
if (inputType != other.inputType) return false
if (profile != other.profile) return false
if (rateControlMode != other.rateControlMode) return false
if (rawFormat != other.rawFormat) return false
if (sampleRate != other.sampleRate) return false
if (spec != other.spec) return false
if (vbrQuality != other.vbrQuality) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.AacSettings = Builder(this).apply(block).build()
public class Builder {
/**
* Average bitrate in bits/second. Valid values depend on rate control mode and profile.
*/
public var bitrate: kotlin.Double = 0.0
/**
* Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. The adReceiverMix setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E.
*/
public var codingMode: aws.sdk.kotlin.services.medialive.model.AacCodingMode? = null
/**
* Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD (narration) as a stereo pair. The Audio Type field (audioType) will be set to 3, which signals to downstream systems that this stream contains "broadcaster mixed AD". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. The values in audioTypeControl and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd. Leave set to "normal" when input does not contain pre-mixed audio + AD.
*/
public var inputType: aws.sdk.kotlin.services.medialive.model.AacInputType? = null
/**
* AAC Profile.
*/
public var profile: aws.sdk.kotlin.services.medialive.model.AacProfile? = null
/**
* Rate Control Mode.
*/
public var rateControlMode: aws.sdk.kotlin.services.medialive.model.AacRateControlMode? = null
/**
* Sets LATM / LOAS AAC output for raw containers.
*/
public var rawFormat: aws.sdk.kotlin.services.medialive.model.AacRawFormat? = null
/**
* Sample rate in Hz. Valid values depend on rate control mode and profile.
*/
public var sampleRate: kotlin.Double = 0.0
/**
* Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.
*/
public var spec: aws.sdk.kotlin.services.medialive.model.AacSpec? = null
/**
* VBR Quality Level - Only used if rateControlMode is VBR.
*/
public var vbrQuality: aws.sdk.kotlin.services.medialive.model.AacVbrQuality? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.AacSettings) : this() {
this.bitrate = x.bitrate
this.codingMode = x.codingMode
this.inputType = x.inputType
this.profile = x.profile
this.rateControlMode = x.rateControlMode
this.rawFormat = x.rawFormat
this.sampleRate = x.sampleRate
this.spec = x.spec
this.vbrQuality = x.vbrQuality
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.AacSettings = AacSettings(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy