in service/mediaconvert/deserializers.go [15148:15630]
func awsRestjson1_deserializeDocumentM2tsSettings(v **types.M2tsSettings, value interface{}) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
if value == nil {
return nil
}
shape, ok := value.(map[string]interface{})
if !ok {
return fmt.Errorf("unexpected JSON type %v", value)
}
var sv *types.M2tsSettings
if *v == nil {
sv = &types.M2tsSettings{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "audioBufferModel":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsAudioBufferModel to be of type string, got %T instead", value)
}
sv.AudioBufferModel = types.M2tsAudioBufferModel(jtv)
}
case "audioDuration":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsAudioDuration to be of type string, got %T instead", value)
}
sv.AudioDuration = types.M2tsAudioDuration(jtv)
}
case "audioFramesPerPes":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max2147483647 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.AudioFramesPerPes = int32(i64)
}
case "audioPids":
if err := awsRestjson1_deserializeDocument__listOf__integerMin32Max8182(&sv.AudioPids, value); err != nil {
return err
}
case "bitrate":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max2147483647 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.Bitrate = int32(i64)
}
case "bufferModel":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsBufferModel to be of type string, got %T instead", value)
}
sv.BufferModel = types.M2tsBufferModel(jtv)
}
case "dataPTSControl":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsDataPtsControl to be of type string, got %T instead", value)
}
sv.DataPTSControl = types.M2tsDataPtsControl(jtv)
}
case "dvbNitSettings":
if err := awsRestjson1_deserializeDocumentDvbNitSettings(&sv.DvbNitSettings, value); err != nil {
return err
}
case "dvbSdtSettings":
if err := awsRestjson1_deserializeDocumentDvbSdtSettings(&sv.DvbSdtSettings, value); err != nil {
return err
}
case "dvbSubPids":
if err := awsRestjson1_deserializeDocument__listOf__integerMin32Max8182(&sv.DvbSubPids, value); err != nil {
return err
}
case "dvbTdtSettings":
if err := awsRestjson1_deserializeDocumentDvbTdtSettings(&sv.DvbTdtSettings, value); err != nil {
return err
}
case "dvbTeletextPid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.DvbTeletextPid = int32(i64)
}
case "ebpAudioInterval":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsEbpAudioInterval to be of type string, got %T instead", value)
}
sv.EbpAudioInterval = types.M2tsEbpAudioInterval(jtv)
}
case "ebpPlacement":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsEbpPlacement to be of type string, got %T instead", value)
}
sv.EbpPlacement = types.M2tsEbpPlacement(jtv)
}
case "esRateInPes":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsEsRateInPes to be of type string, got %T instead", value)
}
sv.EsRateInPes = types.M2tsEsRateInPes(jtv)
}
case "forceTsVideoEbpOrder":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsForceTsVideoEbpOrder to be of type string, got %T instead", value)
}
sv.ForceTsVideoEbpOrder = types.M2tsForceTsVideoEbpOrder(jtv)
}
case "fragmentTime":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.FragmentTime = f64
case string:
var f64 float64
switch {
case strings.EqualFold(jtv, "NaN"):
f64 = math.NaN()
case strings.EqualFold(jtv, "Infinity"):
f64 = math.Inf(1)
case strings.EqualFold(jtv, "-Infinity"):
f64 = math.Inf(-1)
default:
return fmt.Errorf("unknown JSON number value: %s", jtv)
}
sv.FragmentTime = f64
default:
return fmt.Errorf("expected __doubleMin0 to be a JSON Number, got %T instead", value)
}
}
case "maxPcrInterval":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max500 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.MaxPcrInterval = int32(i64)
}
case "minEbpInterval":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max10000 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.MinEbpInterval = int32(i64)
}
case "nielsenId3":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsNielsenId3 to be of type string, got %T instead", value)
}
sv.NielsenId3 = types.M2tsNielsenId3(jtv)
}
case "nullPacketBitrate":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.NullPacketBitrate = f64
case string:
var f64 float64
switch {
case strings.EqualFold(jtv, "NaN"):
f64 = math.NaN()
case strings.EqualFold(jtv, "Infinity"):
f64 = math.Inf(1)
case strings.EqualFold(jtv, "-Infinity"):
f64 = math.Inf(-1)
default:
return fmt.Errorf("unknown JSON number value: %s", jtv)
}
sv.NullPacketBitrate = f64
default:
return fmt.Errorf("expected __doubleMin0 to be a JSON Number, got %T instead", value)
}
}
case "patInterval":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max1000 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.PatInterval = int32(i64)
}
case "pcrControl":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsPcrControl to be of type string, got %T instead", value)
}
sv.PcrControl = types.M2tsPcrControl(jtv)
}
case "pcrPid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.PcrPid = int32(i64)
}
case "pmtInterval":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max1000 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.PmtInterval = int32(i64)
}
case "pmtPid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.PmtPid = int32(i64)
}
case "privateMetadataPid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.PrivateMetadataPid = int32(i64)
}
case "programNumber":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max65535 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ProgramNumber = int32(i64)
}
case "rateMode":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsRateMode to be of type string, got %T instead", value)
}
sv.RateMode = types.M2tsRateMode(jtv)
}
case "scte35Esam":
if err := awsRestjson1_deserializeDocumentM2tsScte35Esam(&sv.Scte35Esam, value); err != nil {
return err
}
case "scte35Pid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.Scte35Pid = int32(i64)
}
case "scte35Source":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsScte35Source to be of type string, got %T instead", value)
}
sv.Scte35Source = types.M2tsScte35Source(jtv)
}
case "segmentationMarkers":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsSegmentationMarkers to be of type string, got %T instead", value)
}
sv.SegmentationMarkers = types.M2tsSegmentationMarkers(jtv)
}
case "segmentationStyle":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected M2tsSegmentationStyle to be of type string, got %T instead", value)
}
sv.SegmentationStyle = types.M2tsSegmentationStyle(jtv)
}
case "segmentationTime":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.SegmentationTime = f64
case string:
var f64 float64
switch {
case strings.EqualFold(jtv, "NaN"):
f64 = math.NaN()
case strings.EqualFold(jtv, "Infinity"):
f64 = math.Inf(1)
case strings.EqualFold(jtv, "-Infinity"):
f64 = math.Inf(-1)
default:
return fmt.Errorf("unknown JSON number value: %s", jtv)
}
sv.SegmentationTime = f64
default:
return fmt.Errorf("expected __doubleMin0 to be a JSON Number, got %T instead", value)
}
}
case "timedMetadataPid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.TimedMetadataPid = int32(i64)
}
case "transportStreamId":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin0Max65535 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.TransportStreamId = int32(i64)
}
case "videoPid":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected __integerMin32Max8182 to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.VideoPid = int32(i64)
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}