Skip to content

MediaExtension macOS xcode16.0 b6

Rolf Bjarne Kvinge edited this page Sep 3, 2024 · 2 revisions

#MediaExtension.framework https://github.com/xamarin/xamarin-macios/pull/21176

diff -ruN /Applications/Xcode_16.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaExtension.framework/Headers/MERAWProcessor.h /Applications/Xcode_16.0.0-beta6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaExtension.framework/Headers/MERAWProcessor.h
--- /Applications/Xcode_16.0.0-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaExtension.framework/Headers/MERAWProcessor.h	2024-07-28 01:57:07
+++ /Applications/Xcode_16.0.0-beta6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaExtension.framework/Headers/MERAWProcessor.h	2024-08-08 08:52:58
@@ -139,12 +139,12 @@
 	@param			extensionPixelBufferManager
 		An MERAWProcessorPixelBufferManager instance that should be retained by the new MERAWProcessor instance and used for output pixelBuffer configuration and allocation.
 	@param			error
-		On return, if initialization of the MERAWProcessor fails, points to an NSError describing the nature of the failure.
+		On return, if initialization of the MERAWProcessor fails, points to an NSError describing the nature of the failure.  Failures could be due to incompatible formatDescription or may be do to some other resource required by the processor not being found.  Errors should be  from the MediaExtensionErrorDomain domain.
 	@result			A newly created instance conforming to MERAWProcessor.
 */
 - (id<MERAWProcessor> _Nullable)processorWithFormatDescription: (CMVideoFormatDescriptionRef) formatDescription
 								   extensionPixelBufferManager: (MERAWProcessorPixelBufferManager *)extensionPixelBufferManager
-														 error: (NSError *__autoreleasing _Nullable * _Nullable)error;
+														 error: (NSError *__autoreleasing _Nullable * _Nullable)error NS_SWIFT_NAME(makeProcessor(formatDescription:pixelBufferManager:));
 
 @end
 
@@ -161,7 +161,7 @@
 	@abstract		VideoToolbox will use these attributes when creating a pixelBuffer for the RAW Processor.
 	@discussion		This can be updated by the processor before requesting a new pixelBuffer.
 */
-@property(nonatomic, copy, readwrite) NSDictionary<NSString*, id> * pixelBufferAttributes;
+@property(nonatomic, copy, readwrite) NSDictionary<NSString*, id> * pixelBufferAttributes NS_REFINED_FOR_SWIFT;
 
 
 /*!
@@ -177,55 +177,55 @@
 
 @end
 
-/*MERAWProcessingParameter Interface is preliminary*/
-
 /*!
 	@interface		MERAWProcessingParameter
 	@abstract		An object implementing this protocol is implemented by the RAW Processor to describe each processing parameter the Processor exposes.
 	@discussion		The MERAWProcessingParameter protocol provides an interface for the VideoToolbox to query descriptions of the different parameters that can be used to influence Processor operation.  A distinct MERAWProcessingParameter is created for each parameter supported by the Processor, and the set of supported parameters is returned by the MERAWProcessor's processingParameters interface.
 */
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
-@interface MERAWProcessingParameter : NSObject
+@interface MERAWProcessingParameter : NSObject 
 
 /*!
  @property		name
- @abstract		A human-readable name for the parameter, suitable for displaying in application UI.  Each parameter for a given processor must have a distinct name.
+ @abstract		A localized human-readable name for the parameter, suitable for displaying in application UI.
  */
 @property(readonly) NSString * name;
 
 /*!
  @property		key
- @abstract		A unique key string idetifying this parameter.
+ @abstract		A unique key string identifying this parameter.
  */
 @property(readonly) NSString * key;
 
 /*!
  @property		longDescription
- @abstract		A description of the parameter, suitable for displaying in a tool tip or similar explanatory UI.
+ @abstract		A localized description of the parameter, suitable for displaying in a tool tip or similar explanatory UI.
  */
 @property(readonly) NSString * longDescription;
 
 /*!
  @property		enabled
- @abstract		Indicates whether the parameter is enabled or disabled.  A disabled parameter may still be listed, but setting it will have no effect.
+ @abstract		Indicates whether the parameter is enabled or disabled by the extension.
+ @discussion	This parameter can only be modified by the extension.  From the application-facing interface, VTRAWProcessingSession, this is a read-only value which indicates whether the parameter should be greyed out and disabled in any UI being generated.
  */
 @property(readwrite) BOOL enabled;
 
 @end
 
 /*!
-	@interface		MERAWProcessingParameterListElement
-	@abstract		An object implementing this protocol is implemented by the RAW Processor to describe each processing parameter the Processor exposes .
-	@discussion		The MERAWProcessingParameterListElement protocol provides an interface for the VideoToolbox to query descriptions of the different elements in a parameter list  for a List element in a MERAWProcessingParameter.  A distinct MERAWProcessingParameterListElement is created for each list element.
+	@interface		MERAWProcessingListElementParameter
+	@abstract		An object implementing this protocol is implemented by the RAW Processor to describe each processing parameter the Processor exposes.
+	@discussion		The MERAWProcessingListElementParameter protocol provides an interface for VideoToolbox to query descriptions of the different elements in a parameter list  for a List element in a MERAWProcessingParameter.  A distinct MERAWProcessingListElementParameter is created for each list element.
 */
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
-@interface MERAWProcessingParameterListElement : MERAWProcessingParameter
+NS_SWIFT_NAME(MERAWProcessingParameter.ListElement)
+@interface MERAWProcessingListElementParameter : MERAWProcessingParameter
 
 - (instancetype)initWithName:(NSString *)name description:(NSString*)description elementID:(NSInteger)elementID;
 
 /*!
 	@property		listElementID
-	@abstract		A unique number in this list  which always represents this list option.
+	@abstract		A unique number in this list which represents this list option.
 	@discussion 	The set of elements in the list may change depending on other configuration parameters, so while the index of an element in this list may change, this ID never changes and is used to report list element selection
 */
 @property(readonly) NSInteger listElementID;
@@ -233,49 +233,60 @@
 @end
 
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
+NS_SWIFT_NAME(MERAWProcessingParameter.Boolean)
 @interface MERAWProcessingBooleanParameter : MERAWProcessingParameter
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(BOOL)initialValue;
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(BOOL)initialValue neutralValue:(BOOL)neutralValue cameraValue:(BOOL)cameraValue;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(BOOL)initialValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(BOOL)initialValue neutralValue:(BOOL)neutralValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(BOOL)initialValue cameraValue:(BOOL)cameraValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(BOOL)initialValue neutralValue:(BOOL)neutralValue cameraValue:(BOOL)cameraValue NS_DESIGNATED_INITIALIZER NS_REFINED_FOR_SWIFT;
 
 /*!
  @property		initialValue
- @abstract		The initial value for this parameter as defined in the sequence metadata.  If this is a List element, this is the listElementID value of the MERAWProcessingParameterListElement for initial settings.
+ @abstract		The initial value for this parameter as defined in the sequence metadata.
  */
 @property(readonly) BOOL initialValue;
 
 /*!
  @property		currentValue
- @abstract		Get or set the current value for this parameter.   If this is a List element, this is the listElementID value of the selected MERAWProcessingParameterListElement.
+ @abstract		Get or set the current value for this parameter.
+ @discussion	This property can be observed if appropriate in order to react to changes which would result in changes to the set of MERAWProcessingParameters vended by the extension.
  */
 @property(readwrite) BOOL currentValue;
 
 /*!
- @property		neutralValue
- @abstract		A neutral value for this parameter.  If this is a List element, this is the listElementID value of the MERAWProcessingParameterListElement for neutral settings.
+ @property		hasNeutralValue
+ @abstract		Return value indicates whether the MERAWProcessingBooleanParameter has an optional declared Neutral value.
+ @discussion	If the return value is YES and outNeutralValue is not nil, the value held by outNeutralValue will be set to the neutral value.
+				If the return value is NO and outNeutralValue is not nil, the value held by outNeutralValue will be set to NO.
  */
-@property(readonly) BOOL neutralValue;
+- (BOOL)hasNeutralValue:(BOOL * _Nullable)outNeutralValue NS_REFINED_FOR_SWIFT;
 
 /*!
- @property		cameraValue
- @abstract		The "As Shot" value for this parameter.   If this is a List element, this is the listElementID value of the MERAWProcessingParameterListElement for "As Shot" settings.
+ @property		hasCameraValue
+ @abstract		Return value indicates whether the MERAWProcessingBooleanParameter has an optional declared Camera value.
+ @discussion	If the return value is YES and outCameraValue is not nil, the value held by outCameraValue will be set to the camera value.
+				If the return value is NO and outCameraValue is not nil, the value held by outCameraValue will be set to NO.
  */
