commonMain.aws.sdk.kotlin.services.mediapackage.transform.HlsManifestDocumentDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mediapackage Show documentation
Show all versions of mediapackage Show documentation
AWS Elemental MediaPackage
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mediapackage.transform
import aws.sdk.kotlin.services.mediapackage.model.AdMarkers
import aws.sdk.kotlin.services.mediapackage.model.HlsManifest
import aws.sdk.kotlin.services.mediapackage.model.PlaylistType
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 deserializeHlsManifestDocument(deserializer: Deserializer): HlsManifest {
val builder = HlsManifest.Builder()
val ADMARKERS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("adMarkers"))
val ID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("id"))
val INCLUDEIFRAMEONLYSTREAM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Boolean, JsonSerialName("includeIframeOnlyStream"))
val MANIFESTNAME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("manifestName"))
val PLAYLISTTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("playlistType"))
val PLAYLISTWINDOWSECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("playlistWindowSeconds"))
val PROGRAMDATETIMEINTERVALSECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("programDateTimeIntervalSeconds"))
val URL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("url"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(ADMARKERS_DESCRIPTOR)
field(ID_DESCRIPTOR)
field(INCLUDEIFRAMEONLYSTREAM_DESCRIPTOR)
field(MANIFESTNAME_DESCRIPTOR)
field(PLAYLISTTYPE_DESCRIPTOR)
field(PLAYLISTWINDOWSECONDS_DESCRIPTOR)
field(PROGRAMDATETIMEINTERVALSECONDS_DESCRIPTOR)
field(URL_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
ADMARKERS_DESCRIPTOR.index -> builder.adMarkers = deserializeString().let { AdMarkers.fromValue(it) }
ID_DESCRIPTOR.index -> builder.id = deserializeString()
INCLUDEIFRAMEONLYSTREAM_DESCRIPTOR.index -> builder.includeIframeOnlyStream = deserializeBoolean()
MANIFESTNAME_DESCRIPTOR.index -> builder.manifestName = deserializeString()
PLAYLISTTYPE_DESCRIPTOR.index -> builder.playlistType = deserializeString().let { PlaylistType.fromValue(it) }
PLAYLISTWINDOWSECONDS_DESCRIPTOR.index -> builder.playlistWindowSeconds = deserializeInt()
PROGRAMDATETIMEINTERVALSECONDS_DESCRIPTOR.index -> builder.programDateTimeIntervalSeconds = deserializeInt()
URL_DESCRIPTOR.index -> builder.url = deserializeString()
null -> break@loop
else -> skipValue()
}
}
}
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy