
commonMain.aws.sdk.kotlin.services.medialive.model.AudioDescription.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* Audio Description
*/
public class AudioDescription private constructor(builder: Builder) {
/**
* Advanced audio normalization settings.
*/
public val audioNormalizationSettings: aws.sdk.kotlin.services.medialive.model.AudioNormalizationSettings? = builder.audioNormalizationSettings
/**
* The name of the AudioSelector used as the source for this AudioDescription.
*/
public val audioSelectorName: kotlin.String? = builder.audioSelectorName
/**
* Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1.
*/
public val audioType: aws.sdk.kotlin.services.medialive.model.AudioType? = builder.audioType
/**
* Determines how audio type is determined. followInput: If the input contains an ISO 639 audioType, then that value is passed through to the output. If the input contains no ISO 639 audioType, the value in Audio Type is included in the output. useConfigured: The value in Audio Type is included in the output. Note that this field and audioType are both ignored if inputType is broadcasterMixedAd.
*/
public val audioTypeControl: aws.sdk.kotlin.services.medialive.model.AudioDescriptionAudioTypeControl? = builder.audioTypeControl
/**
* Settings to configure one or more solutions that insert audio watermarks in the audio encode
*/
public val audioWatermarkingSettings: aws.sdk.kotlin.services.medialive.model.AudioWatermarkSettings? = builder.audioWatermarkingSettings
/**
* Audio codec settings.
*/
public val codecSettings: aws.sdk.kotlin.services.medialive.model.AudioCodecSettings? = builder.codecSettings
/**
* RFC 5646 language code representing the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input.
*/
public val languageCode: kotlin.String? = builder.languageCode
/**
* Choosing followInput will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The languageCode will be used when useConfigured is set, or when followInput is selected but there is no ISO 639 language code specified by the input.
*/
public val languageCodeControl: aws.sdk.kotlin.services.medialive.model.AudioDescriptionLanguageCodeControl? = builder.languageCodeControl
/**
* The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event.
*/
public val name: kotlin.String? = builder.name
/**
* Settings that control how input audio channels are remixed into the output audio channels.
*/
public val remixSettings: aws.sdk.kotlin.services.medialive.model.RemixSettings? = builder.remixSettings
/**
* Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary).
*/
public val streamName: kotlin.String? = builder.streamName
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.AudioDescription = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AudioDescription(")
append("audioNormalizationSettings=$audioNormalizationSettings,")
append("audioSelectorName=$audioSelectorName,")
append("audioType=$audioType,")
append("audioTypeControl=$audioTypeControl,")
append("audioWatermarkingSettings=$audioWatermarkingSettings,")
append("codecSettings=$codecSettings,")
append("languageCode=$languageCode,")
append("languageCodeControl=$languageCodeControl,")
append("name=$name,")
append("remixSettings=$remixSettings,")
append("streamName=$streamName")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = audioNormalizationSettings?.hashCode() ?: 0
result = 31 * result + (audioSelectorName?.hashCode() ?: 0)
result = 31 * result + (audioType?.hashCode() ?: 0)
result = 31 * result + (audioTypeControl?.hashCode() ?: 0)
result = 31 * result + (audioWatermarkingSettings?.hashCode() ?: 0)
result = 31 * result + (codecSettings?.hashCode() ?: 0)
result = 31 * result + (languageCode?.hashCode() ?: 0)
result = 31 * result + (languageCodeControl?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (remixSettings?.hashCode() ?: 0)
result = 31 * result + (streamName?.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 AudioDescription
if (audioNormalizationSettings != other.audioNormalizationSettings) return false
if (audioSelectorName != other.audioSelectorName) return false
if (audioType != other.audioType) return false
if (audioTypeControl != other.audioTypeControl) return false
if (audioWatermarkingSettings != other.audioWatermarkingSettings) return false
if (codecSettings != other.codecSettings) return false
if (languageCode != other.languageCode) return false
if (languageCodeControl != other.languageCodeControl) return false
if (name != other.name) return false
if (remixSettings != other.remixSettings) return false
if (streamName != other.streamName) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.AudioDescription = Builder(this).apply(block).build()
public class Builder {
/**
* Advanced audio normalization settings.
*/
public var audioNormalizationSettings: aws.sdk.kotlin.services.medialive.model.AudioNormalizationSettings? = null
/**
* The name of the AudioSelector used as the source for this AudioDescription.
*/
public var audioSelectorName: kotlin.String? = null
/**
* Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1.
*/
public var audioType: aws.sdk.kotlin.services.medialive.model.AudioType? = null
/**
* Determines how audio type is determined. followInput: If the input contains an ISO 639 audioType, then that value is passed through to the output. If the input contains no ISO 639 audioType, the value in Audio Type is included in the output. useConfigured: The value in Audio Type is included in the output. Note that this field and audioType are both ignored if inputType is broadcasterMixedAd.
*/
public var audioTypeControl: aws.sdk.kotlin.services.medialive.model.AudioDescriptionAudioTypeControl? = null
/**
* Settings to configure one or more solutions that insert audio watermarks in the audio encode
*/
public var audioWatermarkingSettings: aws.sdk.kotlin.services.medialive.model.AudioWatermarkSettings? = null
/**
* Audio codec settings.
*/
public var codecSettings: aws.sdk.kotlin.services.medialive.model.AudioCodecSettings? = null
/**
* RFC 5646 language code representing the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input.
*/
public var languageCode: kotlin.String? = null
/**
* Choosing followInput will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The languageCode will be used when useConfigured is set, or when followInput is selected but there is no ISO 639 language code specified by the input.
*/
public var languageCodeControl: aws.sdk.kotlin.services.medialive.model.AudioDescriptionLanguageCodeControl? = null
/**
* The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event.
*/
public var name: kotlin.String? = null
/**
* Settings that control how input audio channels are remixed into the output audio channels.
*/
public var remixSettings: aws.sdk.kotlin.services.medialive.model.RemixSettings? = null
/**
* Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary).
*/
public var streamName: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.AudioDescription) : this() {
this.audioNormalizationSettings = x.audioNormalizationSettings
this.audioSelectorName = x.audioSelectorName
this.audioType = x.audioType
this.audioTypeControl = x.audioTypeControl
this.audioWatermarkingSettings = x.audioWatermarkingSettings
this.codecSettings = x.codecSettings
this.languageCode = x.languageCode
this.languageCodeControl = x.languageCodeControl
this.name = x.name
this.remixSettings = x.remixSettings
this.streamName = x.streamName
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.AudioDescription = AudioDescription(this)
/**
* construct an [aws.sdk.kotlin.services.medialive.model.AudioNormalizationSettings] inside the given [block]
*/
public fun audioNormalizationSettings(block: aws.sdk.kotlin.services.medialive.model.AudioNormalizationSettings.Builder.() -> kotlin.Unit) {
this.audioNormalizationSettings = aws.sdk.kotlin.services.medialive.model.AudioNormalizationSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.AudioWatermarkSettings] inside the given [block]
*/
public fun audioWatermarkingSettings(block: aws.sdk.kotlin.services.medialive.model.AudioWatermarkSettings.Builder.() -> kotlin.Unit) {
this.audioWatermarkingSettings = aws.sdk.kotlin.services.medialive.model.AudioWatermarkSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.AudioCodecSettings] inside the given [block]
*/
public fun codecSettings(block: aws.sdk.kotlin.services.medialive.model.AudioCodecSettings.Builder.() -> kotlin.Unit) {
this.codecSettings = aws.sdk.kotlin.services.medialive.model.AudioCodecSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.RemixSettings] inside the given [block]
*/
public fun remixSettings(block: aws.sdk.kotlin.services.medialive.model.RemixSettings.Builder.() -> kotlin.Unit) {
this.remixSettings = aws.sdk.kotlin.services.medialive.model.RemixSettings.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy