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

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

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

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



/**
 * Audio Only Hls Settings
 */
public class AudioOnlyHlsSettings private constructor(builder: Builder) {
    /**
     * Specifies the group to which the audio Rendition belongs.
     */
    public val audioGroupId: kotlin.String? = builder.audioGroupId
    /**
     * Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low bit-size file because the image increases the output audio bandwidth. The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native Frames" standard.
     */
    public val audioOnlyImage: aws.sdk.kotlin.services.medialive.model.InputLocation? = builder.audioOnlyImage
    /**
     * Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
     */
    public val audioTrackType: aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsTrackType? = builder.audioTrackType
    /**
     * Specifies the segment type.
     */
    public val segmentType: aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsSegmentType? = builder.segmentType

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

    override fun toString(): kotlin.String = buildString {
        append("AudioOnlyHlsSettings(")
        append("audioGroupId=$audioGroupId,")
        append("audioOnlyImage=$audioOnlyImage,")
        append("audioTrackType=$audioTrackType,")
        append("segmentType=$segmentType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = audioGroupId?.hashCode() ?: 0
        result = 31 * result + (audioOnlyImage?.hashCode() ?: 0)
        result = 31 * result + (audioTrackType?.hashCode() ?: 0)
        result = 31 * result + (segmentType?.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 AudioOnlyHlsSettings

        if (audioGroupId != other.audioGroupId) return false
        if (audioOnlyImage != other.audioOnlyImage) return false
        if (audioTrackType != other.audioTrackType) return false
        if (segmentType != other.segmentType) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsSettings = Builder(this).apply(block).build()

    public class Builder {
        /**
         * Specifies the group to which the audio Rendition belongs.
         */
        public var audioGroupId: kotlin.String? = null
        /**
         * Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low bit-size file because the image increases the output audio bandwidth. The image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native Frames" standard.
         */
        public var audioOnlyImage: aws.sdk.kotlin.services.medialive.model.InputLocation? = null
        /**
         * Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO
         */
        public var audioTrackType: aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsTrackType? = null
        /**
         * Specifies the segment type.
         */
        public var segmentType: aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsSegmentType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsSettings) : this() {
            this.audioGroupId = x.audioGroupId
            this.audioOnlyImage = x.audioOnlyImage
            this.audioTrackType = x.audioTrackType
            this.segmentType = x.segmentType
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.medialive.model.AudioOnlyHlsSettings = AudioOnlyHlsSettings(this)

        /**
         * construct an [aws.sdk.kotlin.services.medialive.model.InputLocation] inside the given [block]
         */
        public fun audioOnlyImage(block: aws.sdk.kotlin.services.medialive.model.InputLocation.Builder.() -> kotlin.Unit) {
            this.audioOnlyImage = aws.sdk.kotlin.services.medialive.model.InputLocation.invoke(block)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy