Logo

Core Concepts

  • OBS Studio Backend Design
    • Libobs Plugin Objects
    • Libobs Threads
    • Output Channels
    • General Video Pipeline Overview
    • General Audio Pipeline Overview
  • Plugins
    • Plugin Module Headers
    • Common Directory Structure and CMakeLists.txt
    • Native Plugin Initialization
    • Sources
    • Outputs
    • Encoders
    • Services
    • Settings
    • Properties
    • Localization
  • Frontends
    • Initialization and Shutdown
    • Reconfiguring Video
    • Displays
    • Saving/Loading Objects and Object Management
    • Signals
    • Displaying Sources
    • Outputs, Encoders, and Services
  • Rendering Graphics
    • The Graphics Context
    • Creating Effects
      • Effect Parameters
      • Effect Sampler States
      • Effect Vertex/Pixel Semantics
      • Effect Techniques
    • Using Effects
    • Rendering Video Sources
    • Rendering Video Effect Filters
  • Python/Lua Scripting
    • Script Function Exports
      • script_description()
      • script_load()
      • script_unload()
      • script_save()
      • script_defaults()
      • script_update()
      • script_properties()
      • script_tick()
    • Getting the Current Script’s Path
      • script_path()
    • Script Timers
      • timer_add()
      • timer_remove()
    • Script Sources (Lua Only)
    • Other Differences From the C API
      • obs_enum_sources()
      • obs_scene_enum_items()
      • obs_sceneitem_group_enum_items()
      • obs_add_main_render_callback()
      • obs_remove_main_render_callback()
      • signal_handler_connect()
      • signal_handler_disconnect()
      • signal_handler_connect_global()
      • signal_handler_disconnect_global()
      • obs_hotkey_register_frontend()
      • obs_hotkey_unregister()
      • obs_properties_add_button()
      • remove_current_callback()
      • source_list_release()
      • sceneitem_list_release()
      • calldata_source()
      • calldata_sceneitem()

API Reference

  • OBS Core
    • Initialization, Shutdown, and Information
      • obs_startup()
      • obs_shutdown()
      • obs_initialized()
      • obs_get_version()
      • obs_get_version_string()
      • obs_set_locale()
      • obs_get_locale()
      • obs_get_profiler_name_store()
      • obs_reset_video()
      • obs_reset_audio()
      • obs_reset_audio2()
      • obs_get_video_info()
      • obs_get_video_sdr_white_level()
      • obs_get_video_hdr_nominal_peak_level()
      • obs_set_video_levels()
      • obs_get_audio_info()
    • Libobs Objects
      • obs_enum_source_types()
      • obs_enum_input_types()
      • obs_enum_filter_types()
      • obs_enum_transition_types()
      • obs_enum_output_types()
      • obs_enum_encoder_types()
      • obs_enum_service_types()
      • obs_enum_sources()
      • obs_enum_scenes()
      • obs_enum_outputs()
      • obs_enum_encoders()
      • obs_enum_canvases()
      • obs_get_source_by_name()
      • obs_get_source_by_uuid()
      • obs_get_transition_by_name()
      • obs_get_transition_by_uuid()
      • obs_get_scene_by_name()
      • obs_get_output_by_name()
      • obs_get_encoder_by_name()
      • obs_get_service_by_name()
      • obs_get_canvas_by_name()
      • obs_get_canvas_by_uuid()
      • obs_save_source()
      • obs_load_source()
      • obs_load_sources()
      • obs_save_sources()
      • obs_save_sources_filtered()
    • Video, Audio, and Graphics
      • obs_enter_graphics()
      • obs_leave_graphics()
      • obs_get_audio()
      • obs_get_video()
      • obs_set_output_source()
      • obs_get_output_source()
      • obs_get_base_effect()
      • obs_render_main_texture()
      • obs_audio_monitoring_available()
      • obs_reset_audio_monitoring()
      • obs_enum_audio_monitoring_devices()
      • obs_set_audio_monitoring_device()
      • obs_get_audio_monitoring_device()
      • obs_add_main_render_callback()
      • obs_remove_main_render_callback()
      • obs_add_main_rendered_callback()
      • obs_remove_main_rendered_callback()
      • obs_add_raw_video_callback()
      • obs_remove_raw_video_callback()
      • obs_add_raw_audio_callback()
      • obs_remove_raw_raw_callback()
    • Primary signal/procedure handlers
      • obs_get_signal_handler()
      • obs_get_proc_handler()
    • Core OBS Signals
    • Displays
      • obs_display_create()
      • obs_display_destroy()
      • obs_display_resize()
      • obs_display_add_draw_callback()
      • obs_display_remove_draw_callback()
      • obs_display_set_enabled()
      • obs_display_enabled()
      • obs_display_set_background_color()
    • Views
      • obs_view_create()
      • obs_view_destroy()
      • obs_view_render()
      • obs_view_add()
      • obs_view_add2()
      • obs_view_remove()
      • obs_view_set_source()
      • obs_view_get_source()
      • obs_view_enum_video_info()
  • Modules
    • obs_module_t
    • Module Macros
      • OBS_DECLARE_MODULE()
      • OBS_MODULE_USE_DEFAULT_LOCALE()
    • Module Exports
      • obs_module_load()
      • obs_module_unload()
      • obs_module_post_load()
      • obs_module_set_locale()
      • obs_module_free_locale()
      • obs_module_name()
      • obs_module_description()
    • Module Externs
      • obs_module_text()
      • obs_module_get_string()
      • obs_current_module()
      • obs_module_file()
      • obs_module_config_path()
    • Frontend Module Functions
      • obs_open_module()
      • obs_init_module()
      • obs_log_loaded_modules()
      • obs_get_module_file_name()
      • obs_get_module_name()
      • obs_get_module_author()
      • obs_get_module_description()
      • obs_get_module_binary_path()
      • obs_get_module_data_path()
      • obs_add_module_path()
      • obs_load_all_modules()
      • obs_load_all_modules2()
      • obs_add_safe_module()
      • obs_module_failure_info_free()
      • obs_post_load_modules()
      • obs_find_modules()
      • obs_find_modules2()
      • obs_enum_modules()
      • obs_find_module_file()
      • obs_module_get_config_path()
      • obs_get_module_lib()
  • Core API Object
    • Sources (obs_source_t)
      • obs_source_t
      • obs_weak_source_t
      • Source Definition Structure (obs_source_info)
        • obs_source_info
        • id
        • version
        • type
        • output_flags
        • get_name
        • create
        • destroy
        • get_width
        • get_height
        • get_defaults
        • get_defaults2
        • get_properties
        • get_properties2
        • update
        • activate
        • deactivate
        • show
        • hide
        • video_tick
        • video_render
        • filter_video
        • filter_audio
        • enum_active_sources
        • save
        • load
        • mouse_click
        • mouse_move
        • mouse_wheel
        • focus
        • key_click
        • filter_add
        • filter_remove
        • type_data
        • free_type_data
        • audio_render
        • enum_all_sources
        • transition_start
        • transition_stop
        • icon_type
        • media_play_pause
        • media_restart
        • media_stop
        • media_next
        • media_previous
        • media_get_duration
        • media_get_time
        • media_set_time
        • media_get_state
        • missing_files
        • video_get_color_space
      • Common Source Signals
      • Source-specific Signals
      • Source-specific Procedures
      • General Source Functions
        • obs_register_source()
        • obs_source_get_display_name()
        • obs_source_create()
        • obs_source_create_private()
        • obs_source_duplicate()
        • obs_source_get_ref()
        • obs_source_release()
        • obs_source_get_weak_source()
        • obs_weak_source_get_source()
        • obs_weak_source_addref()
        • obs_weak_source_release()
        • obs_source_remove()
        • obs_source_removed()
        • obs_source_is_hidden()
        • obs_source_set_hidden()
        • obs_source_get_output_flags()
        • obs_get_source_output_flags()
        • obs_get_source_defaults()
        • obs_source_properties()
        • obs_get_source_properties()
        • obs_source_configurable()
        • obs_is_source_configurable()
        • obs_source_update()
        • obs_source_reset_settings()
        • obs_source_video_render()
        • obs_source_get_width()
        • obs_source_get_height()
        • obs_source_get_color_space()
        • obs_source_get_texcoords_centered()
        • obs_source_get_settings()
        • obs_source_get_name()
        • obs_source_get_uuid()
        • obs_source_set_name()
        • obs_source_get_type()
        • obs_source_is_scene()
        • obs_source_is_group()
        • obs_source_get_id()
        • obs_source_get_unversioned_id()
        • obs_source_get_signal_handler()
        • obs_source_get_proc_handler()
        • obs_source_set_volume()
        • obs_source_get_volume()
        • obs_source_muted()
        • obs_source_set_muted()
        • obs_source_get_speaker_layout()
        • obs_source_set_balance_value()
        • obs_source_get_balance_value()
        • obs_source_set_sync_offset()
        • obs_source_get_sync_offset()
        • obs_source_set_audio_mixers()
        • obs_source_get_audio_mixers()
        • obs_source_set_monitoring_type()
        • obs_source_get_monitoring_type()
        • obs_source_set_audio_active()
        • obs_source_audio_active()
        • obs_source_enum_active_sources()
        • obs_source_enum_active_tree()
        • obs_source_push_to_mute_enabled()
        • obs_source_enable_push_to_mute()
        • obs_source_get_push_to_mute_delay()
        • obs_source_set_push_to_mute_delay()
        • obs_source_push_to_talk_enabled()
        • obs_source_enable_push_to_talk()
        • obs_source_get_push_to_talk_delay()
        • obs_source_set_push_to_talk_delay()
        • obs_source_active()
        • obs_source_showing()
        • obs_source_inc_showing()
        • obs_source_dec_showing()
        • obs_source_set_flags()
        • obs_source_get_flags()
        • obs_source_enum_filters()
        • obs_source_get_filter_by_name()
        • obs_source_copy_filters()
        • obs_source_copy_single_filter()
        • obs_source_filter_count()
        • obs_source_backup_filters()
        • obs_source_restore_filters()
        • obs_source_enabled()
        • obs_source_set_enabled()
        • obs_source_add_audio_capture_callback()
        • obs_source_remove_audio_capture_callback()
        • obs_source_set_deinterlace_mode()
        • obs_source_get_deinterlace_mode()
        • obs_source_set_deinterlace_field_order()
        • obs_source_get_deinterlace_field_order()
        • obs_source_get_private_settings()
        • obs_source_send_mouse_click()
        • obs_source_send_mouse_move()
        • obs_source_send_mouse_wheel()
        • obs_source_send_focus()
        • obs_source_send_key_click()
        • obs_source_get_icon_type()
        • obs_source_media_play_pause()
        • obs_source_media_restart()
        • obs_source_media_stop()
        • obs_source_media_next()
        • obs_source_media_previous()
        • obs_source_media_get_duration()
        • obs_source_media_get_time()
        • obs_source_media_set_time()
        • obs_source_media_get_state()
        • obs_source_media_started()
        • obs_source_media_ended()
        • obs_source_get_canvas()
      • Functions used by sources
        • obs_source_draw_set_color_matrix()
        • obs_source_draw()
        • obs_source_output_video()
        • obs_source_set_async_rotation()
        • obs_source_preload_video()
        • obs_source_show_preloaded_video()
        • obs_source_output_audio()
        • obs_source_update_properties()
        • obs_source_add_active_child()
        • obs_source_remove_active_child()
      • Filters
        • obs_filter_get_parent()
        • obs_filter_get_target()
        • obs_source_default_render()
        • obs_source_filter_add()
        • obs_source_filter_remove()
        • obs_source_filter_set_order()
        • obs_source_filter_set_index()
        • obs_source_filter_get_index()
      • Functions used by filters
        • obs_source_process_filter_begin()
        • obs_source_process_filter_begin_with_color_space()
        • obs_source_process_filter_end()
        • obs_source_process_filter_tech_end()
        • obs_source_skip_video_filter()
      • Transitions
        • obs_transition_get_source()
        • obs_transition_clear()
        • obs_transition_get_active_source()
        • obs_transition_start()
        • obs_transition_set_size()
        • obs_transition_get_size()
        • obs_transition_set_scale_type()
        • obs_transition_get_scale_type()
        • obs_transition_set_alignment()
        • obs_transition_get_alignment()
      • Functions used by transitions
        • obs_transition_enable_fixed()
        • obs_transition_fixed()
        • obs_transition_get_time()
        • obs_transition_video_render()
        • obs_transition_video_render2()
        • obs_transition_video_get_color_space()
        • obs_transition_audio_render()
        • obs_transition_swap_begin()
        • obs_transition_swap_end()
    • Scenes (obs_scene_t)
      • obs_scene_t
      • obs_sceneitem_t
      • Scene Item Transform Structure (obs_transform_info)
        • obs_transform_info
        • pos
        • rot
        • scale
        • alignment
        • bounds_type
        • bounds_alignment
        • bounds
      • Scene Item Crop Structure (obs_sceneitem_crop)
        • obs_sceneitem_crop
        • left
        • top
        • right
        • bottom
      • Scene Item Order Info Structure (*obs_sceneitem_order_info)
        • obs_sceneitem_order_info
        • group
        • item
      • Scene Signals
      • General Scene Functions
        • obs_scene_create()
        • obs_scene_create_private()
        • obs_scene_duplicate()
        • obs_scene_get_ref()
        • obs_scene_release()
        • obs_scene_add()
        • obs_scene_get_source()
        • obs_scene_from_source()
        • obs_scene_find_source()
        • obs_scene_find_source_recursive()
        • obs_scene_find_sceneitem_by_id()
        • obs_scene_enum_items()
        • obs_scene_reorder_items()
        • obs_scene_reorder_items2()
        • obs_scene_prune_sources()
      • Scene Item Functions
        • obs_sceneitem_addref()
        • obs_sceneitem_release()
        • obs_sceneitem_remove()
        • obs_sceneitem_get_scene()
        • obs_sceneitem_get_source()
        • obs_sceneitem_set_id()
        • obs_sceneitem_get_id()
        • obs_scene_save_transform_states()
        • obs_scene_load_transform_states()
        • obs_sceneitem_set_pos()
        • obs_sceneitem_get_pos()
        • obs_sceneitem_set_rot()
        • obs_sceneitem_get_rot()
        • obs_sceneitem_set_scale()
        • obs_sceneitem_get_scale()
        • obs_sceneitem_set_alignment()
        • obs_sceneitem_get_alignment()
        • obs_sceneitem_set_order()
        • obs_sceneitem_set_order_position()
        • obs_sceneitem_get_order_position()
        • obs_sceneitem_set_bounds_type()
        • obs_sceneitem_get_bounds_type()
        • obs_sceneitem_set_bounds_alignment()
        • obs_sceneitem_get_bounds_alignment()
        • obs_sceneitem_set_bounds()
        • obs_sceneitem_get_bounds()
        • obs_sceneitem_set_info2()
        • obs_sceneitem_get_info2()
        • obs_sceneitem_get_draw_transform()
        • obs_sceneitem_get_box_transform()
        • obs_sceneitem_select()
        • obs_sceneitem_selected()
        • obs_sceneitem_set_visible()
        • obs_sceneitem_visible()
        • obs_sceneitem_set_locked()
        • obs_sceneitem_locked()
        • obs_sceneitem_set_crop()
        • obs_sceneitem_get_crop()
        • obs_sceneitem_set_scale_filter()
        • obs_sceneitem_get_scale_filter()
        • obs_sceneitem_set_blending_method()
        • obs_sceneitem_get_blending_method()
        • obs_sceneitem_set_blending_mode()
        • obs_sceneitem_get_blending_mode()
        • obs_sceneitem_defer_update_begin()
        • obs_sceneitem_defer_update_end()
        • obs_sceneitem_get_private_settings()
        • obs_sceneitem_set_transition()
        • obs_sceneitem_get_transition()
        • obs_sceneitem_set_transition_duration()
        • obs_sceneitem_get_transition_duration()
        • obs_sceneitem_do_transition()
      • Scene Item Group Functions
        • obs_scene_add_group()
        • obs_scene_add_group2()
        • obs_scene_insert_group()
        • obs_scene_insert_group2()
        • obs_scene_get_group()
        • obs_group_from_source()
        • obs_group_or_scene_from_source()
        • obs_sceneitem_is_group()
        • obs_sceneitem_group_get_scene()
        • obs_sceneitem_group_ungroup()
        • obs_sceneitem_group_ungroup2()
        • obs_sceneitem_group_add_item()
        • obs_sceneitem_group_remove_item()
        • obs_sceneitem_get_group()
        • obs_sceneitem_group_enum_items()
        • obs_sceneitem_defer_group_resize_begin()
        • obs_sceneitem_defer_group_resize_end()
    • Outputs (obs_output_t)
      • obs_output_t
      • obs_weak_output_t
      • Output Definition Structure (obs_output_info)
        • obs_output_info
        • id
        • flags
        • get_name
        • create
        • destroy
        • start
        • stop
        • raw_video
        • raw_audio
        • raw_audio2
        • encoded_packet
        • update
        • get_defaults
        • get_defaults2
        • get_properties
        • get_properties2
        • unused1
        • get_total_bytes
        • get_dropped_frames
        • type_data
        • free_type_data
        • get_congestion
        • get_connect_time_ms
        • encoded_video_codecs
        • encoded_audio_codecs
        • protocols
      • Output Signals
      • General Output Functions
        • obs_register_output()
        • obs_output_get_display_name()
        • obs_output_create()
        • obs_output_get_ref()
        • obs_output_release()
        • obs_output_get_weak_output()
        • obs_weak_output_get_output()
        • obs_weak_output_addref()
        • obs_weak_output_release()
        • obs_weak_output_references_output()
        • obs_output_get_name()
        • obs_output_get_id()
        • obs_output_start()
        • obs_output_stop()
        • obs_output_set_delay()
        • obs_output_get_delay()
        • obs_output_get_active_delay()
        • obs_output_force_stop()
        • obs_output_active()
        • obs_output_defaults()
        • obs_output_properties()
        • obs_get_output_properties()
        • obs_output_update()
        • obs_output_can_pause()
        • obs_output_pause()
        • obs_output_paused()
        • obs_output_get_settings()
        • obs_output_get_signal_handler()
        • obs_output_get_proc_handler()
        • obs_output_set_media()
        • obs_output_video()
        • obs_output_audio()
        • obs_output_set_mixer()
        • obs_output_get_mixer()
        • obs_output_set_mixers()
        • obs_output_get_mixers()
        • obs_output_set_video_encoder()
        • obs_output_set_audio_encoder()
        • obs_output_get_video_encoder()
        • obs_output_get_audio_encoder()
        • obs_output_set_service()
        • obs_output_get_service()
        • obs_output_set_reconnect_settings()
        • obs_output_get_total_bytes()
        • obs_output_get_frames_dropped()
        • obs_output_get_total_frames()
        • obs_output_set_preferred_size()
        • obs_output_get_width()
        • obs_output_get_height()
        • obs_output_output_caption_text1()
        • obs_output_output_caption_text2()
        • obs_output_get_congestion()
        • obs_output_get_connect_time_ms()
        • obs_output_reconnecting()
        • obs_output_get_supported_video_codecs()
        • obs_get_output_supported_video_codecs()
        • obs_output_get_supported_audio_codecs()
        • obs_get_output_supported_audio_codecs()
        • obs_output_get_flags()
        • obs_get_output_flags()
        • obs_output_get_protocols()
        • obs_is_output_protocol_registered()
        • obs_enum_output_protocols()
        • obs_enum_output_types_with_protocol()
        • obs_output_set_reconnect_callback()
      • Functions used by outputs
        • obs_output_set_last_error()
        • obs_output_get_last_error()
        • obs_output_set_video_conversion()
        • obs_output_get_video_conversion()
        • obs_output_set_audio_conversion()
        • obs_output_can_begin_data_capture()
        • obs_output_initialize_encoders()
        • obs_output_begin_data_capture()
        • obs_output_end_data_capture()
        • obs_output_signal_stop()
        • obs_output_get_pause_offset()
    • Encoders (obs_encoder_t)
      • obs_encoder_t
      • obs_weak_encoder_t
      • Encoder Definition Structure (obs_encoder_info)
        • obs_encoder_info
        • id
        • type
        • codec
        • get_name
        • create
        • destroy
        • encode
        • get_frame_size
        • get_defaults
        • get_defaults2
        • get_properties
        • get_properties2
        • update
        • get_extra_data
        • get_sei_data
        • get_audio_info
        • get_video_info
        • type_data
        • free_type_data
        • caps
        • get_priming_samples
      • Encoder Packet Structure (encoder_packet)
        • encoder_packet
        • data
        • size
        • pts
        • dts
        • timebase_num
        • timebase_den
        • type
        • keyframe
        • dts_usec
        • sys_dts_usec
        • priority
        • drop_priority
        • track_idx
        • encoder
      • Raw Frame Data Structure (encoder_frame)
        • encoder_frame
        • data
        • linesize
        • frames
        • pts
      • Encoder Region of Interest Structure (obs_encoder_roi)
        • obs_encoder_roi
        • top
        • bottom
        • left
        • right
        • priority
      • General Encoder Functions
        • obs_register_encoder()
        • obs_encoder_get_display_name()
        • obs_video_encoder_create()
        • obs_audio_encoder_create()
        • obs_encoder_get_ref()
        • obs_encoder_release()
        • obs_encoder_get_weak_encoder()
        • obs_weak_encoder_get_encoder()
        • obs_weak_encoder_addref()
        • obs_weak_encoder_release()
        • obs_encoder_set_name()
        • obs_encoder_get_name()
        • obs_encoder_get_codec()
        • obs_get_encoder_codec()
        • obs_encoder_get_type()
        • obs_get_encoder_type()
        • obs_encoder_set_scaled_size()
        • obs_encoder_scaling_enabled()
        • obs_encoder_get_width()
        • obs_encoder_get_height()
        • obs_encoder_get_sample_rate()
        • obs_encoder_get_frame_size()
        • obs_encoder_get_mixer_index()
        • obs_encoder_set_preferred_video_format()
        • obs_encoder_get_preferred_video_format()
        • obs_encoder_defaults()
        • obs_encoder_get_defaults()
        • obs_encoder_properties()
        • obs_get_encoder_properties()
        • obs_encoder_update()
        • obs_encoder_get_settings()
        • obs_encoder_get_signal_handler()
        • obs_encoder_get_proc_handler()
        • obs_encoder_get_extra_data()
        • obs_encoder_set_video()
        • obs_encoder_set_audio()
        • obs_encoder_video()
        • obs_encoder_parent_video()
        • obs_encoder_audio()
        • obs_encoder_active()
        • obs_encoder_add_roi()
        • obs_encoder_has_roi()
        • obs_encoder_clear_roi()
        • obs_encoder_enum_roi()
        • obs_encoder_get_roi_increment()
        • obs_encoder_get_priming_samples()
      • Functions used by encoders
        • obs_encoder_packet_ref()
        • obs_encoder_packet_release()
    • Services (obs_service_t)
      • obs_service_t
      • obs_weak_service_t
      • Service Definition Structure
        • obs_service_info
        • id
        • get_name
        • create
        • destroy
        • get_defaults
        • get_defaults2
        • get_properties
        • get_properties2
        • update
        • initialize
        • get_url
        • get_key
        • get_username
        • get_password
        • apply_encoder_settings
        • type_data
        • free_type_data
        • get_output_type
        • get_supported_video_codecs
        • get_supported_audio_codecs
        • get_protocol
        • get_connect_info
        • can_try_to_connect
      • General Service Functions
        • obs_register_service()
        • obs_service_get_display_name()
        • obs_service_create()
        • obs_service_get_ref()
        • obs_service_release()
        • obs_service_get_weak_service()
        • obs_weak_service_get_service()
        • obs_weak_service_addref()
        • obs_weak_service_release()
        • obs_service_get_name()
        • obs_service_defaults()
        • obs_service_properties()
        • obs_get_service_properties()
        • obs_service_get_settings()
        • obs_service_update()
        • obs_service_apply_encoder_settings()
        • obs_service_get_supported_video_codecs()
        • obs_service_get_supported_audio_codecs()
        • obs_service_get_protocol()
        • obs_service_get_preferred_output_type()
        • obs_service_get_connect_info()
        • obs_service_can_try_to_connect()
    • Data Settings (obs_data_t)
      • obs_data_t
      • obs_data_array_t
      • General Functions
        • obs_data_create()
        • obs_data_create_from_json()
        • obs_data_create_from_json_file()
        • obs_data_create_from_json_file_safe()
        • obs_data_addref()
        • obs_data_release()
        • obs_data_get_json()
        • obs_data_get_json_with_defaults()
        • obs_data_get_json_pretty()
        • obs_data_get_json_pretty_with_defaults()
        • obs_data_get_last_json()
        • obs_data_save_json()
        • obs_data_save_json_safe()
        • obs_data_apply()
        • obs_data_erase()
        • obs_data_clear()
      • Set Functions
        • obs_data_set_string()
        • obs_data_set_int()
        • obs_data_set_double()
        • obs_data_set_bool()
        • obs_data_set_obj()
        • obs_data_set_array()
      • Get Functions
        • obs_data_get_string()
        • obs_data_get_int()
        • obs_data_get_double()
        • obs_data_get_bool()
        • obs_data_get_obj()
        • obs_data_get_array()
      • Default Value Functions
        • obs_data_get_defaults()
        • obs_data_set_default_string()
        • obs_data_get_default_string()
        • obs_data_set_default_int()
        • obs_data_get_default_int()
        • obs_data_set_default_double()
        • obs_data_get_default_double()
        • obs_data_set_default_bool()
        • obs_data_get_default_bool()
        • obs_data_set_default_obj()
        • obs_data_get_default_obj()
        • obs_data_set_default_array()
        • obs_data_get_default_array()
      • Autoselect Functions
        • obs_data_set_autoselect_string()
        • obs_data_get_autoselect_string()
        • obs_data_set_autoselect_int()
        • obs_data_get_autoselect_int()
        • obs_data_set_autoselect_double()
        • obs_data_get_autoselect_double()
        • obs_data_set_autoselect_bool()
        • obs_data_get_autoselect_bool()
        • obs_data_set_autoselect_obj()
        • obs_data_get_autoselect_obj()
        • obs_data_set_autoselect_array()
        • obs_data_get_autoselect_array()
      • Array Functions
        • obs_data_array_create()
        • obs_data_array_addref()
        • obs_data_array_release()
        • obs_data_array_count()
        • obs_data_array_item()
        • obs_data_array_push_back()
        • obs_data_array_insert()
        • obs_data_array_erase()
    • Properties (obs_properties_t)
      • obs_properties_t
      • obs_property_t
      • General Functions
        • obs_properties_create()
        • obs_properties_create_param()
        • obs_properties_destroy()
        • obs_properties_set_flags()
        • obs_properties_get_flags()
        • obs_properties_set_param()
        • obs_properties_get_param()
        • obs_properties_apply_settings()
        • obs_properties_get_parent()
        • obs_properties_remove_by_name()
      • Property Object Functions
        • obs_properties_add_bool()
        • obs_properties_add_int()
        • obs_properties_add_float()
        • obs_properties_add_int_slider()
        • obs_properties_add_float_slider()
        • obs_properties_add_text()
        • obs_properties_add_path()
        • obs_properties_add_list()
        • obs_properties_add_color()
        • obs_properties_add_color_alpha()
        • obs_properties_add_button()
        • obs_properties_add_button2()
        • obs_properties_add_font()
        • obs_properties_add_editable_list()
        • obs_properties_add_frame_rate()
        • obs_properties_add_group()
      • Property Enumeration Functions
        • obs_properties_first()
        • obs_properties_get()
        • obs_property_next()
        • obs_property_name()
        • obs_property_description()
        • obs_property_long_description()
        • obs_property_get_type()
        • obs_property_enabled()
        • obs_property_visible()
        • obs_property_int_min()
        • obs_property_int_max()
        • obs_property_int_step()
        • obs_property_int_type()
        • obs_property_int_suffix()
        • obs_property_float_min()
        • obs_property_float_max()
        • obs_property_float_step()
        • obs_property_float_type()
        • obs_property_float_suffix()
        • obs_property_text_type()
        • obs_property_text_monospace()
        • obs_property_text_info_type()
        • obs_property_text_info_word_wrap()
        • obs_property_path_type()
        • obs_property_path_filter()
        • obs_property_path_default_path()
        • obs_property_list_type()
        • obs_property_list_format()
        • obs_property_list_item_disabled()
        • obs_property_list_item_count()
        • obs_property_list_item_name()
        • obs_property_list_item_string()
        • obs_property_list_item_int()
        • obs_property_list_item_float()
        • obs_property_editable_list_type()
        • obs_property_editable_list_filter()
        • obs_property_editable_list_default_path()
        • obs_property_frame_rate_options_count()
        • obs_property_frame_rate_option_name()
        • obs_property_frame_rate_option_description()
        • obs_property_frame_rate_fps_ranges_count()
        • obs_property_frame_rate_fps_range_min()
        • obs_property_frame_rate_fps_range_max()
        • obs_property_button_type()
        • obs_property_button_url()
        • obs_property_group_type()
        • obs_property_group_content()
      • Property Modification Functions
        • obs_property_set_modified_callback()
        • obs_property_set_modified_callback2()
        • obs_property_modified()
        • obs_property_button_clicked()
        • obs_property_set_visible()
        • obs_property_set_enabled()
        • obs_property_set_description()
        • obs_property_set_long_description()
        • obs_property_int_set_limits()
        • obs_property_float_set_limits()
        • obs_property_int_set_suffix()
        • obs_property_float_set_suffix()
        • obs_property_text_set_monospace()
        • obs_property_text_set_info_type()
        • obs_property_text_set_info_word_wrap()
        • obs_property_list_clear()
        • obs_property_list_add_string()
        • obs_property_list_add_int()
        • obs_property_list_add_float()
        • obs_property_list_insert_string()
        • obs_property_list_insert_int()
        • obs_property_list_insert_float()
        • obs_property_list_item_disable()
        • obs_property_list_item_remove()
        • obs_property_frame_rate_option_add()
        • obs_property_frame_rate_fps_range_add()
        • obs_property_frame_rate_clear()
        • obs_property_frame_rate_options_clear()
        • obs_property_frame_rate_fps_ranges_clear()
        • obs_property_frame_rate_option_insert()
        • obs_property_frame_rate_fps_range_insert()
        • obs_property_button_set_type()
        • obs_property_button_set_url()
  • Platform/Utility
    • Logging
      • Logging Levels
      • Logging Functions
        • log_handler_t
        • base_set_log_handler()
        • base_get_log_handler()
        • base_set_crash_handler()
        • blogva()
        • blog()
        • bcrash()
    • Memory Management
      • Memory Functions
        • bmalloc()
        • brealloc()
        • bfree()
        • bnum_allocs()
        • bmemdup()
        • bzalloc()
        • bstrdup_n()
        • bwstrdup_n()
        • bstrdup()
        • bwstrdup()
    • Config Files
      • config_t
      • Config File Functions
        • config_create()
        • config_open()
        • config_open_string()
        • config_save()
        • config_save_safe()
        • config_close()
        • config_num_sections()
        • config_get_section()
      • Set/Get Functions
        • config_set_string()
        • config_set_int()
        • config_set_uint()
        • config_set_bool()
        • config_set_double()
        • config_get_string()
        • config_get_int()
        • config_get_uint()
        • config_get_bool()
        • config_get_double()
        • config_remove_value()
      • Default Value Functions
        • config_open_defaults()
        • config_set_default_string()
        • config_set_default_int()
        • config_set_default_uint()
        • config_set_default_bool()
        • config_set_default_double()
        • config_get_default_string()
        • config_get_default_int()
        • config_get_default_uint()
        • config_get_default_bool()
        • config_get_default_double()
        • config_has_user_value()
        • config_has_default_value()
    • Dynamic Arrays
      • darray
      • DARRAY()
      • array
      • num
      • capacity
      • Dynamic Array Macros
        • da_init()
        • da_free()
        • da_alloc_size()
        • da_end()
        • da_reserve()
        • da_resize()
        • da_copy()
        • da_copy_array()
        • da_move()
        • da_find()
        • da_push_back()
        • da_push_back_new()
        • da_push_back_array()
        • da_insert()
        • da_insert_new()
        • da_insert_array()
        • da_insert_da()
        • da_erase()
        • da_erase_item()
        • da_erase_range()
        • da_pop_back()
        • da_join()
        • da_split()
        • da_move_item()
        • da_swap()
    • Double-Ended Queue
      • Deque Structure (struct deque)
        • deque
        • data
        • size
        • start_pos
        • end_pos
        • capacity
      • Deque Inline Functions
        • deque_init()
        • deque_free()
        • deque_reserve()
        • deque_upsize()
        • deque_place()
        • deque_push_back()
        • deque_push_front()
        • deque_push_back_zero()
        • deque_push_front_zero()
        • deque_peek_front()
        • deque_peek_back()
        • deque_pop_front()
        • deque_pop_back()
        • deque_data()
    • Dynamic Strings And String Helpers
      • Dynamic String Structure (struct dstr)
        • dstr
        • array
        • len
        • capacity
      • General String Helper Functions
        • astrcmpi()
        • wstrcmpi()
        • astrcmp_n()
        • wstrcmp_n()
        • astrcmpi_n()
        • wstrcmpi_n()
        • astrstri()
        • wstrstri()
        • strdepad()
        • wcsdepad()
        • strlist_split()
        • strlist_free()
      • Dynamic String Functions
        • dstr_init()
        • dstr_init_move()
        • dstr_init_move_array()
        • dstr_init_copy()
        • dstr_init_copy_dstr()
        • dstr_free()
        • dstr_copy()
        • dstr_copy_dstr()
        • dstr_ncopy()
        • dstr_ncopy_dstr()
        • dstr_resize()
        • dstr_reserve()
        • dstr_is_empty()
        • dstr_cat()
        • dstr_cat_dstr()
        • dstr_cat_ch()
        • dstr_ncat()
        • dstr_ncat_dstr()
        • dstr_insert()
        • dstr_insert_dstr()
        • dstr_insert_ch()
        • dstr_remove()
        • dstr_printf()
        • dstr_vprintf()
        • dstr_catf()
        • dstr_vcatf()
        • dstr_find_i()
        • dstr_find()
        • dstr_replace()
        • dstr_cmp()
        • dstr_cmpi()
        • dstr_ncmp()
        • dstr_ncmpi()
        • dstr_depad()
        • dstr_left()
        • dstr_mid()
        • dstr_right()
        • dstr_end()
        • dstr_from_wcs()
        • dstr_to_wcs()
        • dstr_to_upper()
        • dstr_to_lower()
    • Platform Helpers
      • File Functions
        • os_wfopen()
        • os_fopen()
        • os_fgetsize()
        • os_stat()
        • os_fseeki64()
        • os_ftelli64()
        • os_fread_utf8()
        • os_quick_read_utf8_file()
        • os_quick_write_utf8_file()
        • os_quick_write_utf8_file_safe()
        • os_get_file_size()
        • os_get_free_space()
      • String Conversion Functions
        • os_utf8_to_wcs()
        • os_wcs_to_utf8()
        • os_utf8_to_wcs_ptr()
        • os_wcs_to_utf8_ptr()
      • Number/String Conversion Functions
        • os_strtod()
        • os_dtostr()
      • Dynamic Link Library Functions
        • os_dlopen()
        • os_dlsym()
        • os_dlclose()
        • os_is_obs_plugin()
      • CPU Usage Functions
        • os_cpu_usage_info_start()
        • os_cpu_usage_info_query()
        • os_cpu_usage_info_destroy()
      • Sleep/Time Functions
        • os_sleepto_ns()
        • os_sleepto_ns_fast()
        • os_sleep_ms()
        • os_gettime_ns()
      • Other Path/File Functions
        • os_get_config_path()
        • os_get_config_path_ptr()
        • os_get_program_data_path()
        • os_get_program_data_path_ptr()
        • os_file_exists()
        • os_get_abs_path()
        • os_get_abs_path_ptr()
        • os_get_path_extension()
        • os_dir_t
        • os_dirent
        • d_name
        • directory
        • os_opendir()
        • os_readdir()
        • os_closedir()
        • os_globent
        • path
        • directory
        • os_glob_info
        • gl_pathc
        • gl_pathv
        • os_glob_t
        • os_glob()
        • os_globfree()
        • os_unlink()
        • os_rmdir()
        • os_getcwd()
        • os_chdir()
        • os_mkdir()
        • os_mkdirs()
        • os_rename()
        • os_copyfile()
        • os_safe_replace()
        • os_generate_formatted_filename()
      • Sleep-Inhibition Functions
        • os_inhibit_info
        • os_inhibit_t
        • os_inhibit_sleep_create()
        • os_inhibit_sleep_set_active()
        • os_inhibit_sleep_destroy()
      • Other Functions
        • os_breakpoint()
        • os_get_physical_cores()
        • os_get_logical_cores()
        • os_get_sys_free_size()
        • os_get_sys_total_size()
        • os_proc_memory_usage
        • resident_size
        • virtual_size
        • os_proc_memory_usage_t
        • os_get_proc_memory_usage()
        • os_get_proc_resident_size()
        • os_get_proc_virtual_size()
        • os_get_emulation_status()
        • os_generate_uuid()
    • Profiler
      • profiler_snapshot_t
      • profiler_snapshot_entry_t
      • profiler_name_store_t
      • profiler_time_entry_t
      • Profiler Structures
        • profiler_time_entry
        • time_delta
        • count
      • Profiler Control Functions
        • profiler_start()
        • profiler_stop()
        • profiler_print()
        • profiler_print_time_between_calls()
        • profiler_free()
      • Profiling Functions
        • profile_register_root()
        • profile_start()
        • profile_end()
        • profile_reenable_thread()
      • Profiler Name Storage Functions
        • profiler_name_store_create()
        • profiler_name_store_free()
        • profile_store_name()
      • Profiler Data Access Functions
        • profile_snapshot_create()
        • profile_snapshot_free()
        • profiler_snapshot_dump_csv()
        • profiler_snapshot_dump_csv_gz()
        • profiler_snapshot_num_roots()
        • profiler_entry_enum_func
        • profiler_snapshot_enumerate_roots()
        • profiler_name_filter_func
        • profiler_snapshot_filter_roots()
        • profiler_snapshot_num_children()
        • profiler_snapshot_enumerate_children()
        • profiler_snapshot_entry_name()
        • profiler_snapshot_entry_times()
        • profiler_snapshot_entry_min_time()
        • profiler_snapshot_entry_max_time()
        • profiler_snapshot_entry_overall_count()
        • profiler_snapshot_entry_times_between_calls()
        • profiler_snapshot_entry_expected_time_between_calls()
        • profiler_snapshot_entry_min_time_between_calls()
        • profiler_snapshot_entry_max_time_between_calls()
        • profiler_snapshot_entry_overall_between_calls_count()
    • Serializer
      • Serializer Structure (struct serializer)
        • serializer
        • data
        • read
        • write
        • seek
        • get_pos
      • Serializer Inline Functions
        • s_read()
        • s_write()
        • serialize()
        • serializer_seek()
        • serializer_get_pos()
        • s_w8()
        • s_wl16()
        • s_wl32()
        • s_wl64()
        • s_wlf()
        • s_wld()
        • s_wb16()
        • s_wb24()
        • s_wb32()
        • s_wb64()
        • s_wbf()
        • s_wbd()
    • Array Output Serializer
      • Array Output Serializer Structure (struct array_output_data)
        • array_output_data
      • Array Output Serializer Functions
        • array_output_serializer_init()
        • array_output_serializer_free()
        • array_output_serializer_reset()
    • File Input/Output Serializers
      • File Input Serializer Functions
        • file_input_serializer_init()
        • file_input_serializer_free()
      • File Output Serializer Functions
        • file_output_serializer_init()
        • file_output_serializer_init_safe()
        • file_output_serializer_free()
    • Buffered File Output Serializer
      • Buffered File Output Serializer Functions
        • buffered_file_serializer_init_defaults()
        • buffered_file_serializer_init()
        • buffered_file_serializer_free()
    • Source Profiler
      • profiler_result
      • tick_avg
      • render_avg
      • tick_max
      • render_max
      • render_gpu_avg
      • render_gpu_max
      • render_sum
      • render_gpu_sum
      • async_fps
      • profiler_result_t
      • Source Profiler Functions
        • source_profiler_enable()
        • source_profiler_gpu_enable()
        • source_profiler_get_result()
        • source_profiler_fill_result()
    • Text Lookup Interface
      • text_lookup
      • lookup_t
      • Text Lookup Functions
        • text_lookup_create()
        • text_lookup_add()
        • text_lookup_destroy()
        • text_lookup_getstr()
    • Threading
      • Threading Types
        • os_event_t
        • os_sem_t
      • General Thread Functions
        • os_set_thread_name()
      • Event Functions
        • os_event_init()
        • os_event_destroy()
        • os_event_wait()
        • os_event_timedwait()
        • os_event_try()
        • os_event_signal()
        • os_event_reset()
      • Semaphore Functions
        • os_sem_init()
        • os_sem_destroy()
        • os_sem_post()
        • os_sem_wait()
      • Atomic Inline Functions
        • os_atomic_inc_long()
        • os_atomic_dec_long()
        • os_atomic_store_long()
        • os_atomic_set_long()
        • os_atomic_exchange_long()
        • os_atomic_load_long()
        • os_atomic_compare_swap_long()
        • os_atomic_store_bool()
        • os_atomic_set_bool()
        • os_atomic_exchange_bool()
        • os_atomic_load_bool()
  • Callbacks (libobs/callback)
    • Calldata
      • calldata_t
      • calldata_init()
      • calldata_free()
      • calldata_set_int()
      • calldata_set_float()
      • calldata_set_bool()
      • calldata_set_ptr()
      • calldata_set_string()
      • calldata_int()
      • calldata_float()
      • calldata_bool()
      • calldata_ptr()
      • calldata_string()
    • Signals
      • signal_handler_t
      • signal_callback_t
      • signal_handler_create()
      • signal_handler_destroy()
      • signal_handler_add()
      • signal_handler_add_array()
      • signal_handler_connect()
      • signal_handler_connect_ref()
      • signal_handler_disconnect()
      • signal_handler_signal()
    • Procedure Handlers
      • proc_handler_t
      • proc_handler_proc_t
      • proc_handler_create()
      • proc_handler_destroy()
      • proc_handler_add()
      • proc_handler_call()
  • Graphics (libobs/graphics)
    • Effects (Shaders)
      • gs_effect_t
      • gs_technique_t
      • gs_eparam_t
      • gs_effect_create_from_file()
      • gs_effect_create()
      • gs_effect_destroy()
      • gs_effect_get_technique()
      • gs_effect_get_current_technique()
      • gs_technique_begin()
      • gs_technique_end()
      • gs_technique_begin_pass()
      • gs_technique_begin_pass_by_name()
      • gs_technique_end_pass()
      • gs_effect_get_num_params()
      • gs_effect_get_param_by_idx()
      • gs_effect_get_param_by_name()
      • gs_param_get_num_annotations()
      • gs_param_get_annotation_by_idx()
      • gs_param_get_annotation_by_name()
      • gs_effect_loop()
      • gs_effect_get_viewproj_matrix()
      • gs_effect_get_world_matrix()
      • gs_effect_get_param_info()
      • gs_effect_set_bool()
      • gs_effect_set_float()
      • gs_effect_set_int()
      • gs_effect_set_matrix4()
      • gs_effect_set_vec2()
      • gs_effect_set_vec3()
      • gs_effect_set_vec4()
      • gs_effect_set_color()
      • gs_effect_set_texture()
      • gs_effect_set_texture_srgb()
      • gs_effect_set_val()
      • gs_effect_set_default()
      • gs_effect_set_next_sampler()
      • gs_effect_get_val()
      • gs_effect_get_default_val()
      • gs_effect_get_val_size()
      • gs_effect_get_default_val_size()
    • 2-Component Vector
      • vec2
      • x
      • y
      • ptr
      • vec2_zero()
      • vec2_set()
      • vec2_copy()
      • vec2_add()
      • vec2_sub()
      • vec2_mul()
      • vec2_div()
      • vec2_addf()
      • vec2_subf()
      • vec2_mulf()
      • vec2_divf()
      • vec2_neg()
      • vec2_dot()
      • vec2_len()
      • vec2_dist()
      • vec2_minf()
      • vec2_min()
      • vec2_maxf()
      • vec2_max()
      • vec2_abs()
      • vec2_floor()
      • vec2_ceil()
      • vec2_close()
      • vec2_norm()
    • 3-Component Vector
      • vec3
      • x
      • y
      • z
      • ptr
      • vec3_zero()
      • vec3_set()
      • vec3_copy()
      • vec3_from_vec4()
      • vec3_add()
      • vec3_sub()
      • vec3_mul()
      • vec3_div()
      • vec3_addf()
      • vec3_subf()
      • vec3_mulf()
      • vec3_divf()
      • vec3_neg()
      • vec3_dot()
      • vec3_cross()
      • vec3_len()
      • vec3_dist()
      • vec3_minf()
      • vec3_min()
      • vec3_maxf()
      • vec3_max()
      • vec3_abs()
      • vec3_floor()
      • vec3_ceil()
      • vec3_close()
      • vec3_norm()
      • vec3_transform()
      • vec3_rotate()
      • vec3_rand()
    • 4-Component Vector
      • vec4
      • x
      • y
      • z
      • w
      • ptr
      • vec4_zero()
      • vec4_set()
      • vec4_copy()
      • vec4_from_vec3()
      • vec4_add()
      • vec4_sub()
      • vec4_mul()
      • vec4_div()
      • vec4_addf()
      • vec4_subf()
      • vec4_mulf()
      • vec4_divf()
      • vec4_neg()
      • vec4_dot()
      • vec4_len()
      • vec4_dist()
      • vec4_minf()
      • vec4_min()
      • vec4_maxf()
      • vec4_max()
      • vec4_abs()
      • vec4_floor()
      • vec4_ceil()
      • vec4_close()
      • vec4_norm()
      • vec4_transform()
    • Quaternion
      • quat
      • x
      • y
      • z
      • w
      • ptr
      • quat_identity()
      • quat_set()
      • quat_copy()
      • quat_add()
      • quat_sub()
      • quat_mul()
      • quat_addf()
      • quat_subf()
      • quat_mulf()
      • quat_inv()
      • quat_dot()
      • quat_len()
      • quat_dist()
      • quat_from_axisang()
      • quat_from_matrix4()
      • quat_get_dir()
      • quat_set_look_dir()
      • quat_interpolate()
      • quat_get_tangent()
      • quat_interpolate_cubic()
    • Matrix
      • matrix4
      • x
      • y
      • z
      • w
      • matrix4_copy()
      • matrix4_identity()
      • matrix4_from_quat()
      • matrix4_from_axisang()
      • matrix4_mul()
      • matrix4_determinant()
      • matrix4_translate3v()
      • matrix4_translate3f()
      • matrix4_translate4v()
      • matrix4_rotate()
      • matrix4_rotate_aa()
      • matrix4_rotate_aa4f()
      • matrix4_scale()
      • matrix4_scale3f()
      • matrix4_inv()
      • matrix4_transpose()
    • Extra Math Functions/Macros
      • RAD()
      • DEG()
      • rand_float()
    • Image File Helper
      • gs_image_file
      • texture
      • gs_image_file_t
      • gs_image_file_init()
      • gs_image_file_free()
      • gs_image_file_init_texture()
      • gs_image_file_tick()
      • gs_image_file_update_texture()
    • Axis Angle
      • axisang
      • x
      • y
      • z
      • w
      • ptr
      • axisang_zero()
      • axisang_copy()
      • axisang_set()
      • axisang_from_quat()
    • Core Graphics API
      • Graphics Enumerations
        • gs_draw_mode
        • gs_color_format
        • gs_color_space
        • gs_zstencil_format
        • gs_index_type
        • gs_cull_mode
        • gs_blend_type
        • gs_depth_test
        • gs_stencil_side
        • gs_stencil_op_type
        • gs_cube_sides
        • gs_sample_filter
        • gs_address_mode
        • gs_texture_type
      • Graphics Structures
        • gs_monitor_info
        • rotation_degrees
        • x
        • y
        • cx
        • cy
        • gs_tvertarray
        • width
        • array
        • gs_vb_data
        • num
        • points
        • normals
        • tangents
        • colors
        • num_tex
        • tvarray
        • gs_sampler_info
        • filter
        • address_u
        • address_v
        • address_w
        • max_anisotropy
        • border_color
        • gs_display_mode
        • width
        • height
        • bits
        • freq
        • gs_rect
        • x
        • y
        • cx
        • cy
        • gs_window
        • hwnd
        • view
        • id
        • display
        • gs_init_data
        • window
        • cx
        • cy
        • num_backbuffers
        • format
        • zsformat
        • adapter
      • Initialization Functions
        • gs_enum_adapters()
        • gs_create()
        • gs_destroy()
        • gs_enter_context()
        • gs_leave_context()
        • gs_get_context()
      • Matrix Stack Functions
        • gs_matrix_push()
        • gs_matrix_pop()
        • gs_matrix_identity()
        • gs_matrix_transpose()
        • gs_matrix_set()
        • gs_matrix_get()
        • gs_matrix_mul()
        • gs_matrix_rotquat()
        • gs_matrix_rotaa()
        • gs_matrix_rotaa4f()
        • gs_matrix_translate()
        • gs_matrix_translate3f()
        • gs_matrix_scale()
        • gs_matrix_scale3f()
      • Draw Functions
        • gs_get_effect()
        • gs_draw_sprite()
        • gs_draw_quadf()
        • gs_draw_sprite_subregion()
        • gs_reset_viewport()
        • gs_set_2d_mode()
        • gs_set_3d_mode()
        • gs_viewport_push()
        • gs_viewport_pop()
        • gs_perspective()
        • gs_blend_state_push()
        • gs_blend_state_pop()
        • gs_reset_blend_state()
      • Swap Chains
        • gs_swapchain_create()
        • gs_swapchain_destroy()
        • gs_resize()
        • gs_update_color_space()
        • gs_get_size()
        • gs_get_width()
        • gs_get_height()
      • Resource Loading
        • gs_load_vertexbuffer()
        • gs_load_indexbuffer()
        • gs_load_texture()
        • gs_load_samplerstate()
        • gs_load_swapchain()
      • Draw Functions
        • gs_get_color_space()
        • gs_get_render_target()
        • gs_get_zstencil_target()
        • gs_set_render_target()
        • gs_set_render_target_with_color_space()
        • gs_set_cube_render_target()
        • gs_copy_texture()
        • gs_stage_texture()
        • gs_begin_scene()
        • gs_end_scene()
        • gs_draw()
        • gs_clear()
        • gs_present()
        • gs_flush()
        • gs_set_cull_mode()
        • gs_get_cull_mode()
        • gs_enable_blending()
        • gs_enable_depth_test()
        • gs_enable_stencil_test()
        • gs_enable_stencil_write()
        • gs_enable_color()
        • gs_blend_function()
        • gs_blend_function_separate()
        • gs_blend_op()
        • gs_depth_function()
        • gs_stencil_function()
        • gs_stencil_op()
        • gs_set_viewport()
        • gs_get_viewport()
        • gs_set_scissor_rect()
        • gs_ortho()
        • gs_frustum()
        • gs_projection_push()
        • gs_projection_pop()
      • Texture Functions
        • gs_texture_create()
        • gs_texture_create_from_file()
        • gs_texture_destroy()
        • gs_texture_get_width()
        • gs_texture_get_height()
        • gs_texture_get_color_format()
        • gs_texture_map()
        • gs_texture_unmap()
        • gs_texture_set_image()
        • gs_texture_create_from_dmabuf()
        • gs_dmabuf_flags
        • gs_query_dmabuf_capabilities()
        • gs_query_dmabuf_modifiers_for_format()
        • gs_query_sync_capabilities()
        • gs_sync_create()
        • gs_sync_create_from_syncobj_timeline_point()
        • gs_sync_destroy()
        • gs_sync_export_syncobj_timeline_point()
        • gs_sync_signal_syncobj_timeline_point()
        • gs_sync_wait()
        • gs_texture_create_from_iosurface()
        • gs_texture_rebind_iosurface()
        • gs_texture_create_gdi()
        • gs_texture_get_dc()
        • gs_texture_release_dc()
        • gs_texture_open_shared()
        • gs_gdi_texture_available()
        • gs_shared_texture_available()
      • Cube Texture Functions
        • gs_cubetexture_create()
        • gs_cubetexture_destroy()
        • gs_cubetexture_get_size()
        • gs_cubetexture_get_color_format()
        • gs_cubetexture_set_image()
      • Staging Surface Functions
        • gs_stagesurface_create()
        • gs_stagesurface_destroy()
        • gs_stagesurface_get_width()
        • gs_stagesurface_get_height()
        • gs_stagesurface_get_color_format()
        • gs_stagesurface_map()
        • gs_stagesurface_unmap()
      • Z-Stencil Functions
        • gs_zstencil_create()
        • gs_zstencil_destroy()
      • Sampler State Functions
        • gs_samplerstate_create()
        • gs_samplerstate_destroy()
      • Vertex Buffer Functions
        • gs_vertexbuffer_create()
        • gs_vertexbuffer_destroy()
        • gs_vertexbuffer_flush()
        • gs_vertexbuffer_flush_direct()
        • gs_vertexbuffer_get_data()
      • Index Buffer Functions
        • gs_indexbuffer_create()
        • gs_indexbuffer_destroy()
        • gs_indexbuffer_flush()
        • gs_indexbuffer_flush_direct()
        • gs_indexbuffer_get_data()
        • gs_indexbuffer_get_num_indices()
        • gs_indexbuffer_get_type()
      • Display Duplicator (Windows Only)
        • gs_duplicator_create()
        • gs_duplicator_destroy()
        • gs_duplicator_update_frame()
        • gs_duplicator_get_texture()
        • gs_get_duplicator_monitor_info()
      • Monitor Functions
        • gs_is_monitor_hdr()
      • Render Helper Functions
        • gs_render_start()
        • gs_render_stop()
        • gs_render_save()
        • gs_vertex2f()
        • gs_vertex3f()
        • gs_normal3f()
        • gs_color()
        • gs_texcoord()
        • gs_vertex2v()
        • gs_vertex3v()
        • gs_normal3v()
        • gs_color4v()
        • gs_texcoord2v()
      • Graphics Types
        • gs_duplicator_t
        • gs_texture_t
        • gs_stagesurf_t
        • gs_zstencil_t
        • gs_vertbuffer_t
        • gs_indexbuffer_t
        • gs_samplerstate_t
        • gs_swapchain_t
        • gs_texrender_t
        • gs_shader_t
        • gs_sparam_t
        • gs_device_t
        • gs_sync_t
        • graphics_t
  • Media I/O (libobs/media-io)
    • Video Handler
      • video_t
      • video_format
      • video_trc
      • video_colorspace
      • video_range_type
      • video_data
      • data
      • linesize
      • timestamp
      • video_output_info
      • name
      • format
      • fps_num
      • fps_den
      • width
      • height
      • cache_size
      • colorspace
      • range
      • video_format_from_fourcc()
      • video_format_get_parameters()
      • video_format_get_parameters_for_format()
      • video_output_connect()
      • video_output_disconnect()
      • video_output_disconnect2()
      • video_output_get_info()
      • video_output_get_frame_time()
      • video_output_get_format()
      • video_output_get_width()
      • video_output_get_height()
      • video_output_get_frame_rate()
      • video_output_get_skipped_frames()
      • video_output_get_total_frames()
    • Audio Handler
      • audio_t
      • audio_format
      • speaker_layout
      • audio_data
      • data
      • frames
      • timestamp
      • audio_output_data
      • data
      • audio_output_info
      • name
      • samples_per_sec
      • format
      • speakers
      • input_callback
      • input_param
      • audio_convert_info
      • samples_per_sec
      • format
      • speakers
      • audio_input_callback_t
      • get_audio_channels()
      • get_audio_bytes_per_channel()
      • is_audio_planar()
      • get_audio_planes()
      • get_audio_size()
      • audio_frames_to_ns()
      • ns_to_audio_frames()
      • audio_output_callback_t
      • audio_output_connect()
      • audio_output_disconnect()
      • audio_output_get_block_size()
      • audio_output_get_planes()
      • audio_output_get_channels()
      • audio_output_get_sample_rate()
      • audio_output_get_info()
    • Resampler
      • audio_resampler_t
      • resample_info
      • samples_per_sec
      • format
      • speakers
      • audio_resampler_create()
      • audio_resampler_destroy()
      • audio_resampler_resample()
  • OBS Studio Frontend API
    • Structures/Enumerations
      • obs_frontend_event
      • obs_frontend_source_list
      • obs_frontend_cb
      • obs_frontend_event_cb
      • obs_frontend_save_cb
      • obs_frontend_translate_ui_cb
      • undo_redo_cb
    • Functions
      • obs_frontend_source_list_free()
      • obs_frontend_get_main_window()
      • obs_frontend_get_main_window_handle()
      • obs_frontend_get_scene_names()
      • obs_frontend_get_scenes()
      • obs_frontend_get_current_scene()
      • obs_frontend_set_current_scene()
      • obs_frontend_get_transitions()
      • obs_frontend_get_current_transition()
      • obs_frontend_set_current_transition()
      • obs_frontend_get_transition_duration()
      • obs_frontend_set_transition_duration()
      • obs_frontend_release_tbar()
      • obs_frontend_set_tbar_position()
      • obs_frontend_get_tbar_position()
      • obs_frontend_get_scene_collections()
      • obs_frontend_get_current_scene_collection()
      • obs_frontend_set_current_scene_collection()
      • obs_frontend_add_scene_collection()
      • obs_frontend_get_profiles()
      • obs_frontend_get_current_profile()
      • obs_frontend_get_current_profile_path()
      • obs_frontend_set_current_profile()
      • obs_frontend_create_profile()
      • obs_frontend_duplicate_profile()
      • obs_frontend_delete_profile()
      • obs_frontend_add_tools_menu_qaction()
      • obs_frontend_add_tools_menu_item()
      • obs_frontend_add_dock_by_id()
      • obs_frontend_remove_dock()
      • obs_frontend_add_custom_qdock()
      • obs_frontend_add_event_callback()
      • obs_frontend_remove_event_callback()
      • obs_frontend_add_save_callback()
      • obs_frontend_remove_save_callback()
      • obs_frontend_add_preload_callback()
      • obs_frontend_remove_preload_callback()
      • obs_frontend_push_ui_translation()
      • obs_frontend_pop_ui_translation()
      • obs_frontend_streaming_start()
      • obs_frontend_streaming_stop()
      • obs_frontend_streaming_active()
      • obs_frontend_recording_start()
      • obs_frontend_recording_stop()
      • obs_frontend_recording_active()
      • obs_frontend_recording_pause()
      • obs_frontend_recording_paused()
      • obs_frontend_recording_split_file()
      • obs_frontend_recording_add_chapter()
      • obs_frontend_replay_buffer_start()
      • obs_frontend_replay_buffer_stop()
      • obs_frontend_replay_buffer_save()
      • obs_frontend_replay_buffer_active()
      • obs_frontend_open_projector()
      • obs_frontend_save()
      • obs_frontend_get_streaming_output()
      • obs_frontend_get_recording_output()
      • obs_frontend_get_replay_buffer_output()
      • obs_frontend_get_profile_config()
      • obs_frontend_get_global_config()
      • obs_frontend_get_app_config()
      • obs_frontend_get_user_config()
      • obs_frontend_set_streaming_service()
      • obs_frontend_get_streaming_service()
      • obs_frontend_save_streaming_service()
      • obs_frontend_preview_program_mode_active()
      • obs_frontend_set_preview_program_mode()
      • obs_frontend_preview_program_trigger_transition()
      • obs_frontend_get_current_preview_scene()
      • obs_frontend_set_current_preview_scene()
      • obs_frontend_set_preview_enabled()
      • obs_frontend_preview_enabled()
      • obs_frontend_take_screenshot()
      • obs_frontend_take_source_screenshot()
      • obs_frontend_get_virtualcam_output()
      • obs_frontend_start_virtualcam()
      • obs_frontend_stop_virtualcam()
      • obs_frontend_virtualcam_active()
      • obs_frontend_reset_video()
      • obs_frontend_open_source_properties()
      • obs_frontend_open_source_filters()
      • obs_frontend_open_source_interaction()
      • obs_frontend_open_sceneitem_edit_transform()
      • obs_frontend_get_current_record_output_path()
      • obs_frontend_get_locale_string()
      • obs_frontend_is_theme_dark()
      • obs_frontend_get_last_recording()
      • obs_frontend_get_last_screenshot()
      • obs_frontend_get_last_replay()
      • obs_frontend_add_undo_redo_action()

Additional Resources

  • Build Instructions
  • Plugin Template
OBS Studio
  • Welcome to OBS Studio’s documentation!
  • Edit on GitHub
Next

Welcome to OBS Studio’s documentation!

  • Setting up an OBS development environment? Use the Wiki

  • Developing your first OBS plugin? Use the obs-plugintemplate

Core Concepts

  • OBS Studio Backend Design
  • Plugins
  • Frontends
  • Rendering Graphics
  • Python/Lua Scripting

API Reference

  • OBS Core
    • Initialization, Shutdown, and Information
    • Libobs Objects
    • Video, Audio, and Graphics
    • Primary signal/procedure handlers
    • Core OBS Signals
    • Displays
    • Views
  • Modules
    • obs_module_t
    • Module Macros
    • Module Exports
    • Module Externs
    • Frontend Module Functions
  • Core API Object
    • Sources (obs_source_t)
    • Scenes (obs_scene_t)
    • Outputs (obs_output_t)
    • Encoders (obs_encoder_t)
    • Services (obs_service_t)
    • Data Settings (obs_data_t)
    • Properties (obs_properties_t)
  • Platform/Utility
    • Logging
    • Memory Management
    • Config Files
    • Dynamic Arrays
    • Double-Ended Queue
    • Dynamic Strings And String Helpers
    • Platform Helpers
    • Profiler
    • Serializer
    • Array Output Serializer
    • File Input/Output Serializers
    • Buffered File Output Serializer
    • Source Profiler
    • Text Lookup Interface
    • Threading
  • Callbacks (libobs/callback)
    • Calldata
    • Signals
    • Procedure Handlers
  • Graphics (libobs/graphics)
    • Effects (Shaders)
    • 2-Component Vector
    • 3-Component Vector
    • 4-Component Vector
    • Quaternion
    • Matrix
    • Extra Math Functions/Macros
    • Image File Helper
    • Axis Angle
    • Core Graphics API
  • Media I/O (libobs/media-io)
    • Video Handler
    • Audio Handler
    • Resampler
  • OBS Studio Frontend API
    • Structures/Enumerations
    • Functions
Next

© Copyright 2017-2026, Lain Bailey.

Built with Sphinx using a theme provided by Read the Docs.