
commonMain.aws.sdk.kotlin.services.mediaconvert.serde.AudioSelectorDocumentDeserializer.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.AudioDefaultSelection
import aws.sdk.kotlin.services.mediaconvert.model.AudioDurationCorrection
import aws.sdk.kotlin.services.mediaconvert.model.AudioSelector
import aws.sdk.kotlin.services.mediaconvert.model.AudioSelectorType
import aws.sdk.kotlin.services.mediaconvert.model.LanguageCode
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
import kotlin.collections.mutableListOf
internal fun deserializeAudioSelectorDocument(deserializer: Deserializer): AudioSelector {
val builder = AudioSelector.Builder()
val AUDIODURATIONCORRECTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("audioDurationCorrection"))
val CUSTOMLANGUAGECODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("customLanguageCode"))
val DEFAULTSELECTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("defaultSelection"))
val EXTERNALAUDIOFILEINPUT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("externalAudioFileInput"))
val HLSRENDITIONGROUPSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("hlsRenditionGroupSettings"))
val LANGUAGECODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("languageCode"))
val OFFSET_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("offset"))
val PIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("pids"))
val PROGRAMSELECTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("programSelection"))
val REMIXSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("remixSettings"))
val SELECTORTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("selectorType"))
val TRACKS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("tracks"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(AUDIODURATIONCORRECTION_DESCRIPTOR)
field(CUSTOMLANGUAGECODE_DESCRIPTOR)
field(DEFAULTSELECTION_DESCRIPTOR)
field(EXTERNALAUDIOFILEINPUT_DESCRIPTOR)
field(HLSRENDITIONGROUPSETTINGS_DESCRIPTOR)
field(LANGUAGECODE_DESCRIPTOR)
field(OFFSET_DESCRIPTOR)
field(PIDS_DESCRIPTOR)
field(PROGRAMSELECTION_DESCRIPTOR)
field(REMIXSETTINGS_DESCRIPTOR)
field(SELECTORTYPE_DESCRIPTOR)
field(TRACKS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
AUDIODURATIONCORRECTION_DESCRIPTOR.index -> builder.audioDurationCorrection = deserializeString().let { AudioDurationCorrection.fromValue(it) }
CUSTOMLANGUAGECODE_DESCRIPTOR.index -> builder.customLanguageCode = deserializeString()
DEFAULTSELECTION_DESCRIPTOR.index -> builder.defaultSelection = deserializeString().let { AudioDefaultSelection.fromValue(it) }
EXTERNALAUDIOFILEINPUT_DESCRIPTOR.index -> builder.externalAudioFileInput = deserializeString()
HLSRENDITIONGROUPSETTINGS_DESCRIPTOR.index -> builder.hlsRenditionGroupSettings = deserializeHlsRenditionGroupSettingsDocument(deserializer)
LANGUAGECODE_DESCRIPTOR.index -> builder.languageCode = deserializeString().let { LanguageCode.fromValue(it) }
OFFSET_DESCRIPTOR.index -> builder.offset = deserializeInt()
PIDS_DESCRIPTOR.index -> builder.pids =
deserializer.deserializeList(PIDS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeInt() } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
PROGRAMSELECTION_DESCRIPTOR.index -> builder.programSelection = deserializeInt()
REMIXSETTINGS_DESCRIPTOR.index -> builder.remixSettings = deserializeRemixSettingsDocument(deserializer)
SELECTORTYPE_DESCRIPTOR.index -> builder.selectorType = deserializeString().let { AudioSelectorType.fromValue(it) }
TRACKS_DESCRIPTOR.index -> builder.tracks =
deserializer.deserializeList(TRACKS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeInt() } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy