Documentation Archive Developer
Search

VideoToolbox Changes for Objective-C

VideoToolbox

VTCompressionSession.h

Declaration
From
OSStatus VTCompressionSessionBeginPass (
    VTCompressionSessionRef session,
    VTCompressionSessionOptionFlags beginPassFlags,
    uint32_t *reserved
);
To
OSStatus VTCompressionSessionBeginPass (
    VTCompressionSessionRef _Nonnull session,
    VTCompressionSessionOptionFlags beginPassFlags,
    uint32_t * _Nullable reserved
);

Declaration
From
OSStatus VTCompressionSessionCompleteFrames (
    VTCompressionSessionRef session,
    CMTime completeUntilPresentationTimeStamp
);
To
OSStatus VTCompressionSessionCompleteFrames (
    VTCompressionSessionRef _Nonnull session,
    CMTime completeUntilPresentationTimeStamp
);

Declaration
From
OSStatus VTCompressionSessionCreate (
    CFAllocatorRef allocator,
    int32_t width,
    int32_t height,
    CMVideoCodecType codecType,
    CFDictionaryRef encoderSpecification,
    CFDictionaryRef sourceImageBufferAttributes,
    CFAllocatorRef compressedDataAllocator,
    VTCompressionOutputCallback outputCallback,
    void *outputCallbackRefCon,
    VTCompressionSessionRef *compressionSessionOut
);
To
OSStatus VTCompressionSessionCreate (
    CFAllocatorRef _Nullable allocator,
    int32_t width,
    int32_t height,
    CMVideoCodecType codecType,
    CFDictionaryRef _Nullable encoderSpecification,
    CFDictionaryRef _Nullable sourceImageBufferAttributes,
    CFAllocatorRef _Nullable compressedDataAllocator,
    VTCompressionOutputCallback _Nullable outputCallback,
    void * _Nullable outputCallbackRefCon,
    VTCompressionSessionRef  _Nullable * _Nonnull compressionSessionOut
);

Declaration
From
OSStatus VTCompressionSessionEncodeFrame (
    VTCompressionSessionRef session,
    CVImageBufferRef imageBuffer,
    CMTime presentationTimeStamp,
    CMTime duration,
    CFDictionaryRef frameProperties,
    void *sourceFrameRefCon,
    VTEncodeInfoFlags *infoFlagsOut
);
To
OSStatus VTCompressionSessionEncodeFrame (
    VTCompressionSessionRef _Nonnull session,
    CVImageBufferRef _Nonnull imageBuffer,
    CMTime presentationTimeStamp,
    CMTime duration,
    CFDictionaryRef _Nullable frameProperties,
    void * _Nullable sourceFrameRefCon,
    VTEncodeInfoFlags * _Nullable infoFlagsOut
);

Declaration
From
OSStatus VTCompressionSessionEndPass (
    VTCompressionSessionRef session,
    Boolean *furtherPassesRequestedOut,
    uint32_t *reserved
);
To
OSStatus VTCompressionSessionEndPass (
    VTCompressionSessionRef _Nonnull session,
    Boolean * _Nullable furtherPassesRequestedOut,
    uint32_t * _Nullable reserved
);

Declaration
From
CVPixelBufferPoolRef VTCompressionSessionGetPixelBufferPool (
    VTCompressionSessionRef session
);
To
CVPixelBufferPoolRef _Nullable VTCompressionSessionGetPixelBufferPool (
    VTCompressionSessionRef _Nonnull session
);

Declaration
From
OSStatus VTCompressionSessionGetTimeRangesForNextPass (
    VTCompressionSessionRef session,
    CMItemCount *timeRangeCountOut,
    const CMTimeRange **timeRangeArrayOut
);
To
OSStatus VTCompressionSessionGetTimeRangesForNextPass (
    VTCompressionSessionRef _Nonnull session,
    CMItemCount * _Nonnull timeRangeCountOut,
    const CMTimeRange * _Nullable * _Nonnull timeRangeArrayOut
);

Declaration
From
void VTCompressionSessionInvalidate (
    VTCompressionSessionRef session
);
To
void VTCompressionSessionInvalidate (
    VTCompressionSessionRef _Nonnull session
);

Declaration
From
OSStatus VTCompressionSessionPrepareToEncodeFrames (
    VTCompressionSessionRef session
);
To
OSStatus VTCompressionSessionPrepareToEncodeFrames (
    VTCompressionSessionRef _Nonnull session
);

VTDecompressionSession.h

Declaration
From
Boolean VTDecompressionSessionCanAcceptFormatDescription (
    VTDecompressionSessionRef session,
    CMFormatDescriptionRef newFormatDesc
);
To
Boolean VTDecompressionSessionCanAcceptFormatDescription (
    VTDecompressionSessionRef _Nonnull session,
    CMFormatDescriptionRef _Nonnull newFormatDesc
);

