Presents frames to the compression session.
- iOS 8.0+
- macOS 10.8+
- Mac Catalyst 13.0+
- tvOS 10.2+
The compression session.
A Core Video image buffer (
CVImage) containing a video frame to be compressed. The buffer must have a nonzero reference count.
The presentation timestamp for this frame, to be attached to the sample buffer. Each presentation timestamp passed to a session must be greater than the previous one.
The presentation duration for this frame, to be attached to the sample buffer. If you do not have duration information, pass
Key/value pairs specifying additional properties for encoding this frame. Note that some session properties may also be changed between frames. Such changes affect subsequently encoded frames.
The reference value for the frame, which is passed to the output callback function.
A pointer to a
VTEncodeto receive information about the encode operation.
kbit may be set if the encode is (or was) running asynchronously.
VTEncode Info _Asynchronous
kbit may be set if the frame was dropped (synchronously).
VTEncode Info _Frame Dropped
NULLif you do not want to receive this information.
Encoded frames may or may not be output before the function returns. The client should not modify the pixel data after making this call. The session and/or encoder retains the image buffer as long as necessary.