-@property(readonly) BOOL cameraValue;
+- (BOOL)hasCameraValue:(BOOL * _Nullable)outCameraValue NS_REFINED_FOR_SWIFT;
 
 @end
 
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
+NS_SWIFT_NAME(MERAWProcessingParameter.Integer)
 @interface MERAWProcessingIntegerParameter : MERAWProcessingParameter
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(NSInteger)initialValue maximum:(NSInteger)maximum minimum:(NSInteger)minimum;
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(NSInteger)initialValue maximum:(NSInteger)maximum minimum:(NSInteger)minimum neutralValue:(NSInteger)neutralValue cameraValue:(NSInteger)cameraValue;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(NSInteger)initialValue maximum:(NSInteger)maximum minimum:(NSInteger)minimum NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(NSInteger)initialValue maximum:(NSInteger)maximum minimum:(NSInteger)minimum neutralValue:(NSInteger)neutralValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(NSInteger)initialValue maximum:(NSInteger)maximum minimum:(NSInteger)minimum cameraValue:(NSInteger)cameraValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(NSInteger)initialValue maximum:(NSInteger)maximum minimum:(NSInteger)minimum neutralValue:(NSInteger)neutralValue cameraValue:(NSInteger)cameraValue NS_DESIGNATED_INITIALIZER NS_REFINED_FOR_SWIFT;
 
 /*!
 	@property		maximumValue
-	@abstract		The maximum value for this parameter
+	@abstract		The maximum value for this parameter.
 */
 @property(readonly) NSInteger maximumValue;
 /*!
 	@property		minimumValue
-	@abstract		The minimum value for this parameter
+	@abstract		The minimum value for this parameter.
 */
 @property(readonly) NSInteger minimumValue;
 
@@ -286,39 +297,47 @@
 @property(readonly) NSInteger initialValue;
 
 /*!
-	@property		neutralValue
-	@abstract		A neutral value for this parameter.
+	@property		currentValue
+	@abstract		Get or set the current value for this parameter. 
+	@discussion		This property can be observed if appropriate in order to react to changes which would result in changes to the set of MERAWProcessingParameters vended by the extension.
 */
-@property(readonly) NSInteger neutralValue;
+@property(readwrite) NSInteger currentValue;
 
 /*!
-	@property		cameraValue
-	@abstract		The "As Shot" value for this parameter.
-*/
-@property(readonly) NSInteger cameraValue;
+ @property		hasNeutralValue
+ @abstract		Return value indicates whether the MERAWProcessingIntegerParameter has an optional declared Neutral value.
+ @discussion	If the return value is YES and outNeutralValue is not nil, the value held by outNeutralValue will be set to the neutral value.
+				If the return value is NO and outNeutralValue is not nil, the value held by outNeutralValue will be set to 0.
+ */
+- (BOOL)hasNeutralValue:(NSInteger * _Nullable)outNeutralValue NS_REFINED_FOR_SWIFT;
 
 /*!
-	@property		currentValue
-	@abstract		Get or set the current value for this parameter.
-*/
-@property(readwrite) NSInteger currentValue;
+ @property		hasCameraValue
+ @abstract		Return value indicates whether the MERAWProcessingIntegerParameter has an optional declared Camera value.
+				If the return value is YES and outCameraValue is not nil, the value held by outCameraValue will be set to the camera value.
+				If the return value is NO and outCameraValue is not nil, the value held by outCameraValue will be set to 0.
+ */
+- (BOOL)hasCameraValue:(NSInteger * _Nullable)outCameraValue NS_REFINED_FOR_SWIFT;
 
 @end
 
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
+NS_SWIFT_NAME(MERAWProcessingParameter.FloatingPoint)
 @interface MERAWProcessingFloatParameter : MERAWProcessingParameter
 
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(float)initialValue maximum:(float)maximum minimum:(float)minimum;
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(float)initialValue maximum:(float)maximum minimum:(float)minimum neutralValue:(float)neutralValue cameraValue:(float)cameraValue;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(float)initialValue maximum:(float)maximum minimum:(float)minimum NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(float)initialValue maximum:(float)maximum minimum:(float)minimum neutralValue:(float)neutralValue  NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(float)initialValue maximum:(float)maximum minimum:(float)minimum cameraValue:(float)cameraValue  NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description initialValue:(float)initialValue maximum:(float)maximum minimum:(float)minimum neutralValue:(float)neutralValue cameraValue:(float)cameraValue NS_DESIGNATED_INITIALIZER NS_REFINED_FOR_SWIFT;
 
 /*!
 	@property		maximumValue
-	@abstract		The maximum value for this parameter
+	@abstract		The maximum value for this parameter.
 */
 @property(readonly) float maximumValue;
 /*!
 	@property		minimumValue
-	@abstract		The minimum value for this parameter
+	@abstract		The minimum value for this parameter.
 */
 @property(readonly) float minimumValue;
 
@@ -329,65 +348,78 @@
 @property(readonly) float initialValue;
 
 /*!
-	@property		neutralValue
-	@abstract		A neutral value for this parameter.  If this is a List element,
+	@property		currentValue
+	@abstract		Get or set the current value for this parameter. 
+	@discussion		This property can be observed if appropriate in order to react to changes which would result in changes to the set of MERAWProcessingParameters vended by the extension.
 */
-@property(readonly) float neutralValue;
+@property(readwrite) float currentValue;
 
 /*!
-	@property		cameraValue
-	@abstract		The "As Shot" value for this parameter.
-*/
-@property(readonly) float cameraValue;
+ @property		hasNeutralValue
+ @abstract		Return value indicates whether the MERAWProcessingFloatParameter has an optional declared Neutral value.
+ @discussion	If the return value is YES and outNeutralValue is not nil, the value held by outNeutralValue will be set to the neutral value.
+				If the return value is NO and outNeutralValue is not nil, the value held by outNeutralValue will be set to 0.
+ */
+- (BOOL)hasNeutralValue:(float * _Nullable)outNeutralValue NS_REFINED_FOR_SWIFT;
 
 /*!
-	@property		currentValue
-	@abstract		Get or set the current value for this parameter.
-*/
-@property(readwrite) float currentValue;
+ @property		hasCameraValue
+ @abstract		Return value indicates whether the MERAWProcessingFloatParameter has an optional declared Camera value.
+ @discussion	If the return value is YES and outCameraValue is not nil, the value held by outCameraValue will be set to the camera value.
+				If the return value is NO and outCameraValue is not nil, the value held by outCameraValue will be set to 0.
+ */
+- (BOOL)hasCameraValue:(float * _Nullable)outCameraValue NS_REFINED_FOR_SWIFT;
 
 @end
 
 
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
+NS_SWIFT_NAME(MERAWProcessingParameter.List)
 @interface MERAWProcessingListParameter : MERAWProcessingParameter
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description list:(NSArray<MERAWProcessingParameterListElement *>*)listElements initialValue:(NSInteger)initialValue;
-- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description list:(NSArray<MERAWProcessingParameterListElement *>*)listElements initialValue:(NSInteger)initialValue neutralValue:(NSInteger)neutralValue cameraValue:(NSInteger)cameraValue;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description list:(NSArray<MERAWProcessingListElementParameter *>*)listElements initialValue:(NSInteger)initialValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description list:(NSArray<MERAWProcessingListElementParameter *>*)listElements initialValue:(NSInteger)initialValue neutralValue:(NSInteger)neutralValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description list:(NSArray<MERAWProcessingListElementParameter *>*)listElements initialValue:(NSInteger)initialValue cameraValue:(NSInteger)cameraValue NS_REFINED_FOR_SWIFT;
+- (instancetype)initWithName:(NSString *)name key:(NSString*)key description:(NSString*)description list:(NSArray<MERAWProcessingListElementParameter *>*)listElements initialValue:(NSInteger)initialValue neutralValue:(NSInteger)neutralValue cameraValue:(NSInteger)cameraValue NS_DESIGNATED_INITIALIZER NS_REFINED_FOR_SWIFT;
 
 /*!
 	@property		listElements
-	@abstract		If the parameter is a list, this is the ordered array of labels for each list element.
+	@abstract		The ordered array of MERAWProcessingListElementParameter which make up this list.
 */
-@property(readonly) NSArray<MERAWProcessingParameterListElement *> * listElements;
+@property(readonly) NSArray<MERAWProcessingListElementParameter *> * listElements;
 
 /*!
-	@property		currentValue
-	@abstract		Get or set the current value for this parameter.   The value is the listElementID value of the selected MERAWProcessingParameterListElement.
-*/
-@property(readwrite) NSInteger currentValue;
-
-/*!
 	@property		initialValue
-	@abstract		The initial value for this parameter as defined in the sequence metadata.  The value is the listElementID value of the MERAWProcessingParameterListElement for initial settings.
+	@abstract		The initial value for this parameter as defined in the sequence metadata.  The value is the listElementID value of the MERAWProcessingListElementParameter for initial settings.
 */
 @property(readonly) NSInteger initialValue;
 
 /*!
-	@property		neutralValue
-	@abstract		A neutral value for this parameter.  The value is the listElementID value of the MERAWProcessingParameterListElement for neutral settings.
+	@property		currentValue
+	@abstract		Get or set the current value for this parameter.
+	@discussion		The value is the listElementID value of the selected MERAWProcessingListElementParameter.   This property can be observed if appropriate in order to react to changes which would result in changes to the set of MERAWProcessingParameters vended by the extension.
 */
