
commonMain.aws.sdk.kotlin.services.mediaconvert.model.AudioCodecSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mediaconvert.model
/**
* Settings related to audio encoding. The settings in this group vary depending on the value that you choose for your audio codec.
*/
public class AudioCodecSettings private constructor(builder: Builder) {
/**
* Required when you set Codec to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode to "VBR" or "CBR". In VBR mode, you control the audio quality with the setting VBR quality. In CBR mode, you use the setting Bitrate. Defaults and valid values depend on the rate control mode.
*/
public val aacSettings: aws.sdk.kotlin.services.mediaconvert.model.AacSettings? = builder.aacSettings
/**
* Required when you set Codec to the value AC3.
*/
public val ac3Settings: aws.sdk.kotlin.services.mediaconvert.model.Ac3Settings? = builder.ac3Settings
/**
* Required when you set Codec to the value AIFF.
*/
public val aiffSettings: aws.sdk.kotlin.services.mediaconvert.model.AiffSettings? = builder.aiffSettings
/**
* Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output container: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers-output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are supported for audio-only workflows. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only and https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
*/
public val codec: aws.sdk.kotlin.services.mediaconvert.model.AudioCodec? = builder.codec
/**
* Required when you set Codec to the value EAC3_ATMOS.
*/
public val eac3AtmosSettings: aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSettings? = builder.eac3AtmosSettings
/**
* Required when you set Codec to the value EAC3.
*/
public val eac3Settings: aws.sdk.kotlin.services.mediaconvert.model.Eac3Settings? = builder.eac3Settings
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
*/
public val flacSettings: aws.sdk.kotlin.services.mediaconvert.model.FlacSettings? = builder.flacSettings
/**
* Required when you set Codec to the value MP2.
*/
public val mp2Settings: aws.sdk.kotlin.services.mediaconvert.model.Mp2Settings? = builder.mp2Settings
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
*/
public val mp3Settings: aws.sdk.kotlin.services.mediaconvert.model.Mp3Settings? = builder.mp3Settings
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
*/
public val opusSettings: aws.sdk.kotlin.services.mediaconvert.model.OpusSettings? = builder.opusSettings
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
*/
public val vorbisSettings: aws.sdk.kotlin.services.mediaconvert.model.VorbisSettings? = builder.vorbisSettings
/**
* Required when you set Codec to the value WAV.
*/
public val wavSettings: aws.sdk.kotlin.services.mediaconvert.model.WavSettings? = builder.wavSettings
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mediaconvert.model.AudioCodecSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AudioCodecSettings(")
append("aacSettings=$aacSettings,")
append("ac3Settings=$ac3Settings,")
append("aiffSettings=$aiffSettings,")
append("codec=$codec,")
append("eac3AtmosSettings=$eac3AtmosSettings,")
append("eac3Settings=$eac3Settings,")
append("flacSettings=$flacSettings,")
append("mp2Settings=$mp2Settings,")
append("mp3Settings=$mp3Settings,")
append("opusSettings=$opusSettings,")
append("vorbisSettings=$vorbisSettings,")
append("wavSettings=$wavSettings")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = aacSettings?.hashCode() ?: 0
result = 31 * result + (ac3Settings?.hashCode() ?: 0)
result = 31 * result + (aiffSettings?.hashCode() ?: 0)
result = 31 * result + (codec?.hashCode() ?: 0)
result = 31 * result + (eac3AtmosSettings?.hashCode() ?: 0)
result = 31 * result + (eac3Settings?.hashCode() ?: 0)
result = 31 * result + (flacSettings?.hashCode() ?: 0)
result = 31 * result + (mp2Settings?.hashCode() ?: 0)
result = 31 * result + (mp3Settings?.hashCode() ?: 0)
result = 31 * result + (opusSettings?.hashCode() ?: 0)
result = 31 * result + (vorbisSettings?.hashCode() ?: 0)
result = 31 * result + (wavSettings?.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 AudioCodecSettings
if (aacSettings != other.aacSettings) return false
if (ac3Settings != other.ac3Settings) return false
if (aiffSettings != other.aiffSettings) return false
if (codec != other.codec) return false
if (eac3AtmosSettings != other.eac3AtmosSettings) return false
if (eac3Settings != other.eac3Settings) return false
if (flacSettings != other.flacSettings) return false
if (mp2Settings != other.mp2Settings) return false
if (mp3Settings != other.mp3Settings) return false
if (opusSettings != other.opusSettings) return false
if (vorbisSettings != other.vorbisSettings) return false
if (wavSettings != other.wavSettings) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mediaconvert.model.AudioCodecSettings = Builder(this).apply(block).build()
public class Builder {
/**
* Required when you set Codec to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode to "VBR" or "CBR". In VBR mode, you control the audio quality with the setting VBR quality. In CBR mode, you use the setting Bitrate. Defaults and valid values depend on the rate control mode.
*/
public var aacSettings: aws.sdk.kotlin.services.mediaconvert.model.AacSettings? = null
/**
* Required when you set Codec to the value AC3.
*/
public var ac3Settings: aws.sdk.kotlin.services.mediaconvert.model.Ac3Settings? = null
/**
* Required when you set Codec to the value AIFF.
*/
public var aiffSettings: aws.sdk.kotlin.services.mediaconvert.model.AiffSettings? = null
/**
* Choose the audio codec for this output. Note that the option Dolby Digital passthrough applies only to Dolby Digital and Dolby Digital Plus audio inputs. Make sure that you choose a codec that's supported with your output container: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#reference-codecs-containers-output-audio For audio-only outputs, make sure that both your input audio codec and your output audio codec are supported for audio-only workflows. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers-input.html#reference-codecs-containers-input-audio-only and https://docs.aws.amazon.com/mediaconvert/latest/ug/reference-codecs-containers.html#audio-only-output
*/
public var codec: aws.sdk.kotlin.services.mediaconvert.model.AudioCodec? = null
/**
* Required when you set Codec to the value EAC3_ATMOS.
*/
public var eac3AtmosSettings: aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSettings? = null
/**
* Required when you set Codec to the value EAC3.
*/
public var eac3Settings: aws.sdk.kotlin.services.mediaconvert.model.Eac3Settings? = null
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value FLAC.
*/
public var flacSettings: aws.sdk.kotlin.services.mediaconvert.model.FlacSettings? = null
/**
* Required when you set Codec to the value MP2.
*/
public var mp2Settings: aws.sdk.kotlin.services.mediaconvert.model.Mp2Settings? = null
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3.
*/
public var mp3Settings: aws.sdk.kotlin.services.mediaconvert.model.Mp3Settings? = null
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value OPUS.
*/
public var opusSettings: aws.sdk.kotlin.services.mediaconvert.model.OpusSettings? = null
/**
* Required when you set Codec, under AudioDescriptions>CodecSettings, to the value Vorbis.
*/
public var vorbisSettings: aws.sdk.kotlin.services.mediaconvert.model.VorbisSettings? = null
/**
* Required when you set Codec to the value WAV.
*/
public var wavSettings: aws.sdk.kotlin.services.mediaconvert.model.WavSettings? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.AudioCodecSettings) : this() {
this.aacSettings = x.aacSettings
this.ac3Settings = x.ac3Settings
this.aiffSettings = x.aiffSettings
this.codec = x.codec
this.eac3AtmosSettings = x.eac3AtmosSettings
this.eac3Settings = x.eac3Settings
this.flacSettings = x.flacSettings
this.mp2Settings = x.mp2Settings
this.mp3Settings = x.mp3Settings
this.opusSettings = x.opusSettings
this.vorbisSettings = x.vorbisSettings
this.wavSettings = x.wavSettings
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.AudioCodecSettings = AudioCodecSettings(this)
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.AacSettings] inside the given [block]
*/
public fun aacSettings(block: aws.sdk.kotlin.services.mediaconvert.model.AacSettings.Builder.() -> kotlin.Unit) {
this.aacSettings = aws.sdk.kotlin.services.mediaconvert.model.AacSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.Ac3Settings] inside the given [block]
*/
public fun ac3Settings(block: aws.sdk.kotlin.services.mediaconvert.model.Ac3Settings.Builder.() -> kotlin.Unit) {
this.ac3Settings = aws.sdk.kotlin.services.mediaconvert.model.Ac3Settings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.AiffSettings] inside the given [block]
*/
public fun aiffSettings(block: aws.sdk.kotlin.services.mediaconvert.model.AiffSettings.Builder.() -> kotlin.Unit) {
this.aiffSettings = aws.sdk.kotlin.services.mediaconvert.model.AiffSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSettings] inside the given [block]
*/
public fun eac3AtmosSettings(block: aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSettings.Builder.() -> kotlin.Unit) {
this.eac3AtmosSettings = aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.Eac3Settings] inside the given [block]
*/
public fun eac3Settings(block: aws.sdk.kotlin.services.mediaconvert.model.Eac3Settings.Builder.() -> kotlin.Unit) {
this.eac3Settings = aws.sdk.kotlin.services.mediaconvert.model.Eac3Settings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.FlacSettings] inside the given [block]
*/
public fun flacSettings(block: aws.sdk.kotlin.services.mediaconvert.model.FlacSettings.Builder.() -> kotlin.Unit) {
this.flacSettings = aws.sdk.kotlin.services.mediaconvert.model.FlacSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.Mp2Settings] inside the given [block]
*/
public fun mp2Settings(block: aws.sdk.kotlin.services.mediaconvert.model.Mp2Settings.Builder.() -> kotlin.Unit) {
this.mp2Settings = aws.sdk.kotlin.services.mediaconvert.model.Mp2Settings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.Mp3Settings] inside the given [block]
*/
public fun mp3Settings(block: aws.sdk.kotlin.services.mediaconvert.model.Mp3Settings.Builder.() -> kotlin.Unit) {
this.mp3Settings = aws.sdk.kotlin.services.mediaconvert.model.Mp3Settings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.OpusSettings] inside the given [block]
*/
public fun opusSettings(block: aws.sdk.kotlin.services.mediaconvert.model.OpusSettings.Builder.() -> kotlin.Unit) {
this.opusSettings = aws.sdk.kotlin.services.mediaconvert.model.OpusSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.VorbisSettings] inside the given [block]
*/
public fun vorbisSettings(block: aws.sdk.kotlin.services.mediaconvert.model.VorbisSettings.Builder.() -> kotlin.Unit) {
this.vorbisSettings = aws.sdk.kotlin.services.mediaconvert.model.VorbisSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.WavSettings] inside the given [block]
*/
public fun wavSettings(block: aws.sdk.kotlin.services.mediaconvert.model.WavSettings.Builder.() -> kotlin.Unit) {
this.wavSettings = aws.sdk.kotlin.services.mediaconvert.model.WavSettings.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy