VideoUploadOptions

data class VideoUploadOptions(val multipart: Boolean = false, val multipartThresholdBytes: Long = 100L * 1024 * 1024, val partSizeBytes: Long = 64L * 1024 * 1024, val maxConcurrency: Int = 4, val maxPartAttempts: Int = 5, val partTimeoutSeconds: Long = 300, val resume: Boolean = true, val sessionStore: UploadSessionStore = UploadSessionStores.memory, val adaptiveConditions: UploadConditions? = null, val videoFilename: String? = null, val metadataText: String? = null, val metadataTags: List<String>? = null, val startDatetimeUser: String? = null, val reProcess: Boolean = false)

Signed-upload policy including retry, resume, cancellation, and explicit multipart behavior. Multipart is never selected implicitly by file size.

Constructors

Link copied to clipboard
constructor(multipart: Boolean = false, multipartThresholdBytes: Long = 100L * 1024 * 1024, partSizeBytes: Long = 64L * 1024 * 1024, maxConcurrency: Int = 4, maxPartAttempts: Int = 5, partTimeoutSeconds: Long = 300, resume: Boolean = true, sessionStore: UploadSessionStore = UploadSessionStores.memory, adaptiveConditions: UploadConditions? = null, videoFilename: String? = null, metadataText: String? = null, metadataTags: List<String>? = null, startDatetimeUser: String? = null, reProcess: Boolean = false)

Types

Link copied to clipboard
object Companion

Shared upload limits.

Properties

Link copied to clipboard

optional platform conditions for adaptive tuning

Link copied to clipboard

maximum parallel parts

Link copied to clipboard

maximum attempts per part

Link copied to clipboard

optional metadata tags sent when finalizing the upload

Link copied to clipboard

optional metadata text sent when finalizing the upload

Link copied to clipboard

whether to use multipart upload

Link copied to clipboard

Retained for source compatibility. Upload strategy is never selected by file size.

Link copied to clipboard

target bytes per multipart part

Link copied to clipboard

timeout for each part

Link copied to clipboard

whether the uploaded video should be processed again

Link copied to clipboard

whether to resume a compatible checkpoint

Link copied to clipboard

multipart checkpoint store

Link copied to clipboard

offset-aware CCTV footage start time

Link copied to clipboard

Pre-upload transcoder. The default performs no transcoding. An Android app injects its own device transcoder here, for example options.transcoder = Media3TransformerTranscoder(ctx). Kept outside the primary constructor to preserve binary compatibility of this data class.

Link copied to clipboard

canonical CCTV filename sent when finalizing the upload

Functions

Link copied to clipboard

Applies the optional adaptive policy without mutating this value. Preserves transcoder.

Link copied to clipboard
fun validate(size: Long)

Validates the source size and multipart settings.