-@property(readonly) NSInteger neutralValue;
+@property(readwrite) NSInteger currentValue;
 
 /*!
-	@property		cameraValue
-	@abstract		The "As Shot" value for this parameter.  The value is the listElementID value of the MERAWProcessingParameterListElement for "As Shot" settings.
-*/
-@property(readonly) NSInteger cameraValue;
+ @property		hasNeutralValue
+ @abstract		Return value indicates whether the MERAWProcessingListParameter has an optional declared Neutral value.
+ @discussion	If the return value is YES and outNeutralValue is not nil, the value held by outNeutralValue will be set to the neutral value.
+				If the return value is NO and outNeutralValue is not nil, the value held by outNeutralValue will be set to 0.
+ */
+- (BOOL)hasNeutralValue:(NSInteger * _Nullable)outNeutralValue NS_REFINED_FOR_SWIFT;
 
+/*!
+ @property		hasCameraValue
+ @abstract		Return value indicates whether the MERAWProcessingListParameter has an optional declared Camera value.
+ @discussion	If the return value is YES and outCameraValue is not nil, the value held by outCameraValue will be set to the camera value.
+				If the return value is NO and outCameraValue is not nil, the value held by outCameraValue will be set to 0.
+ */
+- (BOOL)hasCameraValue:(NSInteger * _Nullable)outCameraValue NS_REFINED_FOR_SWIFT;
 
 @end
 
 API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos)
+NS_SWIFT_NAME(MERAWProcessingParameter.SubGroup)
 @interface MERAWProcessingSubGroupParameter : MERAWProcessingParameter
 - (instancetype)initWithName:(NSString *)name description:(NSString*)description parameters:(NSArray<MERAWProcessingParameter *>*)parameters;
 
@@ -395,14 +427,13 @@
 
 @end
 
+// This notification is used to notify the client that processor has changed the set of available MERAWProcessingParameters.
+// This includes changing the set of available parameters, changing the enabled state for parameters, or changing default values for parameters.
+// This may occur in response to incoming parameter changes, for example, a change in a selected MERAWProcessingListElementParameter, or due to metadata-driven changes.
+ME_EXPORT NSNotificationName const MERAWProcessorValuesDidChangeNotification API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos) NS_REFINED_FOR_SWIFT;
 
-
-
-// This notification is used to notify the client that the default values for the RAW Processor's processing parameters have changed
-ME_EXPORT NSNotificationName const MERAWProcessorValuesDidChangeNotification API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos);
-
 // This notification is used to notify the VideoToolbox that the value of the readyForMoreMediaData property has changed
-ME_EXPORT NSNotificationName const MERAWProcessorReadyForMoreMediaDataDidChangeNotification API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos);
+ME_EXPORT NSNotificationName const MERAWProcessorReadyForMoreMediaDataDidChangeNotification API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(ios, tvos, watchos) NS_REFINED_FOR_SWIFT;
 
 /*!
 	@protocol		MERAWProcessor
@@ -416,8 +447,8 @@
 /*!
 	@property		metalDeviceID
 	@abstract		Requests that processor use the provided MTLDevice for Metal based processing.
-	@discussion		This optional property requests that the RAWProcessor use the provided MTLDevice for any Metal-based processing.
-					This does not need to be implemented If the processor does not use Metal.
+	@discussion		This optional property requests that the RAWProcessor use the MTLDevice corresponding to this ID for any Metal-based processing.
+					This is optional and does not need to be implemented If the processor does not use Metal.
 */
 @property (nonatomic) uint64_t metalDeviceRegistryID;
 
@@ -455,17 +486,14 @@
 		'imageBuffer'
 			Contains the processed frame if processing was successful, otherwise NULL. The imageBuffer must be allocated using MERAWProcessorPixelBufferManager.
 		'error'
-			An NSError object that will contain error information if the method fails, otherwise nil. Errors outside of MediaExtensionErrorDomain will be reported as kVTRAWProcessorUnknownErr to the VTDecompressionSession client.
+			An NSError object that will contain error information if the method fails, otherwise nil. Errors outside of MediaExtensionErrorDomain will be reported as kVTRAWProcessorUnknownErr to the VTRAWProcessingSession client.
 */
 - (void) processFrameFromImageBuffer: (CVPixelBufferRef)inputFrame
 				   completionHandler: (void (^)(CVPixelBufferRef _Nullable imageBuffer,
 												NSError * _Nullable error))completionHandler;
 
-
 @end
 
-
 NS_ASSUME_NONNULL_END
-
 
 #endif /* MERAWPROCESSOR_H */
Clone this wiki locally