
commonMain.aws.sdk.kotlin.services.medialive.model.M2TsSettings.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.medialive.model
/**
* M2ts Settings
*/
public class M2TsSettings private constructor(builder: Builder) {
/**
* When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream.
*/
public val absentInputAudioBehavior: aws.sdk.kotlin.services.medialive.model.M2TsAbsentInputAudioBehavior? = builder.absentInputAudioBehavior
/**
* When set to enabled, uses ARIB-compliant field muxing and removes video descriptor.
*/
public val arib: aws.sdk.kotlin.services.medialive.model.M2TsArib? = builder.arib
/**
* Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val aribCaptionsPid: kotlin.String? = builder.aribCaptionsPid
/**
* If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number.
*/
public val aribCaptionsPidControl: aws.sdk.kotlin.services.medialive.model.M2TsAribCaptionsPidControl? = builder.aribCaptionsPidControl
/**
* When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used.
*/
public val audioBufferModel: aws.sdk.kotlin.services.medialive.model.M2TsAudioBufferModel? = builder.audioBufferModel
/**
* The number of audio frames to insert for each PES packet.
*/
public val audioFramesPerPes: kotlin.Int = builder.audioFramesPerPes
/**
* Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val audioPids: kotlin.String? = builder.audioPids
/**
* When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06.
*/
public val audioStreamType: aws.sdk.kotlin.services.medialive.model.M2TsAudioStreamType? = builder.audioStreamType
/**
* The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate.
*/
public val bitrate: kotlin.Int = builder.bitrate
/**
* Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to ensure accurate network packet timing. Or set to NONE, which might result in lower latency but will result in more variability in output network packet timing. This variability might cause interruptions, jitter, or bursty behavior in your playback or receiving devices.
*/
public val bufferModel: aws.sdk.kotlin.services.medialive.model.M2TsBufferModel? = builder.bufferModel
/**
* When set to enabled, generates captionServiceDescriptor in PMT.
*/
public val ccDescriptor: aws.sdk.kotlin.services.medialive.model.M2TsCcDescriptor? = builder.ccDescriptor
/**
* Inserts DVB Network Information Table (NIT) at the specified table repetition interval.
*/
public val dvbNitSettings: aws.sdk.kotlin.services.medialive.model.DvbNitSettings? = builder.dvbNitSettings
/**
* Inserts DVB Service Description Table (SDT) at the specified table repetition interval.
*/
public val dvbSdtSettings: aws.sdk.kotlin.services.medialive.model.DvbSdtSettings? = builder.dvbSdtSettings
/**
* Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val dvbSubPids: kotlin.String? = builder.dvbSubPids
/**
* Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.
*/
public val dvbTdtSettings: aws.sdk.kotlin.services.medialive.model.DvbTdtSettings? = builder.dvbTdtSettings
/**
* Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val dvbTeletextPid: kotlin.String? = builder.dvbTeletextPid
/**
* If set to passthrough, passes any EBIF data from the input source to this output.
*/
public val ebif: aws.sdk.kotlin.services.medialive.model.M2TsEbifControl? = builder.ebif
/**
* When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval.
*/
public val ebpAudioInterval: aws.sdk.kotlin.services.medialive.model.M2TsAudioInterval? = builder.ebpAudioInterval
/**
* When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is "stretched" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate.
*/
public val ebpLookaheadMs: kotlin.Int = builder.ebpLookaheadMs
/**
* Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID.
*/
public val ebpPlacement: aws.sdk.kotlin.services.medialive.model.M2TsEbpPlacement? = builder.ebpPlacement
/**
* This field is unused and deprecated.
*/
public val ecmPid: kotlin.String? = builder.ecmPid
/**
* Include or exclude the ES Rate field in the PES header.
*/
public val esRateInPes: aws.sdk.kotlin.services.medialive.model.M2TsEsRateInPes? = builder.esRateInPes
/**
* Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val etvPlatformPid: kotlin.String? = builder.etvPlatformPid
/**
* Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val etvSignalPid: kotlin.String? = builder.etvSignalPid
/**
* The length in seconds of each fragment. Only used with EBP markers.
*/
public val fragmentTime: kotlin.Double = builder.fragmentTime
/**
* If set to passthrough, passes any KLV data from the input source to this output.
*/
public val klv: aws.sdk.kotlin.services.medialive.model.M2TsKlv? = builder.klv
/**
* Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val klvDataPids: kotlin.String? = builder.klvDataPids
/**
* If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.
*/
public val nielsenId3Behavior: aws.sdk.kotlin.services.medialive.model.M2TsNielsenId3Behavior? = builder.nielsenId3Behavior
/**
* Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets.
*/
public val nullPacketBitrate: kotlin.Double = builder.nullPacketBitrate
/**
* The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.
*/
public val patInterval: kotlin.Int = builder.patInterval
/**
* When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream.
*/
public val pcrControl: aws.sdk.kotlin.services.medialive.model.M2TsPcrControl? = builder.pcrControl
/**
* Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.
*/
public val pcrPeriod: kotlin.Int = builder.pcrPeriod
/**
* Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val pcrPid: kotlin.String? = builder.pcrPid
/**
* The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.
*/
public val pmtInterval: kotlin.Int = builder.pmtInterval
/**
* Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val pmtPid: kotlin.String? = builder.pmtPid
/**
* The value of the program number field in the Program Map Table.
*/
public val programNum: kotlin.Int = builder.programNum
/**
* When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set.
*/
public val rateMode: aws.sdk.kotlin.services.medialive.model.M2TsRateMode? = builder.rateMode
/**
* Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val scte27Pids: kotlin.String? = builder.scte27Pids
/**
* Optionally pass SCTE-35 signals from the input source to this output.
*/
public val scte35Control: aws.sdk.kotlin.services.medialive.model.M2TsScte35Control? = builder.scte35Control
/**
* Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val scte35Pid: kotlin.String? = builder.scte35Pid
/**
* Defines the amount SCTE-35 preroll will be increased (in milliseconds) on the output. Preroll is the amount of time between the presence of a SCTE-35 indication in a transport stream and the PTS of the video frame it references. Zero means don't add pullup (it doesn't mean set the preroll to zero). Negative pullup is not supported, which means that you can't make the preroll shorter. Be aware that latency in the output will increase by the pullup amount.
*/
public val scte35PrerollPullupMilliseconds: kotlin.Double = builder.scte35PrerollPullupMilliseconds
/**
* Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format.
*/
public val segmentationMarkers: aws.sdk.kotlin.services.medialive.model.M2TsSegmentationMarkers? = builder.segmentationMarkers
/**
* The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of "resetCadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. When a segmentation style of "maintainCadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule.
*/
public val segmentationStyle: aws.sdk.kotlin.services.medialive.model.M2TsSegmentationStyle? = builder.segmentationStyle
/**
* The length in seconds of each segment. Required unless markers is set to _none_.
*/
public val segmentationTime: kotlin.Double = builder.segmentationTime
/**
* When set to passthrough, timed metadata will be passed through from input to output.
*/
public val timedMetadataBehavior: aws.sdk.kotlin.services.medialive.model.M2TsTimedMetadataBehavior? = builder.timedMetadataBehavior
/**
* Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val timedMetadataPid: kotlin.String? = builder.timedMetadataPid
/**
* The value of the transport stream ID field in the Program Map Table.
*/
public val transportStreamId: kotlin.Int = builder.transportStreamId
/**
* Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public val videoPid: kotlin.String? = builder.videoPid
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.M2TsSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("M2TsSettings(")
append("absentInputAudioBehavior=$absentInputAudioBehavior,")
append("arib=$arib,")
append("aribCaptionsPid=$aribCaptionsPid,")
append("aribCaptionsPidControl=$aribCaptionsPidControl,")
append("audioBufferModel=$audioBufferModel,")
append("audioFramesPerPes=$audioFramesPerPes,")
append("audioPids=$audioPids,")
append("audioStreamType=$audioStreamType,")
append("bitrate=$bitrate,")
append("bufferModel=$bufferModel,")
append("ccDescriptor=$ccDescriptor,")
append("dvbNitSettings=$dvbNitSettings,")
append("dvbSdtSettings=$dvbSdtSettings,")
append("dvbSubPids=$dvbSubPids,")
append("dvbTdtSettings=$dvbTdtSettings,")
append("dvbTeletextPid=$dvbTeletextPid,")
append("ebif=$ebif,")
append("ebpAudioInterval=$ebpAudioInterval,")
append("ebpLookaheadMs=$ebpLookaheadMs,")
append("ebpPlacement=$ebpPlacement,")
append("ecmPid=$ecmPid,")
append("esRateInPes=$esRateInPes,")
append("etvPlatformPid=$etvPlatformPid,")
append("etvSignalPid=$etvSignalPid,")
append("fragmentTime=$fragmentTime,")
append("klv=$klv,")
append("klvDataPids=$klvDataPids,")
append("nielsenId3Behavior=$nielsenId3Behavior,")
append("nullPacketBitrate=$nullPacketBitrate,")
append("patInterval=$patInterval,")
append("pcrControl=$pcrControl,")
append("pcrPeriod=$pcrPeriod,")
append("pcrPid=$pcrPid,")
append("pmtInterval=$pmtInterval,")
append("pmtPid=$pmtPid,")
append("programNum=$programNum,")
append("rateMode=$rateMode,")
append("scte27Pids=$scte27Pids,")
append("scte35Control=$scte35Control,")
append("scte35Pid=$scte35Pid,")
append("scte35PrerollPullupMilliseconds=$scte35PrerollPullupMilliseconds,")
append("segmentationMarkers=$segmentationMarkers,")
append("segmentationStyle=$segmentationStyle,")
append("segmentationTime=$segmentationTime,")
append("timedMetadataBehavior=$timedMetadataBehavior,")
append("timedMetadataPid=$timedMetadataPid,")
append("transportStreamId=$transportStreamId,")
append("videoPid=$videoPid")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = absentInputAudioBehavior?.hashCode() ?: 0
result = 31 * result + (arib?.hashCode() ?: 0)
result = 31 * result + (aribCaptionsPid?.hashCode() ?: 0)
result = 31 * result + (aribCaptionsPidControl?.hashCode() ?: 0)
result = 31 * result + (audioBufferModel?.hashCode() ?: 0)
result = 31 * result + (audioFramesPerPes)
result = 31 * result + (audioPids?.hashCode() ?: 0)
result = 31 * result + (audioStreamType?.hashCode() ?: 0)
result = 31 * result + (bitrate)
result = 31 * result + (bufferModel?.hashCode() ?: 0)
result = 31 * result + (ccDescriptor?.hashCode() ?: 0)
result = 31 * result + (dvbNitSettings?.hashCode() ?: 0)
result = 31 * result + (dvbSdtSettings?.hashCode() ?: 0)
result = 31 * result + (dvbSubPids?.hashCode() ?: 0)
result = 31 * result + (dvbTdtSettings?.hashCode() ?: 0)
result = 31 * result + (dvbTeletextPid?.hashCode() ?: 0)
result = 31 * result + (ebif?.hashCode() ?: 0)
result = 31 * result + (ebpAudioInterval?.hashCode() ?: 0)
result = 31 * result + (ebpLookaheadMs)
result = 31 * result + (ebpPlacement?.hashCode() ?: 0)
result = 31 * result + (ecmPid?.hashCode() ?: 0)
result = 31 * result + (esRateInPes?.hashCode() ?: 0)
result = 31 * result + (etvPlatformPid?.hashCode() ?: 0)
result = 31 * result + (etvSignalPid?.hashCode() ?: 0)
result = 31 * result + (fragmentTime.hashCode())
result = 31 * result + (klv?.hashCode() ?: 0)
result = 31 * result + (klvDataPids?.hashCode() ?: 0)
result = 31 * result + (nielsenId3Behavior?.hashCode() ?: 0)
result = 31 * result + (nullPacketBitrate.hashCode())
result = 31 * result + (patInterval)
result = 31 * result + (pcrControl?.hashCode() ?: 0)
result = 31 * result + (pcrPeriod)
result = 31 * result + (pcrPid?.hashCode() ?: 0)
result = 31 * result + (pmtInterval)
result = 31 * result + (pmtPid?.hashCode() ?: 0)
result = 31 * result + (programNum)
result = 31 * result + (rateMode?.hashCode() ?: 0)
result = 31 * result + (scte27Pids?.hashCode() ?: 0)
result = 31 * result + (scte35Control?.hashCode() ?: 0)
result = 31 * result + (scte35Pid?.hashCode() ?: 0)
result = 31 * result + (scte35PrerollPullupMilliseconds.hashCode())
result = 31 * result + (segmentationMarkers?.hashCode() ?: 0)
result = 31 * result + (segmentationStyle?.hashCode() ?: 0)
result = 31 * result + (segmentationTime.hashCode())
result = 31 * result + (timedMetadataBehavior?.hashCode() ?: 0)
result = 31 * result + (timedMetadataPid?.hashCode() ?: 0)
result = 31 * result + (transportStreamId)
result = 31 * result + (videoPid?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as M2TsSettings
if (absentInputAudioBehavior != other.absentInputAudioBehavior) return false
if (arib != other.arib) return false
if (aribCaptionsPid != other.aribCaptionsPid) return false
if (aribCaptionsPidControl != other.aribCaptionsPidControl) return false
if (audioBufferModel != other.audioBufferModel) return false
if (audioFramesPerPes != other.audioFramesPerPes) return false
if (audioPids != other.audioPids) return false
if (audioStreamType != other.audioStreamType) return false
if (bitrate != other.bitrate) return false
if (bufferModel != other.bufferModel) return false
if (ccDescriptor != other.ccDescriptor) return false
if (dvbNitSettings != other.dvbNitSettings) return false
if (dvbSdtSettings != other.dvbSdtSettings) return false
if (dvbSubPids != other.dvbSubPids) return false
if (dvbTdtSettings != other.dvbTdtSettings) return false
if (dvbTeletextPid != other.dvbTeletextPid) return false
if (ebif != other.ebif) return false
if (ebpAudioInterval != other.ebpAudioInterval) return false
if (ebpLookaheadMs != other.ebpLookaheadMs) return false
if (ebpPlacement != other.ebpPlacement) return false
if (ecmPid != other.ecmPid) return false
if (esRateInPes != other.esRateInPes) return false
if (etvPlatformPid != other.etvPlatformPid) return false
if (etvSignalPid != other.etvSignalPid) return false
if (fragmentTime != other.fragmentTime) return false
if (klv != other.klv) return false
if (klvDataPids != other.klvDataPids) return false
if (nielsenId3Behavior != other.nielsenId3Behavior) return false
if (nullPacketBitrate != other.nullPacketBitrate) return false
if (patInterval != other.patInterval) return false
if (pcrControl != other.pcrControl) return false
if (pcrPeriod != other.pcrPeriod) return false
if (pcrPid != other.pcrPid) return false
if (pmtInterval != other.pmtInterval) return false
if (pmtPid != other.pmtPid) return false
if (programNum != other.programNum) return false
if (rateMode != other.rateMode) return false
if (scte27Pids != other.scte27Pids) return false
if (scte35Control != other.scte35Control) return false
if (scte35Pid != other.scte35Pid) return false
if (scte35PrerollPullupMilliseconds != other.scte35PrerollPullupMilliseconds) return false
if (segmentationMarkers != other.segmentationMarkers) return false
if (segmentationStyle != other.segmentationStyle) return false
if (segmentationTime != other.segmentationTime) return false
if (timedMetadataBehavior != other.timedMetadataBehavior) return false
if (timedMetadataPid != other.timedMetadataPid) return false
if (transportStreamId != other.transportStreamId) return false
if (videoPid != other.videoPid) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.M2TsSettings = Builder(this).apply(block).build()
public class Builder {
/**
* When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream.
*/
public var absentInputAudioBehavior: aws.sdk.kotlin.services.medialive.model.M2TsAbsentInputAudioBehavior? = null
/**
* When set to enabled, uses ARIB-compliant field muxing and removes video descriptor.
*/
public var arib: aws.sdk.kotlin.services.medialive.model.M2TsArib? = null
/**
* Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var aribCaptionsPid: kotlin.String? = null
/**
* If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number.
*/
public var aribCaptionsPidControl: aws.sdk.kotlin.services.medialive.model.M2TsAribCaptionsPidControl? = null
/**
* When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used.
*/
public var audioBufferModel: aws.sdk.kotlin.services.medialive.model.M2TsAudioBufferModel? = null
/**
* The number of audio frames to insert for each PES packet.
*/
public var audioFramesPerPes: kotlin.Int = 0
/**
* Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var audioPids: kotlin.String? = null
/**
* When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06.
*/
public var audioStreamType: aws.sdk.kotlin.services.medialive.model.M2TsAudioStreamType? = null
/**
* The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate.
*/
public var bitrate: kotlin.Int = 0
/**
* Controls the timing accuracy for output network traffic. Leave as MULTIPLEX to ensure accurate network packet timing. Or set to NONE, which might result in lower latency but will result in more variability in output network packet timing. This variability might cause interruptions, jitter, or bursty behavior in your playback or receiving devices.
*/
public var bufferModel: aws.sdk.kotlin.services.medialive.model.M2TsBufferModel? = null
/**
* When set to enabled, generates captionServiceDescriptor in PMT.
*/
public var ccDescriptor: aws.sdk.kotlin.services.medialive.model.M2TsCcDescriptor? = null
/**
* Inserts DVB Network Information Table (NIT) at the specified table repetition interval.
*/
public var dvbNitSettings: aws.sdk.kotlin.services.medialive.model.DvbNitSettings? = null
/**
* Inserts DVB Service Description Table (SDT) at the specified table repetition interval.
*/
public var dvbSdtSettings: aws.sdk.kotlin.services.medialive.model.DvbSdtSettings? = null
/**
* Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var dvbSubPids: kotlin.String? = null
/**
* Inserts DVB Time and Date Table (TDT) at the specified table repetition interval.
*/
public var dvbTdtSettings: aws.sdk.kotlin.services.medialive.model.DvbTdtSettings? = null
/**
* Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var dvbTeletextPid: kotlin.String? = null
/**
* If set to passthrough, passes any EBIF data from the input source to this output.
*/
public var ebif: aws.sdk.kotlin.services.medialive.model.M2TsEbifControl? = null
/**
* When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval.
*/
public var ebpAudioInterval: aws.sdk.kotlin.services.medialive.model.M2TsAudioInterval? = null
/**
* When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is "stretched" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate.
*/
public var ebpLookaheadMs: kotlin.Int = 0
/**
* Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID.
*/
public var ebpPlacement: aws.sdk.kotlin.services.medialive.model.M2TsEbpPlacement? = null
/**
* This field is unused and deprecated.
*/
public var ecmPid: kotlin.String? = null
/**
* Include or exclude the ES Rate field in the PES header.
*/
public var esRateInPes: aws.sdk.kotlin.services.medialive.model.M2TsEsRateInPes? = null
/**
* Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var etvPlatformPid: kotlin.String? = null
/**
* Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var etvSignalPid: kotlin.String? = null
/**
* The length in seconds of each fragment. Only used with EBP markers.
*/
public var fragmentTime: kotlin.Double = 0.0
/**
* If set to passthrough, passes any KLV data from the input source to this output.
*/
public var klv: aws.sdk.kotlin.services.medialive.model.M2TsKlv? = null
/**
* Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var klvDataPids: kotlin.String? = null
/**
* If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.
*/
public var nielsenId3Behavior: aws.sdk.kotlin.services.medialive.model.M2TsNielsenId3Behavior? = null
/**
* Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets.
*/
public var nullPacketBitrate: kotlin.Double = 0.0
/**
* The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.
*/
public var patInterval: kotlin.Int = 0
/**
* When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream.
*/
public var pcrControl: aws.sdk.kotlin.services.medialive.model.M2TsPcrControl? = null
/**
* Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream.
*/
public var pcrPeriod: kotlin.Int = 0
/**
* Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var pcrPid: kotlin.String? = null
/**
* The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000.
*/
public var pmtInterval: kotlin.Int = 0
/**
* Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var pmtPid: kotlin.String? = null
/**
* The value of the program number field in the Program Map Table.
*/
public var programNum: kotlin.Int = 0
/**
* When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set.
*/
public var rateMode: aws.sdk.kotlin.services.medialive.model.M2TsRateMode? = null
/**
* Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var scte27Pids: kotlin.String? = null
/**
* Optionally pass SCTE-35 signals from the input source to this output.
*/
public var scte35Control: aws.sdk.kotlin.services.medialive.model.M2TsScte35Control? = null
/**
* Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var scte35Pid: kotlin.String? = null
/**
* Defines the amount SCTE-35 preroll will be increased (in milliseconds) on the output. Preroll is the amount of time between the presence of a SCTE-35 indication in a transport stream and the PTS of the video frame it references. Zero means don't add pullup (it doesn't mean set the preroll to zero). Negative pullup is not supported, which means that you can't make the preroll shorter. Be aware that latency in the output will increase by the pullup amount.
*/
public var scte35PrerollPullupMilliseconds: kotlin.Double = 0.0
/**
* Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format.
*/
public var segmentationMarkers: aws.sdk.kotlin.services.medialive.model.M2TsSegmentationMarkers? = null
/**
* The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of "resetCadence" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds. When a segmentation style of "maintainCadence" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule.
*/
public var segmentationStyle: aws.sdk.kotlin.services.medialive.model.M2TsSegmentationStyle? = null
/**
* The length in seconds of each segment. Required unless markers is set to _none_.
*/
public var segmentationTime: kotlin.Double = 0.0
/**
* When set to passthrough, timed metadata will be passed through from input to output.
*/
public var timedMetadataBehavior: aws.sdk.kotlin.services.medialive.model.M2TsTimedMetadataBehavior? = null
/**
* Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var timedMetadataPid: kotlin.String? = null
/**
* The value of the transport stream ID field in the Program Map Table.
*/
public var transportStreamId: kotlin.Int = 0
/**
* Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
*/
public var videoPid: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.medialive.model.M2TsSettings) : this() {
this.absentInputAudioBehavior = x.absentInputAudioBehavior
this.arib = x.arib
this.aribCaptionsPid = x.aribCaptionsPid
this.aribCaptionsPidControl = x.aribCaptionsPidControl
this.audioBufferModel = x.audioBufferModel
this.audioFramesPerPes = x.audioFramesPerPes
this.audioPids = x.audioPids
this.audioStreamType = x.audioStreamType
this.bitrate = x.bitrate
this.bufferModel = x.bufferModel
this.ccDescriptor = x.ccDescriptor
this.dvbNitSettings = x.dvbNitSettings
this.dvbSdtSettings = x.dvbSdtSettings
this.dvbSubPids = x.dvbSubPids
this.dvbTdtSettings = x.dvbTdtSettings
this.dvbTeletextPid = x.dvbTeletextPid
this.ebif = x.ebif
this.ebpAudioInterval = x.ebpAudioInterval
this.ebpLookaheadMs = x.ebpLookaheadMs
this.ebpPlacement = x.ebpPlacement
this.ecmPid = x.ecmPid
this.esRateInPes = x.esRateInPes
this.etvPlatformPid = x.etvPlatformPid
this.etvSignalPid = x.etvSignalPid
this.fragmentTime = x.fragmentTime
this.klv = x.klv
this.klvDataPids = x.klvDataPids
this.nielsenId3Behavior = x.nielsenId3Behavior
this.nullPacketBitrate = x.nullPacketBitrate
this.patInterval = x.patInterval
this.pcrControl = x.pcrControl
this.pcrPeriod = x.pcrPeriod
this.pcrPid = x.pcrPid
this.pmtInterval = x.pmtInterval
this.pmtPid = x.pmtPid
this.programNum = x.programNum
this.rateMode = x.rateMode
this.scte27Pids = x.scte27Pids
this.scte35Control = x.scte35Control
this.scte35Pid = x.scte35Pid
this.scte35PrerollPullupMilliseconds = x.scte35PrerollPullupMilliseconds
this.segmentationMarkers = x.segmentationMarkers
this.segmentationStyle = x.segmentationStyle
this.segmentationTime = x.segmentationTime
this.timedMetadataBehavior = x.timedMetadataBehavior
this.timedMetadataPid = x.timedMetadataPid
this.transportStreamId = x.transportStreamId
this.videoPid = x.videoPid
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.medialive.model.M2TsSettings = M2TsSettings(this)
/**
* construct an [aws.sdk.kotlin.services.medialive.model.DvbNitSettings] inside the given [block]
*/
public fun dvbNitSettings(block: aws.sdk.kotlin.services.medialive.model.DvbNitSettings.Builder.() -> kotlin.Unit) {
this.dvbNitSettings = aws.sdk.kotlin.services.medialive.model.DvbNitSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.DvbSdtSettings] inside the given [block]
*/
public fun dvbSdtSettings(block: aws.sdk.kotlin.services.medialive.model.DvbSdtSettings.Builder.() -> kotlin.Unit) {
this.dvbSdtSettings = aws.sdk.kotlin.services.medialive.model.DvbSdtSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.medialive.model.DvbTdtSettings] inside the given [block]
*/
public fun dvbTdtSettings(block: aws.sdk.kotlin.services.medialive.model.DvbTdtSettings.Builder.() -> kotlin.Unit) {
this.dvbTdtSettings = aws.sdk.kotlin.services.medialive.model.DvbTdtSettings.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy