pub struct MTAudioProcessingTap { /* private fields */ }MTAudioProcessingTap only.Expand description
Implementations§
Source§impl MTAudioProcessingTap
impl MTAudioProcessingTap
Sourcepub unsafe fn create(
allocator: Option<&CFAllocator>,
callbacks: NonNull<MTAudioProcessingTapCallbacks>,
flags: MTAudioProcessingTapCreationFlags,
tap_out: NonNull<*const MTAudioProcessingTap>,
) -> i32
Available on crate features objc2-core-audio-types and objc2-core-media only.
pub unsafe fn create( allocator: Option<&CFAllocator>, callbacks: NonNull<MTAudioProcessingTapCallbacks>, flags: MTAudioProcessingTapCreationFlags, tap_out: NonNull<*const MTAudioProcessingTap>, ) -> i32
objc2-core-audio-types and objc2-core-media only.Create a new processing tap.
This function creates a processing tap. The processing tap will then be used to process decoded data. The processing is performed on audio either before or after any effects or other processing (varispeed, etc) is applied by the audio queue.
Parameter allocator: The allocator to use to allocate memory for the new tap. Pass NULL or kCFAllocatorDefault to use the current default allocator.
Parameter callbacks: Callbacks struct. MTAudioProcessingTap will make a copy of this struct.
Parameter flags: Flags that are used to control aspects of the processing tap.
Valid flags are:
- kMTAudioProcessingTapCreationFlag_PreEffects: processing is done before any further effects are applied by the audio queue to the audio.
- kMTAudioProcessingTapCreationFlag_PostEffects: processing is done after all processing is done, including that of other taps.
Parameter tapOut: The processing tap object.
Returns: An OSStatus result code.
§Safety
callbacksmust be a valid pointer.tap_outmust be a valid pointer.
Sourcepub unsafe fn storage(&self) -> NonNull<c_void>
pub unsafe fn storage(&self) -> NonNull<c_void>
Used by a processing tap to retrieve a custom storage pointer.
Parameter tap: The processing tap.
Returns: The tapStorage returned by the init callback.
Sourcepub unsafe fn source_audio(
&self,
number_frames: CMItemCount,
buffer_list_in_out: NonNull<AudioBufferList>,
flags_out: *mut MTAudioProcessingTapFlags,
time_range_out: *mut CMTimeRange,
number_frames_out: *mut CMItemCount,
) -> i32
Available on crate features objc2-core-audio-types and objc2-core-media only.
pub unsafe fn source_audio( &self, number_frames: CMItemCount, buffer_list_in_out: NonNull<AudioBufferList>, flags_out: *mut MTAudioProcessingTapFlags, time_range_out: *mut CMTimeRange, number_frames_out: *mut CMItemCount, ) -> i32
objc2-core-audio-types and objc2-core-media only.Used by a processing tap to retrieve source audio.
This function may only be called from the processing tap’s callback.
Parameter tap: The processing tap.
Parameter numberFrames: The number of frames the processing tap requires for its processing.
Parameter bufferListInOut: The audio buffer list which will contain the source data.
On input, all fields except for the buffer pointers must be filled in.
If the buffer pointers are NULL (recommended), non-NULL pointers will be
returned and system owns the source buffers; these buffers are only applicable
for the duration of the processing tap callback.
If the buffer pointers are non-NULL, then they must be big enough to hold
numberFrames, and the source data will be copied into these buffers.
Parameter flagsOut: Flags to describe state about the input requested, e.g., discontinuity/complete. Can be NULL.
Parameter timeRangeOut: The asset time range corresponding to the provided source audio frames. Can be NULL.
Parameter numberFramesOut: The number of source frames that have been provided. Can be NULL.
This can be less than the number of requested frames specified in numberFrames.
Returns: An OSStatus result code.
§Safety
buffer_list_in_outmust be a valid pointer.flags_outmust be a valid pointer or null.time_range_outmust be a valid pointer or null.number_frames_outmust be a valid pointer or null.
Methods from Deref<Target = CFType>§
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: ConcreteType,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: ConcreteType,
Attempt to downcast the type to that of type T.
This is the reference-variant. Use CFRetained::downcast if you
want to convert a retained type. See also ConcreteType for more
details on which types support being converted to.
Sourcepub fn retain_count(&self) -> usize
pub fn retain_count(&self) -> usize
Get the reference count of the object.
This function may be useful for debugging. You normally do not use this function otherwise.
Beware that some things (like CFNumbers, small CFStrings etc.) may
not have a normal retain count for optimization purposes, and can
return usize::MAX in that case.
Trait Implementations§
Source§impl AsRef<AnyObject> for MTAudioProcessingTap
impl AsRef<AnyObject> for MTAudioProcessingTap
Source§impl AsRef<CFType> for MTAudioProcessingTap
impl AsRef<CFType> for MTAudioProcessingTap
Source§impl Borrow<AnyObject> for MTAudioProcessingTap
impl Borrow<AnyObject> for MTAudioProcessingTap
Source§impl Borrow<CFType> for MTAudioProcessingTap
impl Borrow<CFType> for MTAudioProcessingTap
Source§impl ConcreteType for MTAudioProcessingTap
impl ConcreteType for MTAudioProcessingTap
Source§impl Debug for MTAudioProcessingTap
impl Debug for MTAudioProcessingTap
Source§impl Deref for MTAudioProcessingTap
impl Deref for MTAudioProcessingTap
Source§impl Hash for MTAudioProcessingTap
impl Hash for MTAudioProcessingTap
Source§impl Message for MTAudioProcessingTap
impl Message for MTAudioProcessingTap
Source§impl PartialEq for MTAudioProcessingTap
impl PartialEq for MTAudioProcessingTap
Source§impl RefEncode for MTAudioProcessingTap
impl RefEncode for MTAudioProcessingTap
Source§const ENCODING_REF: Encoding
const ENCODING_REF: Encoding
Source§impl Type for MTAudioProcessingTap
impl Type for MTAudioProcessingTap
Source§fn retain(&self) -> CFRetained<Self>where
Self: Sized,
fn retain(&self) -> CFRetained<Self>where
Self: Sized,
Source§fn as_concrete_TypeRef(&self) -> &Self
fn as_concrete_TypeRef(&self) -> &Self
core-foundation crate.Source§unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
core-foundation crate. Read moreSource§fn as_CFTypeRef(&self) -> &CFType
fn as_CFTypeRef(&self) -> &CFType
core-foundation crate.Source§unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
core-foundation crate. Read more