Skip to main content

Module ffi

Module ffi 

Source
Expand description

Raw FFI bindings for Core Media types.

These are low-level bindings and are not intended for direct use.

Functions§

cm_block_buffer_copy_data_bytes⚠
cm_block_buffer_create_empty⚠
cm_block_buffer_create_with_data⚠
cm_block_buffer_get_data_length⚠
cm_block_buffer_get_data_pointer⚠
cm_block_buffer_hash⚠
cm_block_buffer_is_empty⚠
cm_block_buffer_is_range_contiguous⚠
cm_block_buffer_release⚠
cm_block_buffer_retain⚠
cm_format_description_get_audio_bits_per_channel⚠
cm_format_description_get_audio_bytes_per_frame⚠
cm_format_description_get_audio_channel_count⚠
cm_format_description_get_audio_format_flags⚠
cm_format_description_get_audio_sample_rate⚠
cm_format_description_get_extensions⚠
cm_format_description_get_media_subtype⚠
cm_format_description_get_media_type⚠
cm_format_description_hash⚠
cm_format_description_release⚠
cm_format_description_retain⚠
cm_sample_buffer_copy_pcm_data_into_audio_buffer_list⚠
cm_sample_buffer_create_cg_image⚠
Build a retained CGImage from the sample buffer’s image buffer via VTCreateCGImageFromCVPixelBuffer. Returns null on failure with out_status set to the underlying OSStatus (0 = noErr on success).
cm_sample_buffer_create_copy_with_new_timing⚠
cm_sample_buffer_create_for_image_buffer⚠
cm_sample_buffer_free_dirty_rects⚠
cm_sample_buffer_get_bounding_rect⚠
cm_sample_buffer_get_content_rect⚠
cm_sample_buffer_get_content_scale⚠
cm_sample_buffer_get_data_buffer⚠
cm_sample_buffer_get_decode_timestamp⚠
cm_sample_buffer_get_dirty_rects⚠
cm_sample_buffer_get_display_time⚠
cm_sample_buffer_get_duration⚠
cm_sample_buffer_get_format_description⚠
cm_sample_buffer_get_frame_info⚠
Single-call frame attachment fetch — populates out_fields with bits for each successfully-read field. See FrameInfoFields for the bit layout. Replaces the per-attribute accessors above for the hot path (one attachment-array fetch + one CF→Swift bridge cast vs. one per field), measured at ~4× faster when reading multiple fields per frame.
cm_sample_buffer_get_frame_status⚠
cm_sample_buffer_get_num_samples⚠
cm_sample_buffer_get_output_presentation_timestamp⚠
cm_sample_buffer_get_presentation_timestamp⚠
cm_sample_buffer_get_presenter_overlay_content_rect⚠
cm_sample_buffer_get_sample_size⚠
cm_sample_buffer_get_sample_timing_info⚠
cm_sample_buffer_get_scale_factor⚠
cm_sample_buffer_get_screen_rect⚠
cm_sample_buffer_get_total_sample_size⚠
cm_sample_buffer_hash⚠
cm_sample_buffer_invalidate⚠
cm_sample_buffer_is_ready_for_data_access⚠
cm_sample_buffer_is_valid⚠
cm_sample_buffer_make_data_ready⚠
cm_sample_buffer_release⚠
cm_sample_buffer_retain⚠
cm_sample_buffer_set_output_presentation_timestamp⚠
cv_pixel_buffer_create⚠
cv_pixel_buffer_create_with_bytes⚠
cv_pixel_buffer_create_with_io_surface⚠
cv_pixel_buffer_create_with_planar_bytes⚠
cv_pixel_buffer_fill_extended_pixels⚠
cv_pixel_buffer_get_base_address⚠
cv_pixel_buffer_get_base_address_of_plane⚠
cv_pixel_buffer_get_bytes_per_row⚠
cv_pixel_buffer_get_bytes_per_row_of_plane⚠
cv_pixel_buffer_get_data_size⚠
cv_pixel_buffer_get_extended_pixels⚠
cv_pixel_buffer_get_height⚠
cv_pixel_buffer_get_height_of_plane⚠
cv_pixel_buffer_get_io_surface⚠
cv_pixel_buffer_get_pixel_format_type⚠
cv_pixel_buffer_get_plane_count⚠
cv_pixel_buffer_get_type_id⚠
cv_pixel_buffer_get_width⚠
cv_pixel_buffer_get_width_of_plane⚠
cv_pixel_buffer_hash⚠
cv_pixel_buffer_is_planar⚠
cv_pixel_buffer_lock_base_address⚠
cv_pixel_buffer_release⚠
cv_pixel_buffer_retain⚠
cv_pixel_buffer_unlock_base_address⚠
io_surface_decrement_use_count⚠
io_surface_get_alloc_size⚠
io_surface_get_base_address⚠
io_surface_get_base_address_of_plane⚠
io_surface_get_bytes_per_element⚠
io_surface_get_bytes_per_row⚠
io_surface_get_bytes_per_row_of_plane⚠
io_surface_get_element_height⚠
io_surface_get_element_width⚠
io_surface_get_height⚠
io_surface_get_height_of_plane⚠
io_surface_get_id⚠
io_surface_get_pixel_format⚠
io_surface_get_plane_count⚠
io_surface_get_seed⚠
io_surface_get_width⚠
io_surface_get_width_of_plane⚠
io_surface_hash⚠
io_surface_increment_use_count⚠
io_surface_is_in_use⚠
io_surface_lock⚠
io_surface_release⚠
io_surface_retain⚠
io_surface_unlock⚠