Contents

VTFrameSilo

An object that stores sample buffers from a multipass encoding session.

Overview

A frame silo object starts out empty and is populated by calls to VTFrameSiloAddSampleBuffer(_:sampleBuffer:) to add sample buffers in ascending decode order. After the first full pass, additional passes may be performed to replace sample buffers. Each such pass must begin with a call to VTFrameSiloSetTimeRangesForNextPass(_:timeRangeCount:timeRangeArray:), which takes a list of time ranges. Samples in these time ranges are deleted, and calls to VTFrameSiloAddSampleBuffer(_:sampleBuffer:) can then be made to provide replacements.

Call VTFrameSiloCallFunctionForEachSampleBuffer(_:in:refcon:callback:) or VTFrameSiloCallBlockForEachSampleBuffer(_:in:handler:) to retrieve sample buffers. The frame silo object may write sample buffers and data to the backing file between addition and retrieval; don’t expect to get identical object pointers back.

The sample buffers are ordered by decode timestamp.

Topics

Creating Frame Silos

Configuring Frame Silos

Inspecting Frame Silos

Data Types

See Also

Compression