Class: AVAssetWriterInputPixelBufferAdaptor

Inherits:
NSObject show all

Overview

You use an AVAssetWriterInputPixelBufferAdaptor to append video samples packaged as CVPixelBuffer objects to a single AVAssetWriterInput object.

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from NSObject

#!, #!=, #!~, #, #==, #===, #=~, #Rational, #__callee__, #__method__, #__send__, #__type__, `, alloc, allocWithZone:, #autoContentAccessingProxy, autoload, autoload?, autorelease_pool, #awakeAfterUsingCoder:, binding, block_given?, caller, cancelPreviousPerformRequestsWithTarget:, cancelPreviousPerformRequestsWithTarget:selector:object:, catch, class, classFallbacksForKeyedArchiver, #classForCoder, #classForKeyedArchiver, classForKeyedUnarchiver, #clone, conformsToProtocol:, #copy, copyWithZone:, #dealloc, #define_singleton_method, description, display, #doesNotRecognizeSelector:, #dup, #enum_for, #eql?, #equal?, #extend, fail, #finalize, format, #forwardInvocation:, #forwardingTargetForSelector:, framework, #freeze, #frozen?, getpass, gets, global_variables, #init, initialize, #initialize_clone, #initialize_copy, #initialize_dup, #inspect, instanceMethodForSelector:, instanceMethodSignatureForSelector:, #instance_eval, #instance_exec, #instance_of?, #instance_variable_defined?, #instance_variable_get, #instance_variable_set, #instance_variables, instancesRespondToSelector:, isSubclassOfClass:, #is_a?, iterator?, #kind_of?, lambda, load, load_bridge_support_file, load_plist, local_variables, loop, #method, #methodForSelector:, #methodSignatureForSelector:, #methods, #mutableCopy, mutableCopyWithZone:, new, #nil?, open, p, #performSelector:onThread:withObject:waitUntilDone:, #performSelector:onThread:withObject:waitUntilDone:modes:, #performSelector:withObject:afterDelay:, #performSelector:withObject:afterDelay:inModes:, #performSelectorInBackground:withObject:, #performSelectorOnMainThread:withObject:waitUntilDone:, #performSelectorOnMainThread:withObject:waitUntilDone:modes:, print, printf, #private_methods, proc, #protected_methods, #public_method, #public_methods, #public_send, putc, puts, raise, rand, readline, readlines, #replacementObjectForCoder:, #replacementObjectForKeyedArchiver:, require, resolveClassMethod:, resolveInstanceMethod:, #respond_to?, #respond_to_missing?, select, #send, setVersion:, #singleton_methods, sprintf, srand, superclass, #taint, #tainted?, #tap, test, throw, #to_plist, #to_s, trace_var, trap, #trust, #untaint, untrace_var, #untrust, #untrusted?, version

Constructor Details

This class inherits a constructor from NSObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class NSObject

Instance Attribute Details

- (AVAssetWriterInput) assetWriterInput (readonly)

The asset writer input to which the adaptor should append pixel buffers. (read-only)

Returns:

- (CVPixelBufferPoolRef) pixelBufferPool (readonly)

A pixel buffer pool that will vend and efficiently recycle CVPixelBuffer objects that can be appended to the receiver. (read-only) For maximum efficiency, you should create CVPixelBuffer objects for appendPixelBuffer:withPresentationTime: by using this pool with the CVPixelBufferPoolCreatePixelBuffer function.This property is NULL before the first call to startSessionAtTime:on the associated AVAssetWriter object.This property is key value observable.

Returns:

  • (CVPixelBufferPoolRef)

- (Hash) sourcePixelBufferAttributes (readonly)

The pixel buffer attributes of pixel buffers that will be vended by the adaptor’s CVPixelBufferPool. (read-only) The value of this property is a dictionary containing pixel buffer attributes keys defined in .

Returns:

Class Method Details

+ (AVAssetWriterInputPixelBufferAdaptor) assetWriterInputPixelBufferAdaptorWithAssetWriterInput(input, sourcePixelBufferAttributes:sourcePixelBufferAttributes)

Returns a new pixel buffer adaptor to receive pixel buffers for writing to the output file. To specify the pixel format type, the pixelBufferAttributes dictionary should contain a value for kCVPixelBufferPixelFormatTypeKey. For example, use [NSNumber numberWithInt:kCVPixelFormatType_32BGRA] for 8-bit-per-channel BGRA, or use [NSNumber numberWithInt:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange] for 2-plane YCbCr.

Parameters:

  • input (AVAssetWriterInput)

    The asset writer input to which the receiver should append pixel buffers.Currently, only asset writer inputs that accept media data of type AVMediaTypeVideo can be used to initialize a pixel buffer adaptor.It is an error to pass a sample buffer input that is already attached to another instance of AVAssetWriterInputPixelBufferAdaptor.

  • sourcePixelBufferAttributes (Hash)

    The attributes of pixel buffers that will be vended by the input’s CVPixelBufferPool.Pixel buffer attributes keys for the pixel buffer pool are defined in . To take advantage of the improved efficiency of appending buffers created from the adaptor’s pixel buffer pool, you should specify pixel buffer attributes that most closely accommodate the source format of the video frames being appended.Pass nil if you do not need a pixel buffer pool for allocating buffers.

Returns:

Instance Method Details

- (Boolean) appendPixelBuffer(pixelBuffer, withPresentationTime:presentationTime)

Appends a pixel buffer to the receiver. If the operation was unsuccessful, you might invoke the AVAssetWriter object’s finishWriting method in order to save a partially completed asset.

Parameters:

  • pixelBuffer (CVPixelBufferRef)

    The CVPixelBuffer to be appended.

  • presentationTime (CMTime)

    The presentation time for the pixel buffer to be appended. This time will be considered relative to the time passed to -[AVAssetWriter startSessionAtSourceTime:] to determine the timing of the frame in the output file.

Returns:

  • (Boolean)

    YES if the pixel buffer was successfully appended, otherwise NO.

- (Object) initWithAssetWriterInput(input, sourcePixelBufferAttributes:sourcePixelBufferAttributes)

Initializes a new pixel buffer adaptor to receive pixel buffers for writing to the output file. To specify the pixel format type, the pixelBufferAttributes dictionary should contain a value for kCVPixelBufferPixelFormatTypeKey. For example, use [NSNumber numberWithInt:kCVPixelFormatType_32BGRA] for 8-bit-per-channel BGRA, or use [NSNumber numberWithInt:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange] for 2-plane YCbCr.

Parameters:

  • input (AVAssetWriterInput)

    The asset writer input to which the receiver should append pixel buffers.Currently, only asset writer inputs that accept media data of type AVMediaTypeVideo can be used to initialize a pixel buffer adaptor.It is an error to pass a sample buffer input that is already attached to another instance of AVAssetWriterInputPixelBufferAdaptor.

  • sourcePixelBufferAttributes (Hash)

    The attributes of pixel buffers that will be vended by the input’s CVPixelBufferPool.Pixel buffer attributes keys for the pixel buffer pool are defined in . To take advantage of the improved efficiency of appending buffers created from the adaptor’s pixel buffer pool, you should specify pixel buffer attributes that most closely accommodate the source format of the video frames being appended.Pass nil if you do not need a pixel buffer pool for allocating buffers.

Returns:

  • (Object)

    A pixel buffer adaptor initialized to receive pixel buffers for writing to the output file.