Declaration
From
OSStatus VTDecompressionSessionCopyBlackPixelBuffer (
    VTDecompressionSessionRef session,
    CVPixelBufferRef *pixelBufferOut
);
To
OSStatus VTDecompressionSessionCopyBlackPixelBuffer (
    VTDecompressionSessionRef _Nonnull session,
    CVPixelBufferRef  _Nullable * _Nonnull pixelBufferOut
);

Declaration
From
OSStatus VTDecompressionSessionCreate (
    CFAllocatorRef allocator,
    CMVideoFormatDescriptionRef videoFormatDescription,
    CFDictionaryRef videoDecoderSpecification,
    CFDictionaryRef destinationImageBufferAttributes,
    const VTDecompressionOutputCallbackRecord *outputCallback,
    VTDecompressionSessionRef *decompressionSessionOut
);
To
OSStatus VTDecompressionSessionCreate (
    CFAllocatorRef _Nullable allocator,
    CMVideoFormatDescriptionRef _Nonnull videoFormatDescription,
    CFDictionaryRef _Nullable videoDecoderSpecification,
    CFDictionaryRef _Nullable destinationImageBufferAttributes,
    const VTDecompressionOutputCallbackRecord * _Nullable outputCallback,
    VTDecompressionSessionRef  _Nullable * _Nonnull decompressionSessionOut
);

Declaration
From
OSStatus VTDecompressionSessionDecodeFrame (
    VTDecompressionSessionRef session,
    CMSampleBufferRef sampleBuffer,
    VTDecodeFrameFlags decodeFlags,
    void *sourceFrameRefCon,
    VTDecodeInfoFlags *infoFlagsOut
);
To
OSStatus VTDecompressionSessionDecodeFrame (
    VTDecompressionSessionRef _Nonnull session,
    CMSampleBufferRef _Nonnull sampleBuffer,
    VTDecodeFrameFlags decodeFlags,
    void * _Nullable sourceFrameRefCon,
    VTDecodeInfoFlags * _Nullable infoFlagsOut
);

Declaration
From
OSStatus VTDecompressionSessionFinishDelayedFrames (
    VTDecompressionSessionRef session
);
To
OSStatus VTDecompressionSessionFinishDelayedFrames (
    VTDecompressionSessionRef _Nonnull session
);

Declaration
From
void VTDecompressionSessionInvalidate (
    VTDecompressionSessionRef session
);
To
void VTDecompressionSessionInvalidate (
    VTDecompressionSessionRef _Nonnull session
);

Declaration
From
OSStatus VTDecompressionSessionWaitForAsynchronousFrames (
    VTDecompressionSessionRef session
);
To
OSStatus VTDecompressionSessionWaitForAsynchronousFrames (
    VTDecompressionSessionRef _Nonnull session
);

VTFrameSilo.h

Declaration
From
OSStatus VTFrameSiloAddSampleBuffer (
    VTFrameSiloRef silo,
    CMSampleBufferRef sampleBuffer
);
To
OSStatus VTFrameSiloAddSampleBuffer (
    VTFrameSiloRef _Nonnull silo,
    CMSampleBufferRef _Nonnull sampleBuffer
);

Declaration
From
OSStatus VTFrameSiloCallBlockForEachSampleBuffer (
    VTFrameSiloRef silo,
    CMTimeRange timeRange,
    OSStatus (^handler)(CMSampleBufferRef sampleBuffer)
);
To
OSStatus VTFrameSiloCallBlockForEachSampleBuffer (
    VTFrameSiloRef _Nonnull silo,
    CMTimeRange timeRange,
    OSStatus (^ _Nonnullhandler)(CMSampleBufferRef _Nonnull sampleBuffer)
);

Declaration
From
OSStatus VTFrameSiloCallFunctionForEachSampleBuffer (
    VTFrameSiloRef silo,
    CMTimeRange timeRange,
    void *callbackInfo,
    OSStatus (*callback)(void *callbackInfo, CMSampleBufferRef sampleBuffer)
);
To
OSStatus VTFrameSiloCallFunctionForEachSampleBuffer (
    VTFrameSiloRef _Nonnull silo,
    CMTimeRange timeRange,
    void * _Nullable callbackInfo,
    OSStatus (* _Nonnullcallback)(void * _Nullable callbackInfo, CMSampleBufferRef _Nonnull sampleBuffer)
);

Declaration
From
OSStatus VTFrameSiloCreate (
    CFAllocatorRef allocator,
    CFURLRef fileURL,
    CMTimeRange timeRange,
    CFDictionaryRef options,
    VTFrameSiloRef *siloOut
);
To
OSStatus VTFrameSiloCreate (
    CFAllocatorRef _Nullable allocator,
    CFURLRef _Nullable fileURL,
    CMTimeRange timeRange,
    CFDictionaryRef _Nullable options,
    VTFrameSiloRef  _Nullable * _Nonnull siloOut
);

Declaration
From
OSStatus VTFrameSiloGetProgressOfCurrentPass (
    VTFrameSiloRef silo,
    Float32 *progressOut
);
To
OSStatus VTFrameSiloGetProgressOfCurrentPass (
    VTFrameSiloRef _Nonnull silo,
    Float32 * _Nonnull progressOut
);

Declaration
From
OSStatus VTFrameSiloSetTimeRangesForNextPass (
    VTFrameSiloRef silo,
    CMItemCount timeRangeCount,
    const CMTimeRange *timeRangeArray
);
To
OSStatus VTFrameSiloSetTimeRangesForNextPass (
    VTFrameSiloRef _Nonnull silo,
    CMItemCount timeRangeCount,
    const CMTimeRange * _Nonnull timeRangeArray
);

VTMultiPassStorage.h

Declaration
From
OSStatus VTMultiPassStorageClose (
    VTMultiPassStorageRef multiPassStorage
);
To
OSStatus VTMultiPassStorageClose (
    VTMultiPassStorageRef _Nonnull multiPassStorage
);

Declaration
From
OSStatus VTMultiPassStorageCreate (
    CFAllocatorRef allocator,
    CFURLRef fileURL,
    CMTimeRange timeRange,
    CFDictionaryRef options,
    VTMultiPassStorageRef *multiPassStorageOut
);
To
OSStatus VTMultiPassStorageCreate (
    CFAllocatorRef _Nullable allocator,
    CFURLRef _Nullable fileURL,
    CMTimeRange timeRange,
    CFDictionaryRef _Nullable options,
    VTMultiPassStorageRef  _Nullable * _Nonnull multiPassStorageOut
);

VTPixelTransferSession.h

Declaration
From
OSStatus VTPixelTransferSessionCreate (
    CFAllocatorRef allocator,
    VTPixelTransferSessionRef *pixelTransferSessionOut
);
To
OSStatus VTPixelTransferSessionCreate (
    CFAllocatorRef _Nullable allocator,
    VTPixelTransferSessionRef  _Nullable * _Nonnull pixelTransferSessionOut
);

Declaration
From
void VTPixelTransferSessionInvalidate (
    VTPixelTransferSessionRef session
);
To
void VTPixelTransferSessionInvalidate (
    VTPixelTransferSessionRef _Nonnull session
);

Declaration
From
OSStatus VTPixelTransferSessionTransferImage (
    VTPixelTransferSessionRef session,
    CVPixelBufferRef sourceBuffer,
    CVPixelBufferRef destinationBuffer
);
To
OSStatus VTPixelTransferSessionTransferImage (
    VTPixelTransferSessionRef _Nonnull session,
    CVPixelBufferRef _Nonnull sourceBuffer,
    CVPixelBufferRef _Nonnull destinationBuffer
);

VTSession.h

Declaration
From
OSStatus VTSessionCopyProperty (
    VTSessionRef session,
    CFStringRef propertyKey,
    CFAllocatorRef allocator,
    void *propertyValueOut
);
To
OSStatus VTSessionCopyProperty (
    VTSessionRef _Nonnull session,
    CFStringRef _Nonnull propertyKey,
    CFAllocatorRef _Nullable allocator,
    void * _Nullable propertyValueOut
);

Declaration
From
OSStatus VTSessionCopySerializableProperties (
    VTSessionRef session,
    CFAllocatorRef allocator,
    CFDictionaryRef *dictionaryOut
);
To
OSStatus VTSessionCopySerializableProperties (
    VTSessionRef _Nonnull session,
    CFAllocatorRef _Nullable allocator,
    CFDictionaryRef  _Nullable * _Nonnull dictionaryOut
);

Declaration
From
OSStatus VTSessionCopySupportedPropertyDictionary (
    VTSessionRef session,
    CFDictionaryRef *supportedPropertyDictionaryOut
);
To
OSStatus VTSessionCopySupportedPropertyDictionary (
    VTSessionRef _Nonnull session,
    CFDictionaryRef  _Nullable * _Nonnull supportedPropertyDictionaryOut
);

Declaration
From
OSStatus VTSessionSetProperties (
    VTSessionRef session,
    CFDictionaryRef propertyDictionary
);
To
OSStatus VTSessionSetProperties (
    VTSessionRef _Nonnull session,
    CFDictionaryRef _Nonnull propertyDictionary
);

Declaration
From
OSStatus VTSessionSetProperty (
    VTSessionRef session,
    CFStringRef propertyKey,
    CFTypeRef propertyValue
);
To
OSStatus VTSessionSetProperty (
    VTSessionRef _Nonnull session,
    CFStringRef _Nonnull propertyKey,
    CFTypeRef _Nonnull propertyValue
);

VTUtilities.h (Added)

VTVideoEncoderList.h

Declaration
From
OSStatus VTCopyVideoEncoderList (
    CFDictionaryRef options,
    CFArrayRef *listOfVideoEncodersOut
);
To
OSStatus VTCopyVideoEncoderList (
    CFDictionaryRef _Nullable options,
    CFArrayRef  _Nullable * _Nonnull listOfVideoEncodersOut
);