All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.mediaconvert.serde.Eac3AtmosSettingsDocumentDeserializer.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.mediaconvert.serde

import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosBitstreamMode
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosCodingMode
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosDialogueIntelligence
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosDownmixControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosDynamicRangeCompressionLine
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosDynamicRangeCompressionRf
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosDynamicRangeControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosMeteringMode
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSettings
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosStereoDownmix
import aws.sdk.kotlin.services.mediaconvert.model.Eac3AtmosSurroundExMode
import aws.smithy.kotlin.runtime.serde.Deserializer
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.json.JsonDeserializer
import aws.smithy.kotlin.runtime.serde.json.JsonSerialName
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct

internal fun deserializeEac3AtmosSettingsDocument(deserializer: Deserializer): Eac3AtmosSettings {
    val builder = Eac3AtmosSettings.Builder()
    val BITRATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("bitrate"))
    val BITSTREAMMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("bitstreamMode"))
    val CODINGMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("codingMode"))
    val DIALOGUEINTELLIGENCE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dialogueIntelligence"))
    val DOWNMIXCONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("downmixControl"))
    val DYNAMICRANGECOMPRESSIONLINE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dynamicRangeCompressionLine"))
    val DYNAMICRANGECOMPRESSIONRF_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dynamicRangeCompressionRf"))
    val DYNAMICRANGECONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dynamicRangeControl"))
    val LOROCENTERMIXLEVEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("loRoCenterMixLevel"))
    val LOROSURROUNDMIXLEVEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("loRoSurroundMixLevel"))
    val LTRTCENTERMIXLEVEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("ltRtCenterMixLevel"))
    val LTRTSURROUNDMIXLEVEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("ltRtSurroundMixLevel"))
    val METERINGMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("meteringMode"))
    val SAMPLERATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("sampleRate"))
    val SPEECHTHRESHOLD_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("speechThreshold"))
    val STEREODOWNMIX_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("stereoDownmix"))
    val SURROUNDEXMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("surroundExMode"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(BITRATE_DESCRIPTOR)
        field(BITSTREAMMODE_DESCRIPTOR)
        field(CODINGMODE_DESCRIPTOR)
        field(DIALOGUEINTELLIGENCE_DESCRIPTOR)
        field(DOWNMIXCONTROL_DESCRIPTOR)
        field(DYNAMICRANGECOMPRESSIONLINE_DESCRIPTOR)
        field(DYNAMICRANGECOMPRESSIONRF_DESCRIPTOR)
        field(DYNAMICRANGECONTROL_DESCRIPTOR)
        field(LOROCENTERMIXLEVEL_DESCRIPTOR)
        field(LOROSURROUNDMIXLEVEL_DESCRIPTOR)
        field(LTRTCENTERMIXLEVEL_DESCRIPTOR)
        field(LTRTSURROUNDMIXLEVEL_DESCRIPTOR)
        field(METERINGMODE_DESCRIPTOR)
        field(SAMPLERATE_DESCRIPTOR)
        field(SPEECHTHRESHOLD_DESCRIPTOR)
        field(STEREODOWNMIX_DESCRIPTOR)
        field(SURROUNDEXMODE_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                BITRATE_DESCRIPTOR.index -> builder.bitrate = deserializeInt()
                BITSTREAMMODE_DESCRIPTOR.index -> builder.bitstreamMode = deserializeString().let { Eac3AtmosBitstreamMode.fromValue(it) }
                CODINGMODE_DESCRIPTOR.index -> builder.codingMode = deserializeString().let { Eac3AtmosCodingMode.fromValue(it) }
                DIALOGUEINTELLIGENCE_DESCRIPTOR.index -> builder.dialogueIntelligence = deserializeString().let { Eac3AtmosDialogueIntelligence.fromValue(it) }
                DOWNMIXCONTROL_DESCRIPTOR.index -> builder.downmixControl = deserializeString().let { Eac3AtmosDownmixControl.fromValue(it) }
                DYNAMICRANGECOMPRESSIONLINE_DESCRIPTOR.index -> builder.dynamicRangeCompressionLine = deserializeString().let { Eac3AtmosDynamicRangeCompressionLine.fromValue(it) }
                DYNAMICRANGECOMPRESSIONRF_DESCRIPTOR.index -> builder.dynamicRangeCompressionRf = deserializeString().let { Eac3AtmosDynamicRangeCompressionRf.fromValue(it) }
                DYNAMICRANGECONTROL_DESCRIPTOR.index -> builder.dynamicRangeControl = deserializeString().let { Eac3AtmosDynamicRangeControl.fromValue(it) }
                LOROCENTERMIXLEVEL_DESCRIPTOR.index -> builder.loRoCenterMixLevel = deserializeDouble()
                LOROSURROUNDMIXLEVEL_DESCRIPTOR.index -> builder.loRoSurroundMixLevel = deserializeDouble()
                LTRTCENTERMIXLEVEL_DESCRIPTOR.index -> builder.ltRtCenterMixLevel = deserializeDouble()
                LTRTSURROUNDMIXLEVEL_DESCRIPTOR.index -> builder.ltRtSurroundMixLevel = deserializeDouble()
                METERINGMODE_DESCRIPTOR.index -> builder.meteringMode = deserializeString().let { Eac3AtmosMeteringMode.fromValue(it) }
                SAMPLERATE_DESCRIPTOR.index -> builder.sampleRate = deserializeInt()
                SPEECHTHRESHOLD_DESCRIPTOR.index -> builder.speechThreshold = deserializeInt()
                STEREODOWNMIX_DESCRIPTOR.index -> builder.stereoDownmix = deserializeString().let { Eac3AtmosStereoDownmix.fromValue(it) }
                SURROUNDEXMODE_DESCRIPTOR.index -> builder.surroundExMode = deserializeString().let { Eac3AtmosSurroundExMode.fromValue(it) }
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy