Package-level declarations

Types

Link copied to clipboard
class Adjustment(val kind: AdjustmentKind, val requested: String, val resolved: String, val message: String)

One thing filmstrip changed to make the export possible. Ordered as applied.

Link copied to clipboard

What kind of change an Adjustment describes.

Link copied to clipboard
class AudioFormat(val sampleRate: Int, val channelCount: Int)

The sample rate and channel count the whole composition is normalised to.

Link copied to clipboard

One reason an export re-encodes rather than copying its streams across.

Link copied to clipboard
abstract class EngineComponents

The parts of a dev.jordond.filmstrip.Filmstrip's registry an engine is built against.

Link copied to clipboard
class ExportEstimate(val outputSizeBytesMin: Long?, val outputSizeBytesMax: Long?, val approximateDuration: Duration?, val isCopy: Boolean)

What an export is expected to cost.

Link copied to clipboard

Which path an export will take.

Link copied to clipboard

What an export will actually do, resolved before it starts.

Link copied to clipboard
class ExportSpec(val heightPx: Int? = null, val bitrate: Bitrate? = null, val quality: VideoQuality? = null, val videoCodec: VideoCodec = VideoCodec.Auto, val audioCodec: AudioCodec = AudioCodec.Auto, val frameRate: Int? = null, val hdr: HdrMode = HdrMode.Auto, val strict: Boolean = false)

What the output should look like.

Link copied to clipboard
sealed interface ExportStatus

What an export is doing, as it does it.

Link copied to clipboard

What to do about high dynamic range.

Link copied to clipboard
class InertNotice(val subject: String, val reason: InertReason, val message: String)

One part of an edit that renders nothing, which filmstrip left out of the export rather than run.

Link copied to clipboard

Why an InertNotice renders nothing.

Link copied to clipboard
class OutputFormat(val size: Size, val videoCodec: VideoCodec, val audioCodec: AudioCodec, val bitrate: Bitrate?, val frameRate: Int, val audioFormat: AudioFormat?)

The output format an ExportPlan resolved to.

Link copied to clipboard
class PlannedEffect(val spec: EffectSpec, val stage: EffectStage, val parity: EffectParity, val note: ParityNote?)

One effect, resolved: where it runs and how faithfully the preview will show it.

Link copied to clipboard
sealed interface Verdict

What this device will do with an edit, decided before any decoding, encoding or writing happens.

Link copied to clipboard

How much bitrate an export spends on its video, relative to its frame size, codec and frame rate.