
commonMain.aws.sdk.kotlin.services.medialive.model.Eac3Settings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Eac3 Settings
*/
public class Eac3Settings private constructor(builder: Builder) {
/**
* When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
*/
public val attenuationControl: aws.sdk.kotlin.services.medialive.model.Eac3AttenuationControl? = builder.attenuationControl
/**
* Average bitrate in bits/second. Valid bitrates depend on the coding mode.
*/
public val bitrate: kotlin.Double = builder.bitrate
/**
* Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values.
*/
public val bitstreamMode: aws.sdk.kotlin.services.medialive.model.Eac3BitstreamMode? = builder.bitstreamMode
/**
* Dolby Digital Plus coding mode. Determines number of channels.
*/
public val codingMode: aws.sdk.kotlin.services.medialive.model.Eac3CodingMode? = builder.codingMode
/**
* When set to enabled, activates a DC highpass filter for all input channels.
*/
public val dcFilter: aws.sdk.kotlin.services.medialive.model.Eac3DcFilter? = builder.dcFilter
/**
* Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
*/
public val dialnorm: kotlin.Int = builder.dialnorm
/**
* Sets the Dolby dynamic range compression profile.
*/
public val drcLine: aws.sdk.kotlin.services.medialive.model.Eac3DrcLine? = builder.drcLine
/**
* Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels.
*/
public val drcRf: aws.sdk.kotlin.services.medialive.model.Eac3DrcRf? = builder.drcRf
/**
* When encoding 3/2 audio, setting to lfe enables the LFE channel
*/
public val lfeControl: aws.sdk.kotlin.services.medialive.model.Eac3LfeControl? = builder.lfeControl
/**
* When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode.
*/
public val lfeFilter: aws.sdk.kotlin.services.medialive.model.Eac3LfeFilter? = builder.lfeFilter
/**
* Left only/Right only center mix level. Only used for 3/2 coding mode.
*/
public val loRoCenterMixLevel: kotlin.Double = builder.loRoCenterMixLevel
/**
* Left only/Right only surround mix level. Only used for 3/2 coding mode.
*/
public val loRoSurroundMixLevel: kotlin.Double = builder.loRoSurroundMixLevel
/**
* Left total/Right total center mix level. Only used for 3/2 coding mode.
*/
public val ltRtCenterMixLevel: kotlin.Double = builder.ltRtCenterMixLevel
/**
* Left total/Right total surround mix level. Only used for 3/2 coding mode.
*/
public val ltRtSurroundMixLevel: kotlin.Double = builder.ltRtSurroundMixLevel
/**
* When set to followInput, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
*/
public val metadataControl: aws.sdk.kotlin.services.medialive.model.Eac3MetadataControl? = builder.metadataControl
/**
* When set to whenPossible, input DD+ audio will be passed through if it is present on the input. This detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
*/
public val passthroughControl: aws.sdk.kotlin.services.medialive.model.Eac3PassthroughControl? = builder.passthroughControl
/**
* When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode.
*/
public val phaseControl: aws.sdk.kotlin.services.medialive.model.Eac3PhaseControl? = builder.phaseControl
/**
* Stereo downmix preference. Only used for 3/2 coding mode.
*/
public val stereoDownmix: aws.sdk.kotlin.services.medialive.model.Eac3StereoDownmix? = builder.stereoDownmix
/**
* When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
*/
public val surroundExMode: aws.sdk.kotlin.services.medialive.model.Eac3SurroundExMode? = builder.surroundExMode
/**
* When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
*/
public val surroundMode: aws.sdk.kotlin.services.medialive.model.Eac3SurroundMode? = builder.surroundMode
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.Eac3Settings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Eac3Settings(")
append("attenuationControl=$attenuationControl,")
append("bitrate=$bitrate,")
append("bitstreamMode=$bitstreamMode,")
append("codingMode=$codingMode,")
append("dcFilter=$dcFilter,")
append("dialnorm=$dialnorm,")
append("drcLine=$drcLine,")
append("drcRf=$drcRf,")
append("lfeControl=$lfeControl,")
append("lfeFilter=$lfeFilter,")
append("loRoCenterMixLevel=$loRoCenterMixLevel,")
append("loRoSurroundMixLevel=$loRoSurroundMixLevel,")
append("ltRtCenterMixLevel=$ltRtCenterMixLevel,")
append("ltRtSurroundMixLevel=$ltRtSurroundMixLevel,")
append("metadataControl=$metadataControl,")
append("passthroughControl=$passthroughControl,")
append("phaseControl=$phaseControl,")
append("stereoDownmix=$stereoDownmix,")
append("surroundExMode=$surroundExMode,")
append("surroundMode=$surroundMode")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = attenuationControl?.hashCode() ?: 0
result = 31 * result + (bitrate.hashCode())
result = 31 * result + (bitstreamMode?.hashCode() ?: 0)
result = 31 * result + (codingMode?.hashCode() ?: 0)
result = 31 * result + (dcFilter?.hashCode() ?: 0)
result = 31 * result + (dialnorm)
result = 31 * result + (drcLine?.hashCode() ?: 0)
result = 31 * result + (drcRf?.hashCode() ?: 0)
result = 31 * result + (lfeControl?.hashCode() ?: 0)
result = 31 * result + (lfeFilter?.hashCode() ?: 0)
result = 31 * result + (loRoCenterMixLevel.hashCode())
result = 31 * result + (loRoSurroundMixLevel.hashCode())
result = 31 * result + (ltRtCenterMixLevel.hashCode())
result = 31 * result + (ltRtSurroundMixLevel.hashCode())
result = 31 * result + (metadataControl?.hashCode() ?: 0)
result = 31 * result + (passthroughControl?.hashCode() ?: 0)
result = 31 * result + (phaseControl?.hashCode() ?: 0)
result = 31 * result + (stereoDownmix?.hashCode() ?: 0)
result = 31 * result + (surroundExMode?.hashCode() ?: 0)
result = 31 * result + (surroundMode?.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 Eac3Settings
if (attenuationControl != other.attenuationControl) return false
if (bitrate != other.bitrate) return false
if (bitstreamMode != other.bitstreamMode) return false
if (codingMode != other.codingMode) return false
if (dcFilter != other.dcFilter) return false
if (dialnorm != other.dialnorm) return false
if (drcLine != other.drcLine) return false
if (drcRf != other.drcRf) return false
if (lfeControl != other.lfeControl) return false
if (lfeFilter != other.lfeFilter) return false
if (loRoCenterMixLevel != other.loRoCenterMixLevel) return false
if (loRoSurroundMixLevel != other.loRoSurroundMixLevel) return false
if (ltRtCenterMixLevel != other.ltRtCenterMixLevel) return false
if (ltRtSurroundMixLevel != other.ltRtSurroundMixLevel) return false
if (metadataControl != other.metadataControl) return false
if (passthroughControl != other.passthroughControl) return false
if (phaseControl != other.phaseControl) return false
if (stereoDownmix != other.stereoDownmix) return false
if (surroundExMode != other.surroundExMode) return false
if (surroundMode != other.surroundMode) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.Eac3Settings = Builder(this).apply(block).build()
public class Builder {
/**
* When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.
*/
public var attenuationControl: aws.sdk.kotlin.services.medialive.model.Eac3AttenuationControl? = null
/**
* Average bitrate in bits/second. Valid bitrates depend on the coding mode.
*/
public var bitrate: kotlin.Double = 0.0
/**
* Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values.
*/
public var bitstreamMode: aws.sdk.kotlin.services.medialive.model.Eac3BitstreamMode? = null
/**
* Dolby Digital Plus coding mode. Determines number of channels.
*/
public var codingMode: aws.sdk.kotlin.services.medialive.model.Eac3CodingMode? = null
/**
* When set to enabled, activates a DC highpass filter for all input channels.
*/
public var dcFilter: aws.sdk.kotlin.services.medialive.model.Eac3DcFilter? = null
/**
* Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through.
*/
public var dialnorm: kotlin.Int = 0
/**
* Sets the Dolby dynamic range compression profile.
*/
public var drcLine: aws.sdk.kotlin.services.medialive.model.Eac3DrcLine? = null
/**
* Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels.
*/
public var drcRf: aws.sdk.kotlin.services.medialive.model.Eac3DrcRf? = null
/**
* When encoding 3/2 audio, setting to lfe enables the LFE channel
*/
public var lfeControl: aws.sdk.kotlin.services.medialive.model.Eac3LfeControl? = null
/**
* When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode.
*/
public var lfeFilter: aws.sdk.kotlin.services.medialive.model.Eac3LfeFilter? = null
/**
* Left only/Right only center mix level. Only used for 3/2 coding mode.
*/
public var loRoCenterMixLevel: kotlin.Double = 0.0
/**
* Left only/Right only surround mix level. Only used for 3/2 coding mode.
*/
public var loRoSurroundMixLevel: kotlin.Double = 0.0
/**
* Left total/Right total center mix level. Only used for 3/2 coding mode.
*/
public var ltRtCenterMixLevel: kotlin.Double = 0.0
/**
* Left total/Right total surround mix level. Only used for 3/2 coding mode.
*/
public var ltRtSurroundMixLevel: kotlin.Double = 0.0
/**
* When set to followInput, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.
*/
public var metadataControl: aws.sdk.kotlin.services.medialive.model.Eac3MetadataControl? = null
/**
* When set to whenPossible, input DD+ audio will be passed through if it is present on the input. This detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.
*/
public var passthroughControl: aws.sdk.kotlin.services.medialive.model.Eac3PassthroughControl? = null
/**
* When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode.
*/
public var phaseControl: aws.sdk.kotlin.services.medialive.model.Eac3PhaseControl? = null
/**
* Stereo downmix preference. Only used for 3/2 coding mode.
*/
public var stereoDownmix: aws.sdk.kotlin.services.medialive.model.Eac3StereoDownmix? = null
/**
* When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.
*/
public var surroundExMode: aws.sdk.kotlin.services.medialive.model.Eac3SurroundExMode? = null
/**
* When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.
*/
public var surroundMode: aws.sdk.kotlin.services.medialive.model.Eac3SurroundMode? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.Eac3Settings) : this() {
this.attenuationControl = x.attenuationControl
this.bitrate = x.bitrate
this.bitstreamMode = x.bitstreamMode
this.codingMode = x.codingMode
this.dcFilter = x.dcFilter
this.dialnorm = x.dialnorm
this.drcLine = x.drcLine
this.drcRf = x.drcRf
this.lfeControl = x.lfeControl
this.lfeFilter = x.lfeFilter
this.loRoCenterMixLevel = x.loRoCenterMixLevel
this.loRoSurroundMixLevel = x.loRoSurroundMixLevel
this.ltRtCenterMixLevel = x.ltRtCenterMixLevel
this.ltRtSurroundMixLevel = x.ltRtSurroundMixLevel
this.metadataControl = x.metadataControl
this.passthroughControl = x.passthroughControl
this.phaseControl = x.phaseControl
this.stereoDownmix = x.stereoDownmix
this.surroundExMode = x.surroundExMode
this.surroundMode = x.surroundMode
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.Eac3Settings = Eac3Settings(this)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy