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

commonMain.aws.sdk.kotlin.services.mediaconvert.serde.M2tsSettingsDocumentDeserializer.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.M2tsAudioBufferModel
import aws.sdk.kotlin.services.mediaconvert.model.M2tsAudioDuration
import aws.sdk.kotlin.services.mediaconvert.model.M2tsBufferModel
import aws.sdk.kotlin.services.mediaconvert.model.M2tsDataPtsControl
import aws.sdk.kotlin.services.mediaconvert.model.M2tsEbpAudioInterval
import aws.sdk.kotlin.services.mediaconvert.model.M2tsEbpPlacement
import aws.sdk.kotlin.services.mediaconvert.model.M2tsEsRateInPes
import aws.sdk.kotlin.services.mediaconvert.model.M2tsForceTsVideoEbpOrder
import aws.sdk.kotlin.services.mediaconvert.model.M2tsKlvMetadata
import aws.sdk.kotlin.services.mediaconvert.model.M2tsNielsenId3
import aws.sdk.kotlin.services.mediaconvert.model.M2tsPcrControl
import aws.sdk.kotlin.services.mediaconvert.model.M2tsRateMode
import aws.sdk.kotlin.services.mediaconvert.model.M2tsScte35Source
import aws.sdk.kotlin.services.mediaconvert.model.M2tsSegmentationMarkers
import aws.sdk.kotlin.services.mediaconvert.model.M2tsSegmentationStyle
import aws.sdk.kotlin.services.mediaconvert.model.M2tsSettings
import aws.sdk.kotlin.services.mediaconvert.model.TsPtsOffset
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 deserializeM2tsSettingsDocument(deserializer: Deserializer): M2tsSettings {
    val builder = M2tsSettings.Builder()
    val AUDIOBUFFERMODEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("audioBufferModel"))
    val AUDIODURATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("audioDuration"))
    val AUDIOFRAMESPERPES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("audioFramesPerPes"))
    val AUDIOPIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("audioPids"))
    val BITRATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("bitrate"))
    val BUFFERMODEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("bufferModel"))
    val DATAPTSCONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("dataPTSControl"))
    val DVBNITSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("dvbNitSettings"))
    val DVBSDTSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("dvbSdtSettings"))
    val DVBSUBPIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("dvbSubPids"))
    val DVBTDTSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("dvbTdtSettings"))
    val DVBTELETEXTPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("dvbTeletextPid"))
    val EBPAUDIOINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ebpAudioInterval"))
    val EBPPLACEMENT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ebpPlacement"))
    val ESRATEINPES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("esRateInPes"))
    val FORCETSVIDEOEBPORDER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("forceTsVideoEbpOrder"))
    val FRAGMENTTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("fragmentTime"))
    val KLVMETADATA_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("klvMetadata"))
    val MAXPCRINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("maxPcrInterval"))
    val MINEBPINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("minEbpInterval"))
    val NIELSENID3_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("nielsenId3"))
    val NULLPACKETBITRATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("nullPacketBitrate"))
    val PATINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("patInterval"))
    val PCRCONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("pcrControl"))
    val PCRPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("pcrPid"))
    val PMTINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("pmtInterval"))
    val PMTPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("pmtPid"))
    val PRIVATEMETADATAPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("privateMetadataPid"))
    val PROGRAMNUMBER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("programNumber"))
    val PTSOFFSET_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("ptsOffset"))
    val PTSOFFSETMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ptsOffsetMode"))
    val RATEMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("rateMode"))
    val SCTE35ESAM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("scte35Esam"))
    val SCTE35PID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("scte35Pid"))
    val SCTE35SOURCE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("scte35Source"))
    val SEGMENTATIONMARKERS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("segmentationMarkers"))
    val SEGMENTATIONSTYLE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("segmentationStyle"))
    val SEGMENTATIONTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("segmentationTime"))
    val TIMEDMETADATAPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("timedMetadataPid"))
    val TRANSPORTSTREAMID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("transportStreamId"))
    val VIDEOPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("videoPid"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(AUDIOBUFFERMODEL_DESCRIPTOR)
        field(AUDIODURATION_DESCRIPTOR)
        field(AUDIOFRAMESPERPES_DESCRIPTOR)
        field(AUDIOPIDS_DESCRIPTOR)
        field(BITRATE_DESCRIPTOR)
        field(BUFFERMODEL_DESCRIPTOR)
        field(DATAPTSCONTROL_DESCRIPTOR)
        field(DVBNITSETTINGS_DESCRIPTOR)
        field(DVBSDTSETTINGS_DESCRIPTOR)
        field(DVBSUBPIDS_DESCRIPTOR)
        field(DVBTDTSETTINGS_DESCRIPTOR)
        field(DVBTELETEXTPID_DESCRIPTOR)
        field(EBPAUDIOINTERVAL_DESCRIPTOR)
        field(EBPPLACEMENT_DESCRIPTOR)
        field(ESRATEINPES_DESCRIPTOR)
        field(FORCETSVIDEOEBPORDER_DESCRIPTOR)
        field(FRAGMENTTIME_DESCRIPTOR)
        field(KLVMETADATA_DESCRIPTOR)
        field(MAXPCRINTERVAL_DESCRIPTOR)
        field(MINEBPINTERVAL_DESCRIPTOR)
        field(NIELSENID3_DESCRIPTOR)
        field(NULLPACKETBITRATE_DESCRIPTOR)
        field(PATINTERVAL_DESCRIPTOR)
        field(PCRCONTROL_DESCRIPTOR)
        field(PCRPID_DESCRIPTOR)
        field(PMTINTERVAL_DESCRIPTOR)
        field(PMTPID_DESCRIPTOR)
        field(PRIVATEMETADATAPID_DESCRIPTOR)
        field(PROGRAMNUMBER_DESCRIPTOR)
        field(PTSOFFSET_DESCRIPTOR)
        field(PTSOFFSETMODE_DESCRIPTOR)
        field(RATEMODE_DESCRIPTOR)
        field(SCTE35ESAM_DESCRIPTOR)
        field(SCTE35PID_DESCRIPTOR)
        field(SCTE35SOURCE_DESCRIPTOR)
        field(SEGMENTATIONMARKERS_DESCRIPTOR)
        field(SEGMENTATIONSTYLE_DESCRIPTOR)
        field(SEGMENTATIONTIME_DESCRIPTOR)
        field(TIMEDMETADATAPID_DESCRIPTOR)
        field(TRANSPORTSTREAMID_DESCRIPTOR)
        field(VIDEOPID_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                AUDIOBUFFERMODEL_DESCRIPTOR.index -> builder.audioBufferModel = deserializeString().let { M2tsAudioBufferModel.fromValue(it) }
                AUDIODURATION_DESCRIPTOR.index -> builder.audioDuration = deserializeString().let { M2tsAudioDuration.fromValue(it) }
                AUDIOFRAMESPERPES_DESCRIPTOR.index -> builder.audioFramesPerPes = deserializeInt()
                AUDIOPIDS_DESCRIPTOR.index -> builder.audioPids =
                    deserializer.deserializeList(AUDIOPIDS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeInt() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                BITRATE_DESCRIPTOR.index -> builder.bitrate = deserializeInt()
                BUFFERMODEL_DESCRIPTOR.index -> builder.bufferModel = deserializeString().let { M2tsBufferModel.fromValue(it) }
                DATAPTSCONTROL_DESCRIPTOR.index -> builder.dataPtsControl = deserializeString().let { M2tsDataPtsControl.fromValue(it) }
                DVBNITSETTINGS_DESCRIPTOR.index -> builder.dvbNitSettings = deserializeDvbNitSettingsDocument(deserializer)
                DVBSDTSETTINGS_DESCRIPTOR.index -> builder.dvbSdtSettings = deserializeDvbSdtSettingsDocument(deserializer)
                DVBSUBPIDS_DESCRIPTOR.index -> builder.dvbSubPids =
                    deserializer.deserializeList(DVBSUBPIDS_DESCRIPTOR) {
                        val col0 = mutableListOf()
                        while (hasNextElement()) {
                            val el0 = if (nextHasValue()) { deserializeInt() } else { deserializeNull(); continue }
                            col0.add(el0)
                        }
                        col0
                    }
                DVBTDTSETTINGS_DESCRIPTOR.index -> builder.dvbTdtSettings = deserializeDvbTdtSettingsDocument(deserializer)
                DVBTELETEXTPID_DESCRIPTOR.index -> builder.dvbTeletextPid = deserializeInt()
                EBPAUDIOINTERVAL_DESCRIPTOR.index -> builder.ebpAudioInterval = deserializeString().let { M2tsEbpAudioInterval.fromValue(it) }
                EBPPLACEMENT_DESCRIPTOR.index -> builder.ebpPlacement = deserializeString().let { M2tsEbpPlacement.fromValue(it) }
                ESRATEINPES_DESCRIPTOR.index -> builder.esRateInPes = deserializeString().let { M2tsEsRateInPes.fromValue(it) }
                FORCETSVIDEOEBPORDER_DESCRIPTOR.index -> builder.forceTsVideoEbpOrder = deserializeString().let { M2tsForceTsVideoEbpOrder.fromValue(it) }
                FRAGMENTTIME_DESCRIPTOR.index -> builder.fragmentTime = deserializeDouble()
                KLVMETADATA_DESCRIPTOR.index -> builder.klvMetadata = deserializeString().let { M2tsKlvMetadata.fromValue(it) }
                MAXPCRINTERVAL_DESCRIPTOR.index -> builder.maxPcrInterval = deserializeInt()
                MINEBPINTERVAL_DESCRIPTOR.index -> builder.minEbpInterval = deserializeInt()
                NIELSENID3_DESCRIPTOR.index -> builder.nielsenId3 = deserializeString().let { M2tsNielsenId3.fromValue(it) }
                NULLPACKETBITRATE_DESCRIPTOR.index -> builder.nullPacketBitrate = deserializeDouble()
                PATINTERVAL_DESCRIPTOR.index -> builder.patInterval = deserializeInt()
                PCRCONTROL_DESCRIPTOR.index -> builder.pcrControl = deserializeString().let { M2tsPcrControl.fromValue(it) }
                PCRPID_DESCRIPTOR.index -> builder.pcrPid = deserializeInt()
                PMTINTERVAL_DESCRIPTOR.index -> builder.pmtInterval = deserializeInt()
                PMTPID_DESCRIPTOR.index -> builder.pmtPid = deserializeInt()
                PRIVATEMETADATAPID_DESCRIPTOR.index -> builder.privateMetadataPid = deserializeInt()
                PROGRAMNUMBER_DESCRIPTOR.index -> builder.programNumber = deserializeInt()
                PTSOFFSET_DESCRIPTOR.index -> builder.ptsOffset = deserializeInt()
                PTSOFFSETMODE_DESCRIPTOR.index -> builder.ptsOffsetMode = deserializeString().let { TsPtsOffset.fromValue(it) }
                RATEMODE_DESCRIPTOR.index -> builder.rateMode = deserializeString().let { M2tsRateMode.fromValue(it) }
                SCTE35ESAM_DESCRIPTOR.index -> builder.scte35Esam = deserializeM2tsScte35EsamDocument(deserializer)
                SCTE35PID_DESCRIPTOR.index -> builder.scte35Pid = deserializeInt()
                SCTE35SOURCE_DESCRIPTOR.index -> builder.scte35Source = deserializeString().let { M2tsScte35Source.fromValue(it) }
                SEGMENTATIONMARKERS_DESCRIPTOR.index -> builder.segmentationMarkers = deserializeString().let { M2tsSegmentationMarkers.fromValue(it) }
                SEGMENTATIONSTYLE_DESCRIPTOR.index -> builder.segmentationStyle = deserializeString().let { M2tsSegmentationStyle.fromValue(it) }
                SEGMENTATIONTIME_DESCRIPTOR.index -> builder.segmentationTime = deserializeDouble()
                TIMEDMETADATAPID_DESCRIPTOR.index -> builder.timedMetadataPid = deserializeInt()
                TRANSPORTSTREAMID_DESCRIPTOR.index -> builder.transportStreamId = deserializeInt()
                VIDEOPID_DESCRIPTOR.index -> builder.videoPid = deserializeInt()
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    builder.correctErrors()
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy