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

commonMain.aws.sdk.kotlin.services.medialive.transform.M2TsSettingsDocumentDeserializer.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.transform

import aws.sdk.kotlin.services.medialive.model.M2TsAbsentInputAudioBehavior
import aws.sdk.kotlin.services.medialive.model.M2TsArib
import aws.sdk.kotlin.services.medialive.model.M2TsAribCaptionsPidControl
import aws.sdk.kotlin.services.medialive.model.M2TsAudioBufferModel
import aws.sdk.kotlin.services.medialive.model.M2TsAudioInterval
import aws.sdk.kotlin.services.medialive.model.M2TsAudioStreamType
import aws.sdk.kotlin.services.medialive.model.M2TsBufferModel
import aws.sdk.kotlin.services.medialive.model.M2TsCcDescriptor
import aws.sdk.kotlin.services.medialive.model.M2TsEbifControl
import aws.sdk.kotlin.services.medialive.model.M2TsEbpPlacement
import aws.sdk.kotlin.services.medialive.model.M2TsEsRateInPes
import aws.sdk.kotlin.services.medialive.model.M2TsKlv
import aws.sdk.kotlin.services.medialive.model.M2TsNielsenId3Behavior
import aws.sdk.kotlin.services.medialive.model.M2TsPcrControl
import aws.sdk.kotlin.services.medialive.model.M2TsRateMode
import aws.sdk.kotlin.services.medialive.model.M2TsScte35Control
import aws.sdk.kotlin.services.medialive.model.M2TsSegmentationMarkers
import aws.sdk.kotlin.services.medialive.model.M2TsSegmentationStyle
import aws.sdk.kotlin.services.medialive.model.M2TsSettings
import aws.sdk.kotlin.services.medialive.model.M2TsTimedMetadataBehavior
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 deserializeM2TsSettingsDocument(deserializer: Deserializer): M2TsSettings {
    val builder = M2TsSettings.Builder()
    val ABSENTINPUTAUDIOBEHAVIOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("absentInputAudioBehavior"))
    val ARIB_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("arib"))
    val ARIBCAPTIONSPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("aribCaptionsPid"))
    val ARIBCAPTIONSPIDCONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("aribCaptionsPidControl"))
    val AUDIOBUFFERMODEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("audioBufferModel"))
    val AUDIOFRAMESPERPES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("audioFramesPerPes"))
    val AUDIOPIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("audioPids"))
    val AUDIOSTREAMTYPE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("audioStreamType"))
    val BITRATE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("bitrate"))
    val BUFFERMODEL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("bufferModel"))
    val CCDESCRIPTOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ccDescriptor"))
    val DVBNITSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("dvbNitSettings"))
    val DVBSDTSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("dvbSdtSettings"))
    val DVBSUBPIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("dvbSubPids"))
    val DVBTDTSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("dvbTdtSettings"))
    val DVBTELETEXTPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("dvbTeletextPid"))
    val EBIF_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ebif"))
    val EBPAUDIOINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ebpAudioInterval"))
    val EBPLOOKAHEADMS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("ebpLookaheadMs"))
    val EBPPLACEMENT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("ebpPlacement"))
    val ECMPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ecmPid"))
    val ESRATEINPES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("esRateInPes"))
    val ETVPLATFORMPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("etvPlatformPid"))
    val ETVSIGNALPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("etvSignalPid"))
    val FRAGMENTTIME_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("fragmentTime"))
    val KLV_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("klv"))
    val KLVDATAPIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("klvDataPids"))
    val NIELSENID3BEHAVIOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("nielsenId3Behavior"))
    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 PCRPERIOD_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("pcrPeriod"))
    val PCRPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("pcrPid"))
    val PMTINTERVAL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("pmtInterval"))
    val PMTPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("pmtPid"))
    val PROGRAMNUM_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("programNum"))
    val RATEMODE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("rateMode"))
    val SCTE27PIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("scte27Pids"))
    val SCTE35CONTROL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("scte35Control"))
    val SCTE35PID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("scte35Pid"))
    val SCTE35PREROLLPULLUPMILLISECONDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Double, JsonSerialName("scte35PrerollPullupMilliseconds"))
    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 TIMEDMETADATABEHAVIOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("timedMetadataBehavior"))
    val TIMEDMETADATAPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("timedMetadataPid"))
    val TRANSPORTSTREAMID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("transportStreamId"))
    val VIDEOPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("videoPid"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        field(ABSENTINPUTAUDIOBEHAVIOR_DESCRIPTOR)
        field(ARIB_DESCRIPTOR)
        field(ARIBCAPTIONSPID_DESCRIPTOR)
        field(ARIBCAPTIONSPIDCONTROL_DESCRIPTOR)
        field(AUDIOBUFFERMODEL_DESCRIPTOR)
        field(AUDIOFRAMESPERPES_DESCRIPTOR)
        field(AUDIOPIDS_DESCRIPTOR)
        field(AUDIOSTREAMTYPE_DESCRIPTOR)
        field(BITRATE_DESCRIPTOR)
        field(BUFFERMODEL_DESCRIPTOR)
        field(CCDESCRIPTOR_DESCRIPTOR)
        field(DVBNITSETTINGS_DESCRIPTOR)
        field(DVBSDTSETTINGS_DESCRIPTOR)
        field(DVBSUBPIDS_DESCRIPTOR)
        field(DVBTDTSETTINGS_DESCRIPTOR)
        field(DVBTELETEXTPID_DESCRIPTOR)
        field(EBIF_DESCRIPTOR)
        field(EBPAUDIOINTERVAL_DESCRIPTOR)
        field(EBPLOOKAHEADMS_DESCRIPTOR)
        field(EBPPLACEMENT_DESCRIPTOR)
        field(ECMPID_DESCRIPTOR)
        field(ESRATEINPES_DESCRIPTOR)
        field(ETVPLATFORMPID_DESCRIPTOR)
        field(ETVSIGNALPID_DESCRIPTOR)
        field(FRAGMENTTIME_DESCRIPTOR)
        field(KLV_DESCRIPTOR)
        field(KLVDATAPIDS_DESCRIPTOR)
        field(NIELSENID3BEHAVIOR_DESCRIPTOR)
        field(NULLPACKETBITRATE_DESCRIPTOR)
        field(PATINTERVAL_DESCRIPTOR)
        field(PCRCONTROL_DESCRIPTOR)
        field(PCRPERIOD_DESCRIPTOR)
        field(PCRPID_DESCRIPTOR)
        field(PMTINTERVAL_DESCRIPTOR)
        field(PMTPID_DESCRIPTOR)
        field(PROGRAMNUM_DESCRIPTOR)
        field(RATEMODE_DESCRIPTOR)
        field(SCTE27PIDS_DESCRIPTOR)
        field(SCTE35CONTROL_DESCRIPTOR)
        field(SCTE35PID_DESCRIPTOR)
        field(SCTE35PREROLLPULLUPMILLISECONDS_DESCRIPTOR)
        field(SEGMENTATIONMARKERS_DESCRIPTOR)
        field(SEGMENTATIONSTYLE_DESCRIPTOR)
        field(SEGMENTATIONTIME_DESCRIPTOR)
        field(TIMEDMETADATABEHAVIOR_DESCRIPTOR)
        field(TIMEDMETADATAPID_DESCRIPTOR)
        field(TRANSPORTSTREAMID_DESCRIPTOR)
        field(VIDEOPID_DESCRIPTOR)
    }

    deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
        loop@while (true) {
            when (findNextFieldIndex()) {
                ABSENTINPUTAUDIOBEHAVIOR_DESCRIPTOR.index -> builder.absentInputAudioBehavior = deserializeString().let { M2TsAbsentInputAudioBehavior.fromValue(it) }
                ARIB_DESCRIPTOR.index -> builder.arib = deserializeString().let { M2TsArib.fromValue(it) }
                ARIBCAPTIONSPID_DESCRIPTOR.index -> builder.aribCaptionsPid = deserializeString()
                ARIBCAPTIONSPIDCONTROL_DESCRIPTOR.index -> builder.aribCaptionsPidControl = deserializeString().let { M2TsAribCaptionsPidControl.fromValue(it) }
                AUDIOBUFFERMODEL_DESCRIPTOR.index -> builder.audioBufferModel = deserializeString().let { M2TsAudioBufferModel.fromValue(it) }
                AUDIOFRAMESPERPES_DESCRIPTOR.index -> builder.audioFramesPerPes = deserializeInt()
                AUDIOPIDS_DESCRIPTOR.index -> builder.audioPids = deserializeString()
                AUDIOSTREAMTYPE_DESCRIPTOR.index -> builder.audioStreamType = deserializeString().let { M2TsAudioStreamType.fromValue(it) }
                BITRATE_DESCRIPTOR.index -> builder.bitrate = deserializeInt()
                BUFFERMODEL_DESCRIPTOR.index -> builder.bufferModel = deserializeString().let { M2TsBufferModel.fromValue(it) }
                CCDESCRIPTOR_DESCRIPTOR.index -> builder.ccDescriptor = deserializeString().let { M2TsCcDescriptor.fromValue(it) }
                DVBNITSETTINGS_DESCRIPTOR.index -> builder.dvbNitSettings = deserializeDvbNitSettingsDocument(deserializer)
                DVBSDTSETTINGS_DESCRIPTOR.index -> builder.dvbSdtSettings = deserializeDvbSdtSettingsDocument(deserializer)
                DVBSUBPIDS_DESCRIPTOR.index -> builder.dvbSubPids = deserializeString()
                DVBTDTSETTINGS_DESCRIPTOR.index -> builder.dvbTdtSettings = deserializeDvbTdtSettingsDocument(deserializer)
                DVBTELETEXTPID_DESCRIPTOR.index -> builder.dvbTeletextPid = deserializeString()
                EBIF_DESCRIPTOR.index -> builder.ebif = deserializeString().let { M2TsEbifControl.fromValue(it) }
                EBPAUDIOINTERVAL_DESCRIPTOR.index -> builder.ebpAudioInterval = deserializeString().let { M2TsAudioInterval.fromValue(it) }
                EBPLOOKAHEADMS_DESCRIPTOR.index -> builder.ebpLookaheadMs = deserializeInt()
                EBPPLACEMENT_DESCRIPTOR.index -> builder.ebpPlacement = deserializeString().let { M2TsEbpPlacement.fromValue(it) }
                ECMPID_DESCRIPTOR.index -> builder.ecmPid = deserializeString()
                ESRATEINPES_DESCRIPTOR.index -> builder.esRateInPes = deserializeString().let { M2TsEsRateInPes.fromValue(it) }
                ETVPLATFORMPID_DESCRIPTOR.index -> builder.etvPlatformPid = deserializeString()
                ETVSIGNALPID_DESCRIPTOR.index -> builder.etvSignalPid = deserializeString()
                FRAGMENTTIME_DESCRIPTOR.index -> builder.fragmentTime = deserializeDouble()
                KLV_DESCRIPTOR.index -> builder.klv = deserializeString().let { M2TsKlv.fromValue(it) }
                KLVDATAPIDS_DESCRIPTOR.index -> builder.klvDataPids = deserializeString()
                NIELSENID3BEHAVIOR_DESCRIPTOR.index -> builder.nielsenId3Behavior = deserializeString().let { M2TsNielsenId3Behavior.fromValue(it) }
                NULLPACKETBITRATE_DESCRIPTOR.index -> builder.nullPacketBitrate = deserializeDouble()
                PATINTERVAL_DESCRIPTOR.index -> builder.patInterval = deserializeInt()
                PCRCONTROL_DESCRIPTOR.index -> builder.pcrControl = deserializeString().let { M2TsPcrControl.fromValue(it) }
                PCRPERIOD_DESCRIPTOR.index -> builder.pcrPeriod = deserializeInt()
                PCRPID_DESCRIPTOR.index -> builder.pcrPid = deserializeString()
                PMTINTERVAL_DESCRIPTOR.index -> builder.pmtInterval = deserializeInt()
                PMTPID_DESCRIPTOR.index -> builder.pmtPid = deserializeString()
                PROGRAMNUM_DESCRIPTOR.index -> builder.programNum = deserializeInt()
                RATEMODE_DESCRIPTOR.index -> builder.rateMode = deserializeString().let { M2TsRateMode.fromValue(it) }
                SCTE27PIDS_DESCRIPTOR.index -> builder.scte27Pids = deserializeString()
                SCTE35CONTROL_DESCRIPTOR.index -> builder.scte35Control = deserializeString().let { M2TsScte35Control.fromValue(it) }
                SCTE35PID_DESCRIPTOR.index -> builder.scte35Pid = deserializeString()
                SCTE35PREROLLPULLUPMILLISECONDS_DESCRIPTOR.index -> builder.scte35PrerollPullupMilliseconds = deserializeDouble()
                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()
                TIMEDMETADATABEHAVIOR_DESCRIPTOR.index -> builder.timedMetadataBehavior = deserializeString().let { M2TsTimedMetadataBehavior.fromValue(it) }
                TIMEDMETADATAPID_DESCRIPTOR.index -> builder.timedMetadataPid = deserializeString()
                TRANSPORTSTREAMID_DESCRIPTOR.index -> builder.transportStreamId = deserializeInt()
                VIDEOPID_DESCRIPTOR.index -> builder.videoPid = deserializeString()
                null -> break@loop
                else -> skipValue()
            }
        }
    }
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy