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

commonMain.aws.sdk.kotlin.services.medialive.transform.M3U8SettingsDocumentSerializer.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.M3U8Settings
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.Serializer
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 serializeM3U8SettingsDocument(serializer: Serializer, input: M3U8Settings) {
    val AUDIOFRAMESPERPES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("audioFramesPerPes"))
    val AUDIOPIDS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("audioPids"))
    val ECMPID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("ecmPid"))
    val NIELSENID3BEHAVIOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("nielsenId3Behavior"))
    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 SCTE35BEHAVIOR_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Enum, JsonSerialName("scte35Behavior"))
    val SCTE35PID_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("scte35Pid"))
    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(AUDIOFRAMESPERPES_DESCRIPTOR)
        field(AUDIOPIDS_DESCRIPTOR)
        field(ECMPID_DESCRIPTOR)
        field(NIELSENID3BEHAVIOR_DESCRIPTOR)
        field(PATINTERVAL_DESCRIPTOR)
        field(PCRCONTROL_DESCRIPTOR)
        field(PCRPERIOD_DESCRIPTOR)
        field(PCRPID_DESCRIPTOR)
        field(PMTINTERVAL_DESCRIPTOR)
        field(PMTPID_DESCRIPTOR)
        field(PROGRAMNUM_DESCRIPTOR)
        field(SCTE35BEHAVIOR_DESCRIPTOR)
        field(SCTE35PID_DESCRIPTOR)
        field(TIMEDMETADATABEHAVIOR_DESCRIPTOR)
        field(TIMEDMETADATAPID_DESCRIPTOR)
        field(TRANSPORTSTREAMID_DESCRIPTOR)
        field(VIDEOPID_DESCRIPTOR)
    }

    serializer.serializeStruct(OBJ_DESCRIPTOR) {
        if (input.audioFramesPerPes != 0) field(AUDIOFRAMESPERPES_DESCRIPTOR, input.audioFramesPerPes)
        input.audioPids?.let { field(AUDIOPIDS_DESCRIPTOR, it) }
        input.ecmPid?.let { field(ECMPID_DESCRIPTOR, it) }
        input.nielsenId3Behavior?.let { field(NIELSENID3BEHAVIOR_DESCRIPTOR, it.value) }
        if (input.patInterval != 0) field(PATINTERVAL_DESCRIPTOR, input.patInterval)
        input.pcrControl?.let { field(PCRCONTROL_DESCRIPTOR, it.value) }
        if (input.pcrPeriod != 0) field(PCRPERIOD_DESCRIPTOR, input.pcrPeriod)
        input.pcrPid?.let { field(PCRPID_DESCRIPTOR, it) }
        if (input.pmtInterval != 0) field(PMTINTERVAL_DESCRIPTOR, input.pmtInterval)
        input.pmtPid?.let { field(PMTPID_DESCRIPTOR, it) }
        if (input.programNum != 0) field(PROGRAMNUM_DESCRIPTOR, input.programNum)
        input.scte35Behavior?.let { field(SCTE35BEHAVIOR_DESCRIPTOR, it.value) }
        input.scte35Pid?.let { field(SCTE35PID_DESCRIPTOR, it) }
        input.timedMetadataBehavior?.let { field(TIMEDMETADATABEHAVIOR_DESCRIPTOR, it.value) }
        input.timedMetadataPid?.let { field(TIMEDMETADATAPID_DESCRIPTOR, it) }
        if (input.transportStreamId != 0) field(TRANSPORTSTREAMID_DESCRIPTOR, input.transportStreamId)
        input.videoPid?.let { field(VIDEOPID_DESCRIPTOR, it) }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy