commonMain.aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mediaconvert-jvm Show documentation
Show all versions of mediaconvert-jvm Show documentation
The AWS SDK for Kotlin client for MediaConvert
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.mediaconvert.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file, specify the URI of the input captions source file. If your input captions are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
*/
public class CaptionSourceSettings private constructor(builder: Builder) {
/**
* Settings for ancillary captions source.
*/
public val ancillarySourceSettings: aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings? = builder.ancillarySourceSettings
/**
* DVB Sub Source Settings
*/
public val dvbSubSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings? = builder.dvbSubSourceSettings
/**
* Settings for embedded captions Source
*/
public val embeddedSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings? = builder.embeddedSourceSettings
/**
* If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
*/
public val fileSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings? = builder.fileSourceSettings
/**
* Use Source to identify the format of your input captions. The service cannot auto-detect caption format.
*/
public val sourceType: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceType? = builder.sourceType
/**
* Settings specific to Teletext caption sources, including Page number.
*/
public val teletextSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings? = builder.teletextSourceSettings
/**
* Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings.
*/
public val trackSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings? = builder.trackSourceSettings
/**
* Settings specific to WebVTT sources in HLS alternative rendition group. Specify the properties (renditionGroupId, renditionName or renditionLanguageCode) to identify the unique subtitle track among the alternative rendition groups present in the HLS manifest. If no unique track is found, or multiple tracks match the specified properties, the job fails. If there is only one subtitle track in the rendition group, the settings can be left empty and the default subtitle track will be chosen. If your caption source is a sidecar file, use FileSourceSettings instead of WebvttHlsSourceSettings.
*/
public val webvttHlsSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings? = builder.webvttHlsSourceSettings
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CaptionSourceSettings(")
append("ancillarySourceSettings=$ancillarySourceSettings,")
append("dvbSubSourceSettings=$dvbSubSourceSettings,")
append("embeddedSourceSettings=$embeddedSourceSettings,")
append("fileSourceSettings=$fileSourceSettings,")
append("sourceType=$sourceType,")
append("teletextSourceSettings=$teletextSourceSettings,")
append("trackSourceSettings=$trackSourceSettings,")
append("webvttHlsSourceSettings=$webvttHlsSourceSettings")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = ancillarySourceSettings?.hashCode() ?: 0
result = 31 * result + (dvbSubSourceSettings?.hashCode() ?: 0)
result = 31 * result + (embeddedSourceSettings?.hashCode() ?: 0)
result = 31 * result + (fileSourceSettings?.hashCode() ?: 0)
result = 31 * result + (sourceType?.hashCode() ?: 0)
result = 31 * result + (teletextSourceSettings?.hashCode() ?: 0)
result = 31 * result + (trackSourceSettings?.hashCode() ?: 0)
result = 31 * result + (webvttHlsSourceSettings?.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 CaptionSourceSettings
if (ancillarySourceSettings != other.ancillarySourceSettings) return false
if (dvbSubSourceSettings != other.dvbSubSourceSettings) return false
if (embeddedSourceSettings != other.embeddedSourceSettings) return false
if (fileSourceSettings != other.fileSourceSettings) return false
if (sourceType != other.sourceType) return false
if (teletextSourceSettings != other.teletextSourceSettings) return false
if (trackSourceSettings != other.trackSourceSettings) return false
if (webvttHlsSourceSettings != other.webvttHlsSourceSettings) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Settings for ancillary captions source.
*/
public var ancillarySourceSettings: aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings? = null
/**
* DVB Sub Source Settings
*/
public var dvbSubSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings? = null
/**
* Settings for embedded captions Source
*/
public var embeddedSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings? = null
/**
* If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.
*/
public var fileSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings? = null
/**
* Use Source to identify the format of your input captions. The service cannot auto-detect caption format.
*/
public var sourceType: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceType? = null
/**
* Settings specific to Teletext caption sources, including Page number.
*/
public var teletextSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings? = null
/**
* Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings.
*/
public var trackSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings? = null
/**
* Settings specific to WebVTT sources in HLS alternative rendition group. Specify the properties (renditionGroupId, renditionName or renditionLanguageCode) to identify the unique subtitle track among the alternative rendition groups present in the HLS manifest. If no unique track is found, or multiple tracks match the specified properties, the job fails. If there is only one subtitle track in the rendition group, the settings can be left empty and the default subtitle track will be chosen. If your caption source is a sidecar file, use FileSourceSettings instead of WebvttHlsSourceSettings.
*/
public var webvttHlsSourceSettings: aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings) : this() {
this.ancillarySourceSettings = x.ancillarySourceSettings
this.dvbSubSourceSettings = x.dvbSubSourceSettings
this.embeddedSourceSettings = x.embeddedSourceSettings
this.fileSourceSettings = x.fileSourceSettings
this.sourceType = x.sourceType
this.teletextSourceSettings = x.teletextSourceSettings
this.trackSourceSettings = x.trackSourceSettings
this.webvttHlsSourceSettings = x.webvttHlsSourceSettings
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.CaptionSourceSettings = CaptionSourceSettings(this)
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings] inside the given [block]
*/
public fun ancillarySourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings.Builder.() -> kotlin.Unit) {
this.ancillarySourceSettings = aws.sdk.kotlin.services.mediaconvert.model.AncillarySourceSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings] inside the given [block]
*/
public fun dvbSubSourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings.Builder.() -> kotlin.Unit) {
this.dvbSubSourceSettings = aws.sdk.kotlin.services.mediaconvert.model.DvbSubSourceSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings] inside the given [block]
*/
public fun embeddedSourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings.Builder.() -> kotlin.Unit) {
this.embeddedSourceSettings = aws.sdk.kotlin.services.mediaconvert.model.EmbeddedSourceSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings] inside the given [block]
*/
public fun fileSourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings.Builder.() -> kotlin.Unit) {
this.fileSourceSettings = aws.sdk.kotlin.services.mediaconvert.model.FileSourceSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings] inside the given [block]
*/
public fun teletextSourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings.Builder.() -> kotlin.Unit) {
this.teletextSourceSettings = aws.sdk.kotlin.services.mediaconvert.model.TeletextSourceSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings] inside the given [block]
*/
public fun trackSourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings.Builder.() -> kotlin.Unit) {
this.trackSourceSettings = aws.sdk.kotlin.services.mediaconvert.model.TrackSourceSettings.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings] inside the given [block]
*/
public fun webvttHlsSourceSettings(block: aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings.Builder.() -> kotlin.Unit) {
this.webvttHlsSourceSettings = aws.sdk.kotlin.services.mediaconvert.model.WebvttHlsSourceSettings.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}