static get displayEmptyMediaImmediately(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let displayEmptyMediaImmediately: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Indicates that the empty marker should be dequeued immediately regardless of its timestamp.
Marker sample buffers with this attachment in addition to ``emptyMedia`` are used to tell that the empty sample
buffer should be dequeued immediately regardless of its timestamp. This attachment should only be used with
sample buffers with the ``emptyMedia`` attachment. The getter returns the default value of false if this
attachment is not present.
get · iOS 27.0+
permanentEmptyMedia
TypeScript
static get permanentEmptyMedia(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let permanentEmptyMedia: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Marks the end of the sequence of samples.
Marker sample buffers with this attachment in addition to ``emptyMedia`` are used to indicate that no further
samples are expected. The getter returns the default value of false if this attachment is not present.
get · iOS 27.0+
emptyMedia
TypeScript
static get emptyMedia(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let emptyMedia: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Marks an intentionally empty interval in the sequence of samples.
The sample buffer’s output presentation timestamp indicates when the empty interval begins. Marker sample
buffers with this attachment are used to announce the arrival of empty edits. The getter returns the default
value of false if this attachment is not present.
get · iOS 27.0+
forceKeyFrame
TypeScript
static get forceKeyFrame(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let forceKeyFrame: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Indicates that the current or next video sample buffer should be forced to be encoded as a key frame.
If this attachment is `true` on a sample buffer with a video frame, that video frame will be forced to become
a key frame. If the sample buffer for which this is `true` does not have a valid video frame, the next sample
buffer processed that contains a valid video frame will be encoded as a key frame. The getter returns the
default value of false if this attachment is not present.
Unless the origin and destination of a sample buffer is known, the general recommended practice is to synthesize
an empty sample buffer with this attachment alone and insert it into the sample buffer stream ahead of the
concrete sample buffer rather than setting this attachment on the concrete sample buffer itself.
get · iOS 27.0+
resumeOutput
TypeScript
static get resumeOutput(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let resumeOutput: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
If present, indicates that output should be resumed following a discontinuity.
This attachment is used at run time to request that a decode pipeline resume producing output after a
discontinuity announced using the ``kCMSampleBufferConduitNotification_InhibitOutputUntil`` notification.
The getter returns the default value of false if this attachment is not present.
get · iOS 27.0+
transitionID
TypeScript
static get transitionID(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldNotPropagate, number>
Swift declaration
static let transitionID: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldNotPropagate, Int>
Marks a transition from one source of buffers to another.
During gapless playback of a list of songs, this attachment marks the first buffer from the next song. If this
attachment is on a buffer containing no samples, the first following buffer that contains samples is the buffer
that contains the first samples from the next song. This transition identifier should be unique within a
playlist, so each transition in a playlist is uniquely identifiable. A counter that increments with each
transition is a simple example.
get · iOS 27.0+
speedMultiplier
TypeScript
static get speedMultiplier(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, number>
Swift declaration
static let speedMultiplier: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Float>
The factor by which the sample buffer’s presentation should be accelerated.
For normal playback the speed multiplier would be 1.0 (which is the default value returned by getter if this
attachment is not present); for double-speed playback the speed multiplier would be 2.0, which would halve the
output duration. Speed-multiplication factors take effect after trimming; see
``CMReadySampleBuffer/outputDuration``. Note that this attachment principally provides information about the
duration-stretching effect: by default, it should be implemented by rate conversion, but other attachments may
specify richer stretching operations—for example, scaling without pitch shift, or pitch shift without changing
duration. Sequences of speed-multiplied sample buffers should have explicit time stamps to clarify when each
should be output (see ``CMReadySampleBuffer/outputPresentationTimeStamp``).
get · iOS 27.0+
trimDurationAtEnd
TypeScript
static get trimDurationAtEnd(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMTime>
Swift declaration
static let trimDurationAtEnd: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMTime>
The duration that should be removed at the end of the sample buffer, after decoding.
The getter returns the default value of ``CMTime/zero`` (nothing removed) if this attachment is not present.
get · iOS 27.0+
drainAfterDecoding
TypeScript
static get drainAfterDecoding(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let drainAfterDecoding: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Indicates whether the sample buffer should be drained after decoding.
This attachment is used at run time to indicate that a sample precedes a break in decode sequence and that it is
appropriate to drain the decoder after decoding this sample. This attachment is not written to media files. The
getter returns the default value of false if this attachment is not present.
get · iOS 27.0+
droppedFrameReason
TypeScript
static get droppedFrameReason(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMDroppedFrameReason>
Swift declaration
static let droppedFrameReason: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMDroppedFrameReason>
Indicates the reason the current video frame was dropped.
Sample buffers with this attachment contain no image or data buffer. They mark a dropped video frame. This
attachment identifies the reason the frame was dropped.
get · iOS 27.0+
trimDurationAtStart
TypeScript
static get trimDurationAtStart(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMTime>
Swift declaration
static let trimDurationAtStart: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMTime>
The duration that should be removed at the beginning of the sample buffer, after decoding.
The getter returns the default value of ``CMTime/zero`` (nothing removed) if this attachment is not present. In
cases where all the output after decoding the sample buffer is to be discarded (for example, the samples are
only being decoded to prime the decoder) the usual convention is to set ``trimDurationAtStart`` to the whole
duration and not to set a ``trimDurationAtEnd`` attachment.
get · iOS 27.0+
cameraIntrinsicMatrix
TypeScript
static get cameraIntrinsicMatrix(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMCameraIntrinsicMatrix>
Swift declaration
static let cameraIntrinsicMatrix: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMCameraIntrinsicMatrix>
Provides the 3x3 camera intrinsic matrix applied to the current sample buffer.
get · iOS 27.0+
gradualDecoderRefresh
TypeScript
static get gradualDecoderRefresh(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, number>
Swift declaration
static let gradualDecoderRefresh: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Int16>
Indicates the decoder refresh count.
Sample buffers with this attachment may be used to identify the audio decoder refresh count.
get · iOS 27.0+
droppedFrameReasonInfo
TypeScript
static get droppedFrameReasonInfo(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMDroppedFrameReason_Info>
Swift declaration
static let droppedFrameReasonInfo: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMDroppedFrameReason.Info>
Indicates additional information regarding the dropped video frame.
Sample buffers with this attachment contain no image or data buffer. They mark a dropped video frame. If
present, this attachment provides additional information about the reason described by the
``droppedFrameReason`` key.
get · iOS 27.0+
endsPreviousSampleDuration
TypeScript
static get endsPreviousSampleDuration(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let endsPreviousSampleDuration: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Indicates that sample buffer’s decode timestamp may be used to define the previous sample buffer’s duration.
Marker sample buffers with this attachment may be used in situations where sample buffers are transmitted before
their duration is known. In such situations, normally the recipient may use each sample buffer’s timestamp to
calculate the duration of the previous sample buffer. The marker sample buffer with this attachment is sent to
provide the timestamp for calculating the final sample buffer’s duration. The getter returns the default value of
false if this attachment is not present.
get · iOS 27.0+
resetDecoderBeforeDecoding
TypeScript
static get resetDecoderBeforeDecoding(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let resetDecoderBeforeDecoding: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Indicates whether the sample buffer should be reset before decoding.
This attachment is used at run time to indicate that a sample follows a break in decode sequence and that it is
appropriate to reset the decoder before decoding this sample. The getter returns the default value of false if
this attachment is not present.
get · iOS 27.0+
postNotificationWhenConsumed
TypeScript
static get postNotificationWhenConsumed(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMCustomNotificationInfo>
Swift declaration
static let postNotificationWhenConsumed: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMCustomNotificationInfo>
Indicates that decode pipelines should post a notification when consuming the sample buffer.
This attachment is used at run time to request that a decode pipeline post ``kCMSampleBufferConsumerNotification_BufferConsumed``
notification when this sample buffer is consumed. The value for this key is used as the userInfo dictionary in
the notification.
get · iOS 27.0+
fillDiscontinuitiesWithSilence
TypeScript
static get fillDiscontinuitiesWithSilence(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let fillDiscontinuitiesWithSilence: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Fill the difference between discontiguous sample buffers with silence.
If a sample buffer enters a buffer queue and the presentation time stamp between the previous buffer and the
buffer with this attachment are discontiguous, handle the discontinuity by generating silence for the time
difference. The getter returns the default value of false if this attachment is not present.
get · iOS 27.0+
stillImageLensStabilizationInfo
TypeScript
static get stillImageLensStabilizationInfo(): _CoreVideo_CVAttachmentKeyDefinition<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, CMStillImageLensStabilization>
Swift declaration
static let stillImageLensStabilizationInfo: CVAttachmentKeyDefinition<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, CMStillImageLensStabilization>
Indicates information about the lens stabilization applied to the current still image buffer.
Sample buffers that have been captured with a lens stabilization module may have this attachment. Which provides
information about the stabilization status during the capture. This key will not be present in sample buffers
coming from cameras without a lens stabilization module.
get · iOS 27.0+
reverse
TypeScript
static get reverse(): _CoreVideo_CVAttachmentKeyDefinitionWithDefault<_CoreVideo_CVAttachmentModePreferenceShouldPropagate, boolean>
Swift declaration
static let reverse: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
Indicates that the decoded contents of the sample buffer should be reversed.
If this attachment is not present, the sample buffer should be played forwards as usual. Reversal occurs after
trimming and speed multipliers. The getter returns the default value of false if this attachment is not present.