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

commonMain.aws.sdk.kotlin.services.medialive.model.M3U8Settings.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.medialive.model



/**
 * Settings information for the .m3u8 container
 */
public class M3U8Settings private constructor(builder: Builder) {
    /**
     * 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.
     */
    public val audioPids: kotlin.String? = builder.audioPids
    /**
     * This parameter is unused and deprecated.
     */
    public val ecmPid: kotlin.String? = builder.ecmPid
    /**
     * 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.M3U8NielsenId3Behavior? = builder.nielsenId3Behavior
    /**
     * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file.
     */
    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.M3U8PcrControl? = builder.pcrControl
    /**
     * Maximum time in milliseconds between Program Clock References (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.
     */
    public val pcrPid: kotlin.String? = builder.pcrPid
    /**
     * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file.
     */
    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.
     */
    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
    /**
     * If set to passthrough, passes any SCTE-35 signals from the input source to this output.
     */
    public val scte35Behavior: aws.sdk.kotlin.services.medialive.model.M3U8Scte35Behavior? = builder.scte35Behavior
    /**
     * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value.
     */
    public val scte35Pid: kotlin.String? = builder.scte35Pid
    /**
     * When set to passthrough, timed metadata is passed through from input to output.
     */
    public val timedMetadataBehavior: aws.sdk.kotlin.services.medialive.model.M3U8TimedMetadataBehavior? = 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.
     */
    public val videoPid: kotlin.String? = builder.videoPid

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.medialive.model.M3U8Settings = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("M3U8Settings(")
        append("audioFramesPerPes=$audioFramesPerPes,")
        append("audioPids=$audioPids,")
        append("ecmPid=$ecmPid,")
        append("nielsenId3Behavior=$nielsenId3Behavior,")
        append("patInterval=$patInterval,")
        append("pcrControl=$pcrControl,")
        append("pcrPeriod=$pcrPeriod,")
        append("pcrPid=$pcrPid,")
        append("pmtInterval=$pmtInterval,")
        append("pmtPid=$pmtPid,")
        append("programNum=$programNum,")
        append("scte35Behavior=$scte35Behavior,")
        append("scte35Pid=$scte35Pid,")
        append("timedMetadataBehavior=$timedMetadataBehavior,")
        append("timedMetadataPid=$timedMetadataPid,")
        append("transportStreamId=$transportStreamId,")
        append("videoPid=$videoPid")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = audioFramesPerPes
        result = 31 * result + (audioPids?.hashCode() ?: 0)
        result = 31 * result + (ecmPid?.hashCode() ?: 0)
        result = 31 * result + (nielsenId3Behavior?.hashCode() ?: 0)
        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 + (scte35Behavior?.hashCode() ?: 0)
        result = 31 * result + (scte35Pid?.hashCode() ?: 0)
        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 M3U8Settings

        if (audioFramesPerPes != other.audioFramesPerPes) return false
        if (audioPids != other.audioPids) return false
        if (ecmPid != other.ecmPid) return false
        if (nielsenId3Behavior != other.nielsenId3Behavior) 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 (scte35Behavior != other.scte35Behavior) return false
        if (scte35Pid != other.scte35Pid) 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.M3U8Settings = Builder(this).apply(block).build()

    public class Builder {
        /**
         * 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.
         */
        public var audioPids: kotlin.String? = null
        /**
         * This parameter is unused and deprecated.
         */
        public var ecmPid: 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.M3U8NielsenId3Behavior? = null
        /**
         * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file.
         */
        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.M3U8PcrControl? = null
        /**
         * Maximum time in milliseconds between Program Clock References (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.
         */
        public var pcrPid: kotlin.String? = null
        /**
         * The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file.
         */
        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.
         */
        public var pmtPid: kotlin.String? = null
        /**
         * The value of the program number field in the Program Map Table.
         */
        public var programNum: kotlin.Int = 0
        /**
         * If set to passthrough, passes any SCTE-35 signals from the input source to this output.
         */
        public var scte35Behavior: aws.sdk.kotlin.services.medialive.model.M3U8Scte35Behavior? = null
        /**
         * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value.
         */
        public var scte35Pid: kotlin.String? = null
        /**
         * When set to passthrough, timed metadata is passed through from input to output.
         */
        public var timedMetadataBehavior: aws.sdk.kotlin.services.medialive.model.M3U8TimedMetadataBehavior? = 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.
         */
        public var videoPid: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.M3U8Settings) : this() {
            this.audioFramesPerPes = x.audioFramesPerPes
            this.audioPids = x.audioPids
            this.ecmPid = x.ecmPid
            this.nielsenId3Behavior = x.nielsenId3Behavior
            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.scte35Behavior = x.scte35Behavior
            this.scte35Pid = x.scte35Pid
            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.M3U8Settings = M3U8Settings(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy