Instance Property


An object that describes the requirements, such as source time ranges to append or re-append, to the current pass.


@property(readonly) AVAssetWriterInputPassDescription *currentPassDescription;


If the value of this property is nil, there is no request to be fulfilled and markAsFinished should be called on the asset writer input.

During the first pass, the request will contain a single time range from zero to positive infinity, indicating that all media from the source should be appended. This will also be true when canPerformMultiplePasses is NO, in which case only one pass will be performed.

The value of this property will be nil before startWriting is called on the attached asset writer. It will transition to an initial non-nil value during the call to startWriting. After that, the value of this property will change only after a call to markCurrentPassAsFinished. The respondToEachPassDescriptionOnQueue:usingBlock: method allows for notification at the beginning of each pass.

This property supports Key-value observing. Observers should not assume that they will be notified of changes on a specific thread.

See Also

Performing Multiple-Pass Encoding


A Boolean value that indicates whether the input might perform multiple passes over appended media data.

- markCurrentPassAsFinished

Instructs the receiver to analyze the appended media data and determine whether to improve the results by re-encoding certain segments.


A Boolean value that indicates whether the input should attempt to encode the source media data using multiple passes.


The boundary, in bytes, for aligning media chunks.


The duration used for each chunk of sample data in the output file.

- respondToEachPassDescriptionOnQueue:usingBlock:

Instructs the receiver to invoke a client-supplied block whenever a new pass has begun.