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

commonMain.aws.sdk.kotlin.services.mediaconvert.serde.Eac3SettingsDocumentDeserializer.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.Eac3AttenuationControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3BitstreamMode
import aws.sdk.kotlin.services.mediaconvert.model.Eac3CodingMode
import aws.sdk.kotlin.services.mediaconvert.model.Eac3DcFilter
import aws.sdk.kotlin.services.mediaconvert.model.Eac3DynamicRangeCompressionLine
import aws.sdk.kotlin.services.mediaconvert.model.Eac3DynamicRangeCompressionRf
import aws.sdk.kotlin.services.mediaconvert.model.Eac3LfeControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3LfeFilter
import aws.sdk.kotlin.services.mediaconvert.model.Eac3MetadataControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3PassthroughControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3PhaseControl
import aws.sdk.kotlin.services.mediaconvert.model.Eac3Settings
import aws.sdk.kotlin.services.mediaconvert.model.Eac3StereoDownmix
import aws.sdk.kotlin.services.mediaconvert.model.Eac3SurroundExMode
import aws.sdk.kotlin.services.mediaconvert.model.Eac3SurroundMode
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 deserializeEac3SettingsDocument(deserializer: Deserializer): Eac3Settings {
    val builder = Eac3Settings.Builder()
    val ATTENUATIONCONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("attenuationControl"))
    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 DCFILTER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dcFilter"))
    val DIALNORM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("dialnorm"))
    val DYNAMICRANGECOMPRESSIONLINE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dynamicRangeCompressionLine"))
    val DYNAMICRANGECOMPRESSIONRF_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dynamicRangeCompressionRf"))
    val LFECONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("lfeControl"))
    val LFEFILTER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("lfeFilter"))
    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 METADATACONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("metadataControl"))
    val PASSTHROUGHCONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("passthroughControl"))
    val PHASECONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("phaseControl"))
    val SAMPLERATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("sampleRate"))
    val STEREODOWNMIX_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("stereoDownmix"))
    val SURROUNDEXMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("surroundExMode"))
    val SURROUNDMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("surroundMode"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ATTENUATIONCONTROL_DESCRIPTOR)
        field(BITRATE_DESCRIPTOR)
        field(BITSTREAMMODE_DESCRIPTOR)
        field(CODINGMODE_DESCRIPTOR)
        field(DCFILTER_DESCRIPTOR)
        field(DIALNORM_DESCRIPTOR)
        field(DYNAMICRANGECOMPRESSIONLINE_DESCRIPTOR)
        field(DYNAMICRANGECOMPRESSIONRF_DESCRIPTOR)
        field(LFECONTROL_DESCRIPTOR)
        field(LFEFILTER_DESCRIPTOR)
        field(LOROCENTERMIXLEVEL_DESCRIPTOR)
        field(LOROSURROUNDMIXLEVEL_DESCRIPTOR)
        field(LTRTCENTERMIXLEVEL_DESCRIPTOR)
        field(LTRTSURROUNDMIXLEVEL_DESCRIPTOR)
        field(METADATACONTROL_DESCRIPTOR)
        field(PASSTHROUGHCONTROL_DESCRIPTOR)
        field(PHASECONTROL_DESCRIPTOR)
        field(SAMPLERATE_DESCRIPTOR)
        field(STEREODOWNMIX_DESCRIPTOR)
        field(SURROUNDEXMODE_DESCRIPTOR)
        field(SURROUNDMODE_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                ATTENUATIONCONTROL_DESCRIPTOR.index -> builder.attenuationControl = deserializeString().let { Eac3AttenuationControl.fromValue(it) }
                BITRATE_DESCRIPTOR.index -> builder.bitrate = deserializeInt()
                BITSTREAMMODE_DESCRIPTOR.index -> builder.bitstreamMode = deserializeString().let { Eac3BitstreamMode.fromValue(it) }
                CODINGMODE_DESCRIPTOR.index -> builder.codingMode = deserializeString().let { Eac3CodingMode.fromValue(it) }
                DCFILTER_DESCRIPTOR.index -> builder.dcFilter = deserializeString().let { Eac3DcFilter.fromValue(it) }
                DIALNORM_DESCRIPTOR.index -> builder.dialnorm = deserializeInt()
                DYNAMICRANGECOMPRESSIONLINE_DESCRIPTOR.index -> builder.dynamicRangeCompressionLine = deserializeString().let { Eac3DynamicRangeCompressionLine.fromValue(it) }
                DYNAMICRANGECOMPRESSIONRF_DESCRIPTOR.index -> builder.dynamicRangeCompressionRf = deserializeString().let { Eac3DynamicRangeCompressionRf.fromValue(it) }
                LFECONTROL_DESCRIPTOR.index -> builder.lfeControl = deserializeString().let { Eac3LfeControl.fromValue(it) }
                LFEFILTER_DESCRIPTOR.index -> builder.lfeFilter = deserializeString().let { Eac3LfeFilter.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()
                METADATACONTROL_DESCRIPTOR.index -> builder.metadataControl = deserializeString().let { Eac3MetadataControl.fromValue(it) }
                PASSTHROUGHCONTROL_DESCRIPTOR.index -> builder.passthroughControl = deserializeString().let { Eac3PassthroughControl.fromValue(it) }
                PHASECONTROL_DESCRIPTOR.index -> builder.phaseControl = deserializeString().let { Eac3PhaseControl.fromValue(it) }
                SAMPLERATE_DESCRIPTOR.index -> builder.sampleRate = deserializeInt()
                STEREODOWNMIX_DESCRIPTOR.index -> builder.stereoDownmix = deserializeString().let { Eac3StereoDownmix.fromValue(it) }
                SURROUNDEXMODE_DESCRIPTOR.index -> builder.surroundExMode = deserializeString().let { Eac3SurroundExMode.fromValue(it) }
                SURROUNDMODE_DESCRIPTOR.index -> builder.surroundMode = deserializeString().let { Eac3SurroundMode.fromValue(it) }
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy