objc2_video_toolbox/generated/VTRAWProcessingSession.rs
1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::cell::UnsafeCell;
4use core::ffi::*;
5use core::marker::{PhantomData, PhantomPinned};
6use core::ptr::NonNull;
7#[cfg(feature = "objc2")]
8use objc2::__framework_prelude::*;
9use objc2_core_foundation::*;
10#[cfg(feature = "objc2-core-media")]
11use objc2_core_media::*;
12#[cfg(feature = "objc2-core-video")]
13use objc2_core_video::*;
14
15use crate::*;
16
17/// A reference to a Video Toolbox RAW Processing Session.
18///
19/// A RAW processing session supports processing of frames that have been output from decoders in camera native formats, for example RAW or bayer formats.
20/// The session reference is a reference-counted CF object.
21///
22/// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/vtrawprocessingsession?language=objc)
23#[doc(alias = "VTRAWProcessingSessionRef")]
24#[repr(C)]
25pub struct VTRAWProcessingSession {
26 inner: [u8; 0],
27 _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
28}
29
30cf_type!(
31 unsafe impl VTRAWProcessingSession {}
32);
33#[cfg(feature = "objc2")]
34cf_objc2_type!(
35 unsafe impl RefEncode<"OpaqueVTRAWProcessingSession"> for VTRAWProcessingSession {}
36);
37
38/// Block invoked when processing parameters change.
39///
40/// This block is called when available parameters or parameter values change without an explicit call to VTRAWProcessingSessionSetProcessingParameters.
41/// This is intended to allow the client to update any UI driven by these parameters.
42///
43/// Parameter `newParameters`: A CFArrayRef contaiing the new parameter details. This follows the same form as the array returned from VTRAWProcessingSessionCopyProcessingParameters.
44///
45/// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/vtrawprocessingparameterchangehandler?language=objc)
46#[cfg(feature = "block2")]
47pub type VTRAWProcessingParameterChangeHandler = *mut block2::DynBlock<dyn Fn(*const CFArray)>;
48
49impl VTRAWProcessingSession {
50 /// Creates a RAW video frame processing session.
51 ///
52 /// .
53 ///
54 /// Parameter `allocator`: An allocator for the session. Pass NULL to use the default allocator.
55 ///
56 /// Parameter `formatDescription`: The CMVideoFormatDescription corresponding to the original media samples, containing sequence-level processing parameters.
57 ///
58 /// Parameter `outputPixelBufferAttributes`: A CoreVideo pixel buffer attributes dictionary describing the client's requirements for pixel buffers for output frames.
59 /// Pass NULL to receive the RAW processor's native output format.
60 ///
61 /// Parameter `processingSessionOptions`: A dictionary of creation-time options for the VTRAWProcessingSession.
62 ///
63 /// Parameter `processingSessionOut`: Points to a variable to receive the new RAW processing session.
64 /// When you are done with the session, call VTRAWProcessingSessionInvalidate
65 /// to tear it down and then CFRelease to release your object reference.
66 ///
67 /// # Safety
68 ///
69 /// - `output_pixel_buffer_attributes` generics must be of the correct type.
70 /// - `processing_session_options` generics must be of the correct type.
71 /// - `processing_session_out` must be a valid pointer.
72 #[doc(alias = "VTRAWProcessingSessionCreate")]
73 #[cfg(feature = "objc2-core-media")]
74 #[inline]
75 pub unsafe fn create(
76 allocator: Option<&CFAllocator>,
77 format_description: &CMVideoFormatDescription,
78 output_pixel_buffer_attributes: Option<&CFDictionary>,
79 processing_session_options: Option<&CFDictionary>,
80 processing_session_out: NonNull<*mut VTRAWProcessingSession>,
81 ) -> OSStatus {
82 extern "C-unwind" {
83 fn VTRAWProcessingSessionCreate(
84 allocator: Option<&CFAllocator>,
85 format_description: &CMVideoFormatDescription,
86 output_pixel_buffer_attributes: Option<&CFDictionary>,
87 processing_session_options: Option<&CFDictionary>,
88 processing_session_out: NonNull<*mut VTRAWProcessingSession>,
89 ) -> OSStatus;
90 }
91 unsafe {
92 VTRAWProcessingSessionCreate(
93 allocator,
94 format_description,
95 output_pixel_buffer_attributes,
96 processing_session_options,
97 processing_session_out,
98 )
99 }
100 }
101
102 /// Tears down a RAW processing session.
103 ///
104 /// When you are done with a decompression session you created, call VTRAWProcessingSessionInvalidate
105 /// to tear it down and then CFRelease to release your object reference.
106 /// When a session's retain count reaches zero, it is automatically invalidated, but
107 /// since sessions may be retained by multiple parties, it can be hard to predict when this will happen.
108 /// Calling VTRAWProcessingSessionInvalidate ensures a deterministic, orderly teardown.
109 #[doc(alias = "VTRAWProcessingSessionInvalidate")]
110 #[inline]
111 pub unsafe fn invalidate(&self) {
112 extern "C-unwind" {
113 fn VTRAWProcessingSessionInvalidate(session: &VTRAWProcessingSession);
114 }
115 unsafe { VTRAWProcessingSessionInvalidate(self) }
116 }
117}
118
119unsafe impl ConcreteType for VTRAWProcessingSession {
120 /// Returns the CFTypeID for RAW processing sessions.
121 #[doc(alias = "VTRAWProcessingSessionGetTypeID")]
122 #[inline]
123 fn type_id() -> CFTypeID {
124 extern "C-unwind" {
125 fn VTRAWProcessingSessionGetTypeID() -> CFTypeID;
126 }
127 unsafe { VTRAWProcessingSessionGetTypeID() }
128 }
129}
130
131impl VTRAWProcessingSession {
132 /// Provides a block which will be called when the VTRAWProcessingPlugin changes the set of processing parameters..
133 ///
134 /// This block will be called the VTRAWProcessingPlugin either changes the set of available processing parameters, or changes the current value of parameters.
135 /// The VTRAWProcessingPlugin may change parameters based on metadata associated with input frames, or in response to other parameters configured by VTRAWProcessingSessionSetProcessingParameters.
136 /// This optional and does not need to be configured if the client is not driving UI based on these parameters, or otherwise does not need this.
137 ///
138 /// Parameter `session`: The RAW processing session.
139 ///
140 /// Parameter `parameterChangeHandler`: A VTRAWProcessingParameterChangeHandler block which will be called when the set of processing parameters changes, or the value of a parameter changes without the client explicitly requesting it.
141 /// Setting this to NULL removes the current handler.
142 ///
143 /// # Safety
144 ///
145 /// `parameter_change_handler` must be a valid pointer or null.
146 #[doc(alias = "VTRAWProcessingSessionSetParameterChangedHandler")]
147 #[cfg(feature = "block2")]
148 #[inline]
149 pub unsafe fn set_parameter_changed_handler(
150 &self,
151 parameter_change_handler: VTRAWProcessingParameterChangeHandler,
152 ) -> OSStatus {
153 extern "C-unwind" {
154 fn VTRAWProcessingSessionSetParameterChangedHandler(
155 session: &VTRAWProcessingSession,
156 parameter_change_handler: VTRAWProcessingParameterChangeHandler,
157 ) -> OSStatus;
158 }
159 unsafe { VTRAWProcessingSessionSetParameterChangedHandler(self, parameter_change_handler) }
160 }
161
162 /// # Safety
163 ///
164 /// `parameter_change_handler` must be a valid pointer or null.
165 #[doc(alias = "VTRAWProcessingSessionSetParameterChangedHander")]
166 #[cfg(feature = "block2")]
167 #[deprecated]
168 #[inline]
169 pub unsafe fn set_parameter_changed_hander(
170 &self,
171 parameter_change_handler: VTRAWProcessingParameterChangeHandler,
172 ) -> OSStatus {
173 extern "C-unwind" {
174 fn VTRAWProcessingSessionSetParameterChangedHander(
175 session: &VTRAWProcessingSession,
176 parameter_change_handler: VTRAWProcessingParameterChangeHandler,
177 ) -> OSStatus;
178 }
179 unsafe { VTRAWProcessingSessionSetParameterChangedHander(self, parameter_change_handler) }
180 }
181}
182
183/// Block invoked when frame processing is complete.
184///
185/// On successful processing, will return a CVPixelBuffer conforming to the session's outputPixelBufferAttributes if any were provided.
186///
187/// Parameter `status`: noErr if processing request was successful; an error code if it was not successful.
188///
189/// Parameter `processedPixelBuffer`: A CVPixelBuffer containing the processed video frame if processing request was successful;
190/// otherwise, NULL.
191///
192/// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/vtrawprocessingoutputhandler?language=objc)
193#[cfg(all(feature = "block2", feature = "objc2-core-video"))]
194pub type VTRAWProcessingOutputHandler = *mut block2::DynBlock<dyn Fn(OSStatus, *mut CVPixelBuffer)>;
195
196impl VTRAWProcessingSession {
197 /// Call this function to submit RAW frames for format-specific processing using sequence and frame level parameters.
198 ///
199 /// Processed frames may or may not be output before the function returns,
200 /// The client should not modify the input pixel data after making this call.
201 /// The RAW Processor will retain the input pixel buffer as long as necessary.
202 ///
203 /// For any RAW processor, there is a finite number of frames that can be
204 /// presented to VTRAWProcessingSessionProcessFrame before the function will block
205 /// until the output callback is invoked.
206 ///
207 /// Parameter `session`: The RAW processing session.
208 ///
209 /// Parameter `inputPixelBuffer`: A CVPixelBuffer containing an input video frame to be processed.
210 ///
211 /// Parameter `frameOptions`: Contains key/value pairs specifying additional properties for processing this frame.
212 /// No keys currently. Pass NULL.
213 ///
214 /// Parameter `outputHandler`: A VTRAWProcessingOutputHandler block which will be called once when processing is complete.
215 ///
216 /// # Safety
217 ///
218 /// - `frame_options` generics must be of the correct type.
219 /// - `output_handler` must be a valid pointer.
220 #[doc(alias = "VTRAWProcessingSessionProcessFrame")]
221 #[cfg(all(feature = "block2", feature = "objc2-core-video"))]
222 #[inline]
223 pub unsafe fn process_frame(
224 &self,
225 input_pixel_buffer: &CVPixelBuffer,
226 frame_options: Option<&CFDictionary>,
227 output_handler: VTRAWProcessingOutputHandler,
228 ) -> OSStatus {
229 extern "C-unwind" {
230 fn VTRAWProcessingSessionProcessFrame(
231 session: &VTRAWProcessingSession,
232 input_pixel_buffer: &CVPixelBuffer,
233 frame_options: Option<&CFDictionary>,
234 output_handler: VTRAWProcessingOutputHandler,
235 ) -> OSStatus;
236 }
237 unsafe {
238 VTRAWProcessingSessionProcessFrame(
239 self,
240 input_pixel_buffer,
241 frame_options,
242 output_handler,
243 )
244 }
245 }
246
247 /// Forces the RAW Processor to complete processing frames.
248 ///
249 /// Call this after calling a set of VTRAWProcessingSessionProcessFrame calls to ensure that all frames have been processed.
250 /// Before VTRAWProcessingSessionCompleteFrames returns, the output handler will be invoked for all pending frames.
251 ///
252 /// Parameter `session`: The RAW processing session.
253 #[doc(alias = "VTRAWProcessingSessionCompleteFrames")]
254 #[inline]
255 pub unsafe fn complete_frames(&self) -> OSStatus {
256 extern "C-unwind" {
257 fn VTRAWProcessingSessionCompleteFrames(session: &VTRAWProcessingSession) -> OSStatus;
258 }
259 unsafe { VTRAWProcessingSessionCompleteFrames(self) }
260 }
261
262 /// Copies an array of dictionaries describing the parameters provided by the RAW Processor for frame processing
263 ///
264 /// This will return an array of dictionaries, one dictionary for each parameter that can be controlled in the RAW Processing operation.
265 /// The dictionary for each parameter will contain a set of kVTRAWProcessingParameter keys whose values provide a name, value type,
266 /// value range, and current value for each parameter.
267 ///
268 /// The returned values can be used to contruct dynamic UI presenting RAW Processing controls allowing the various knobs for this
269 /// specific RAW Processor to be viewed and manipulated.
270 ///
271 /// Parameter `session`: The RAW processing session.
272 ///
273 /// Parameter `outParameterArray`: Pointer for receiving the RAW Processing parameter array..
274 ///
275 /// # Safety
276 ///
277 /// `out_parameter_array` must be a valid pointer.
278 #[doc(alias = "VTRAWProcessingSessionCopyProcessingParameters")]
279 #[inline]
280 pub unsafe fn copy_processing_parameters(
281 &self,
282 out_parameter_array: NonNull<*const CFArray>,
283 ) -> OSStatus {
284 extern "C-unwind" {
285 fn VTRAWProcessingSessionCopyProcessingParameters(
286 session: &VTRAWProcessingSession,
287 out_parameter_array: NonNull<*const CFArray>,
288 ) -> OSStatus;
289 }
290 unsafe { VTRAWProcessingSessionCopyProcessingParameters(self, out_parameter_array) }
291 }
292
293 /// Sets a collection of RAW Processing parameters
294 ///
295 /// This call will set a collection of RAW Processing parameters on the RAW Processor. These are set as a dictionary where the keys match
296 /// kVTRAWProcessingParameter_Key values that were returned in VTRAWProcessingSessionCopyProcessingParameters and where values conform
297 /// to the type and range defined in the kVTRAWProcessingParameter dictionary for each parameter.
298 ///
299 /// Not all parameters from the RAWProcessingParameter array need to be set at any given time. Changining the parameters will not change
300 /// processing on frames already submitted for processing, it will only impact frames where VTRAWProcessingSessionProcessFrame is called
301 /// after VTRAWProcessingSessionSetProcessingParameters returns.
302 ///
303 /// If any parameters specified are not in the array reported by VTRAWProcessingSessionCopyProcessingParameters, or are the wrong type or are out of range,
304 /// kVTParameterErr will be returned and none of the parameters will be applied.
305 ///
306 /// Parameter `session`: The RAW processing session.
307 ///
308 /// Parameter `processingParameters`: A dictionary of keys and values setting parameters reported by VTRAWProcessingSessionCopyProcessingParameters.
309 ///
310 /// Returns: Returns an error if any of the provided parameters are invalid, disabled or outside of the declared valid range.
311 /// None of the provided parameters will be set on the processor if an error is returned.
312 ///
313 /// # Safety
314 ///
315 /// `processing_parameters` generics must be of the correct type.
316 #[doc(alias = "VTRAWProcessingSessionSetProcessingParameters")]
317 #[inline]
318 pub unsafe fn set_processing_parameters(
319 &self,
320 processing_parameters: &CFDictionary,
321 ) -> OSStatus {
322 extern "C-unwind" {
323 fn VTRAWProcessingSessionSetProcessingParameters(
324 session: &VTRAWProcessingSession,
325 processing_parameters: &CFDictionary,
326 ) -> OSStatus;
327 }
328 unsafe { VTRAWProcessingSessionSetProcessingParameters(self, processing_parameters) }
329 }
330}
331
332extern "C" {
333 /// The value corresponding to this key is the string used when specifying this parameter when calling VTRAWProcessingSessionSetProcessingParameters.
334 ///
335 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_key?language=objc)
336 pub static kVTRAWProcessingParameter_Key: &'static CFString;
337}
338
339extern "C" {
340 /// The value corresponding to this key is a localized string which can be displayed in UI representing this parameter.
341 ///
342 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_name?language=objc)
343 pub static kVTRAWProcessingParameter_Name: &'static CFString;
344}
345
346extern "C" {
347 /// The value corresponding to this key is a localized string with a description of the parameter suitable for display in a tooltip or other descriptive UI.
348 ///
349 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_description?language=objc)
350 pub static kVTRAWProcessingParameter_Description: &'static CFString;
351}
352
353extern "C" {
354 /// The value corresponding to this key is Boolean indicating whether the parameter is enabled and can be modified.
355 ///
356 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_enabled?language=objc)
357 pub static kVTRAWProcessingParameter_Enabled: &'static CFString;
358}
359
360extern "C" {
361 /// The value corresponding to this key is the type of the parameter - a Boolean, Integer, Float, List, or SubGroup.
362 ///
363 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_valuetype?language=objc)
364 pub static kVTRAWProcessingParameter_ValueType: &'static CFString;
365}
366
367extern "C" {
368 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_boolean?language=objc)
369 pub static kVTRAWProcessingParameterValueType_Boolean: &'static CFString;
370}
371
372extern "C" {
373 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_integer?language=objc)
374 pub static kVTRAWProcessingParameterValueType_Integer: &'static CFString;
375}
376
377extern "C" {
378 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_float?language=objc)
379 pub static kVTRAWProcessingParameterValueType_Float: &'static CFString;
380}
381
382extern "C" {
383 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_list?language=objc)
384 pub static kVTRAWProcessingParameterValueType_List: &'static CFString;
385}
386
387extern "C" {
388 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparametervaluetype_subgroup?language=objc)
389 pub static kVTRAWProcessingParameterValueType_SubGroup: &'static CFString;
390}
391
392extern "C" {
393 /// The value corresponding to this key is a CFArray of CFDictionaries describing each element in the list..
394 ///
395 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_listarray?language=objc)
396 pub static kVTRAWProcessingParameter_ListArray: &'static CFString;
397}
398
399extern "C" {
400 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameterlistelement_label?language=objc)
401 pub static kVTRAWProcessingParameterListElement_Label: &'static CFString;
402}
403
404extern "C" {
405 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameterlistelement_description?language=objc)
406 pub static kVTRAWProcessingParameterListElement_Description: &'static CFString;
407}
408
409extern "C" {
410 /// [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameterlistelement_listelementid?language=objc)
411 pub static kVTRAWProcessingParameterListElement_ListElementID: &'static CFString;
412}
413
414extern "C" {
415 /// The value corresponding to this key is a CFArray of CFDictionaries representing the individual sub-parameters in this group.
416 ///
417 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_subgroup?language=objc)
418 pub static kVTRAWProcessingParameter_SubGroup: &'static CFString;
419}
420
421extern "C" {
422 /// The value corresponding to this key is the maximum value allowed for this parameter when calling VTRAWProcessingSessionSetProcessingParameters.
423 /// This parameter is optional and not required for parameters where it is not appropriate (such as Boolean or List types).
424 ///
425 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_maximumvalue?language=objc)
426 pub static kVTRAWProcessingParameter_MaximumValue: &'static CFString;
427}
428
429extern "C" {
430 /// The value corresponding to this key is the minimum value allowed for this parameter when calling VTRAWProcessingSessionSetProcessingParameters.
431 /// This parameter is optional and not required for parameters where it is not appropriate (such as Boolean or List types).
432 ///
433 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_minimumvalue?language=objc)
434 pub static kVTRAWProcessingParameter_MinimumValue: &'static CFString;
435}
436
437extern "C" {
438 /// The value corresponding to this key is the initial value for this parameter as defined by the container and metadata provided at creation time.
439 /// For List types, this is the ListElementID for the List element.
440 ///
441 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_initialvalue?language=objc)
442 pub static kVTRAWProcessingParameter_InitialValue: &'static CFString;
443}
444
445extern "C" {
446 /// The value corresponding to this key is a neutral setting for the processor.
447 /// For List types, this is the ListElementID for the List element.
448 ///
449 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_neutralvalue?language=objc)
450 pub static kVTRAWProcessingParameter_NeutralValue: &'static CFString;
451}
452
453extern "C" {
454 /// The value corresponding to this key is the "As Shot" value for this parameter as originally captured by the camera.
455 /// For List types, this is the ListElementID for the List element.
456 ///
457 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_cameravalue?language=objc)
458 pub static kVTRAWProcessingParameter_CameraValue: &'static CFString;
459}
460
461extern "C" {
462 /// The value corresponding to this key is the currently configured value for this parameter. For List types, this is the ListElementID for the List element.
463 ///
464 /// See also [Apple's documentation](https://developer.apple.com/documentation/videotoolbox/kvtrawprocessingparameter_currentvalue?language=objc)
465 pub static kVTRAWProcessingParameter_CurrentValue: &'static CFString;
466}
467
468extern "C-unwind" {
469 #[cfg(feature = "objc2-core-media")]
470 #[deprecated = "renamed to `VTRAWProcessingSession::create`"]
471 pub fn VTRAWProcessingSessionCreate(
472 allocator: Option<&CFAllocator>,
473 format_description: &CMVideoFormatDescription,
474 output_pixel_buffer_attributes: Option<&CFDictionary>,
475 processing_session_options: Option<&CFDictionary>,
476 processing_session_out: NonNull<*mut VTRAWProcessingSession>,
477 ) -> OSStatus;
478}
479
480extern "C-unwind" {
481 #[deprecated = "renamed to `VTRAWProcessingSession::invalidate`"]
482 pub fn VTRAWProcessingSessionInvalidate(session: &VTRAWProcessingSession);
483}
484
485extern "C-unwind" {
486 #[cfg(feature = "block2")]
487 #[deprecated = "renamed to `VTRAWProcessingSession::set_parameter_changed_handler`"]
488 pub fn VTRAWProcessingSessionSetParameterChangedHandler(
489 session: &VTRAWProcessingSession,
490 parameter_change_handler: VTRAWProcessingParameterChangeHandler,
491 ) -> OSStatus;
492}
493
494extern "C-unwind" {
495 #[cfg(feature = "block2")]
496 #[deprecated = "renamed to `VTRAWProcessingSession::set_parameter_changed_hander`"]
497 pub fn VTRAWProcessingSessionSetParameterChangedHander(
498 session: &VTRAWProcessingSession,
499 parameter_change_handler: VTRAWProcessingParameterChangeHandler,
500 ) -> OSStatus;
501}
502
503extern "C-unwind" {
504 #[cfg(all(feature = "block2", feature = "objc2-core-video"))]
505 #[deprecated = "renamed to `VTRAWProcessingSession::process_frame`"]
506 pub fn VTRAWProcessingSessionProcessFrame(
507 session: &VTRAWProcessingSession,
508 input_pixel_buffer: &CVPixelBuffer,
509 frame_options: Option<&CFDictionary>,
510 output_handler: VTRAWProcessingOutputHandler,
511 ) -> OSStatus;
512}
513
514extern "C-unwind" {
515 #[deprecated = "renamed to `VTRAWProcessingSession::complete_frames`"]
516 pub fn VTRAWProcessingSessionCompleteFrames(session: &VTRAWProcessingSession) -> OSStatus;
517}
518
519extern "C-unwind" {
520 #[deprecated = "renamed to `VTRAWProcessingSession::copy_processing_parameters`"]
521 pub fn VTRAWProcessingSessionCopyProcessingParameters(
522 session: &VTRAWProcessingSession,
523 out_parameter_array: NonNull<*const CFArray>,
524 ) -> OSStatus;
525}
526
527extern "C-unwind" {
528 #[deprecated = "renamed to `VTRAWProcessingSession::set_processing_parameters`"]
529 pub fn VTRAWProcessingSessionSetProcessingParameters(
530 session: &VTRAWProcessingSession,
531 processing_parameters: &CFDictionary,
532 ) -> OSStatus;
533}