Open Broadcaster Software
Free, open source software for live streaming and recording
obs.h File Reference

Go to the source code of this file.

Data Structures

struct  obs_transform_info
 
struct  obs_video_info
 
struct  obs_audio_info
 
struct  obs_audio_data
 
struct  obs_source_audio
 
struct  obs_source_frame
 
struct  obs_source_frame2
 
struct  obs_cmdline_args
 
struct  obs_module_info
 
struct  obs_sceneitem_order_info
 
struct  obs_sceneitem_crop
 

Macros

#define OBS_SOURCE_FLAG_UNUSED_1   (1 << 0)
 
#define OBS_SOURCE_FLAG_FORCE_MONO   (1 << 1)
 
#define OBS_OUTPUT_DELAY_PRESERVE   (1 << 0)
 

Typedefs

typedef struct obs_display obs_display_t
 
typedef struct obs_view obs_view_t
 
typedef struct obs_source obs_source_t
 
typedef struct obs_scene obs_scene_t
 
typedef struct obs_scene_item obs_sceneitem_t
 
typedef struct obs_output obs_output_t
 
typedef struct obs_encoder obs_encoder_t
 
typedef struct obs_service obs_service_t
 
typedef struct obs_module obs_module_t
 
typedef struct obs_fader obs_fader_t
 
typedef struct obs_volmeter obs_volmeter_t
 
typedef struct obs_weak_source obs_weak_source_t
 
typedef struct obs_weak_output obs_weak_output_t
 
typedef struct obs_weak_encoder obs_weak_encoder_t
 
typedef struct obs_weak_service obs_weak_service_t
 
typedef void(* obs_find_module_callback_t) (void *param, const struct obs_module_info *info)
 
typedef void(* obs_enum_module_callback_t) (void *param, obs_module_t *module)
 
typedef void(* obs_load_source_cb) (void *private_data, obs_source_t *source)
 
typedef bool(* obs_save_source_filter_cb) (void *data, obs_source_t *source)
 
typedef bool(* obs_enum_audio_device_cb) (void *data, const char *name, const char *id)
 
typedef void(* obs_task_t) (void *param)
 
typedef void(* obs_task_handler_t) (obs_task_t task, void *param, bool wait)
 
typedef void(* obs_source_audio_capture_t) (void *param, obs_source_t *source, const struct audio_data *audio_data, bool muted)
 
typedef void(* obs_transition_video_render_callback_t) (void *data, gs_texture_t *a, gs_texture_t *b, float t, uint32_t cx, uint32_t cy)
 
typedef float(* obs_transition_audio_mix_callback_t) (void *data, float t)
 
typedef void(* obs_scene_atomic_update_func) (void *, obs_scene_t *scene)
 

Enumerations

enum  obs_order_movement { OBS_ORDER_MOVE_UP, OBS_ORDER_MOVE_DOWN, OBS_ORDER_MOVE_TOP, OBS_ORDER_MOVE_BOTTOM }
 
enum  obs_allow_direct_render { OBS_NO_DIRECT_RENDERING, OBS_ALLOW_DIRECT_RENDERING }
 
enum  obs_scale_type {
  OBS_SCALE_DISABLE, OBS_SCALE_POINT, OBS_SCALE_BICUBIC, OBS_SCALE_BILINEAR,
  OBS_SCALE_LANCZOS, OBS_SCALE_AREA
}
 
enum  obs_bounds_type {
  OBS_BOUNDS_NONE, OBS_BOUNDS_STRETCH, OBS_BOUNDS_SCALE_INNER, OBS_BOUNDS_SCALE_OUTER,
  OBS_BOUNDS_SCALE_TO_WIDTH, OBS_BOUNDS_SCALE_TO_HEIGHT, OBS_BOUNDS_MAX_ONLY
}
 
enum  obs_base_effect {
  OBS_EFFECT_DEFAULT, OBS_EFFECT_DEFAULT_RECT, OBS_EFFECT_OPAQUE, OBS_EFFECT_SOLID,
  OBS_EFFECT_BICUBIC, OBS_EFFECT_LANCZOS, OBS_EFFECT_BILINEAR_LOWRES, OBS_EFFECT_PREMULTIPLIED_ALPHA,
  OBS_EFFECT_REPEAT, OBS_EFFECT_AREA
}
 
enum  obs_obj_type {
  OBS_OBJ_TYPE_INVALID, OBS_OBJ_TYPE_SOURCE, OBS_OBJ_TYPE_OUTPUT, OBS_OBJ_TYPE_ENCODER,
  OBS_OBJ_TYPE_SERVICE
}
 
enum  obs_task_type { OBS_TASK_UI, OBS_TASK_GRAPHICS }
 
enum  obs_deinterlace_mode {
  OBS_DEINTERLACE_MODE_DISABLE, OBS_DEINTERLACE_MODE_DISCARD, OBS_DEINTERLACE_MODE_RETRO, OBS_DEINTERLACE_MODE_BLEND,
  OBS_DEINTERLACE_MODE_BLEND_2X, OBS_DEINTERLACE_MODE_LINEAR, OBS_DEINTERLACE_MODE_LINEAR_2X, OBS_DEINTERLACE_MODE_YADIF,
  OBS_DEINTERLACE_MODE_YADIF_2X
}
 
enum  obs_deinterlace_field_order { OBS_DEINTERLACE_FIELD_ORDER_TOP, OBS_DEINTERLACE_FIELD_ORDER_BOTTOM }
 
enum  obs_monitoring_type { OBS_MONITORING_TYPE_NONE, OBS_MONITORING_TYPE_MONITOR_ONLY, OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT }
 
enum  obs_transition_target { OBS_TRANSITION_SOURCE_A, OBS_TRANSITION_SOURCE_B }
 
enum  obs_transition_mode { OBS_TRANSITION_MODE_AUTO, OBS_TRANSITION_MODE_MANUAL }
 
enum  obs_transition_scale_type { OBS_TRANSITION_SCALE_MAX_ONLY, OBS_TRANSITION_SCALE_ASPECT, OBS_TRANSITION_SCALE_STRETCH }
 
enum  obs_scene_duplicate_type { OBS_SCENE_DUP_REFS, OBS_SCENE_DUP_COPY, OBS_SCENE_DUP_PRIVATE_REFS, OBS_SCENE_DUP_PRIVATE_COPY }
 

Functions

EXPORT char * obs_find_data_file (const char *file)
 
EXPORT void obs_add_data_path (const char *path)
 
EXPORT bool obs_remove_data_path (const char *path)
 
EXPORT bool obs_startup (const char *locale, const char *module_config_path, profiler_name_store_t *store)
 
EXPORT void obs_shutdown (void)
 
EXPORT bool obs_initialized (void)
 
EXPORT uint32_t obs_get_version (void)
 
EXPORT const char * obs_get_version_string (void)
 
EXPORT void obs_set_cmdline_args (int argc, const char *const *argv)
 
EXPORT struct obs_cmdline_args obs_get_cmdline_args (void)
 
EXPORT void obs_set_locale (const char *locale)
 
EXPORT const char * obs_get_locale (void)
 
EXPORT profiler_name_store_tobs_get_profiler_name_store (void)
 
EXPORT int obs_reset_video (struct obs_video_info *ovi)
 
EXPORT bool obs_reset_audio (const struct obs_audio_info *oai)
 
EXPORT bool obs_get_video_info (struct obs_video_info *ovi)
 
EXPORT bool obs_get_audio_info (struct obs_audio_info *oai)
 
EXPORT int obs_open_module (obs_module_t **module, const char *path, const char *data_path)
 
EXPORT bool obs_init_module (obs_module_t *module)
 
EXPORT void obs_log_loaded_modules (void)
 
EXPORT const char * obs_get_module_file_name (obs_module_t *module)
 
EXPORT const char * obs_get_module_name (obs_module_t *module)
 
EXPORT const char * obs_get_module_author (obs_module_t *module)
 
EXPORT const char * obs_get_module_description (obs_module_t *module)
 
EXPORT const char * obs_get_module_binary_path (obs_module_t *module)
 
EXPORT const char * obs_get_module_data_path (obs_module_t *module)
 
EXPORT void obs_add_module_path (const char *bin, const char *data)
 
EXPORT void obs_load_all_modules (void)
 
EXPORT void obs_post_load_modules (void)
 
EXPORT void obs_find_modules (obs_find_module_callback_t callback, void *param)
 
EXPORT void obs_enum_modules (obs_enum_module_callback_t callback, void *param)
 
EXPORT lookup_tobs_module_load_locale (obs_module_t *module, const char *default_locale, const char *locale)
 
EXPORT char * obs_find_module_file (obs_module_t *module, const char *file)
 
EXPORT char * obs_module_get_config_path (obs_module_t *module, const char *file)
 
EXPORT bool obs_enum_source_types (size_t idx, const char **id)
 
EXPORT bool obs_enum_input_types (size_t idx, const char **id)
 
EXPORT bool obs_enum_input_types2 (size_t idx, const char **id, const char **unversioned_id)
 
EXPORT const char * obs_get_latest_input_type_id (const char *unversioned_id)
 
EXPORT bool obs_enum_filter_types (size_t idx, const char **id)
 
EXPORT bool obs_enum_transition_types (size_t idx, const char **id)
 
EXPORT bool obs_enum_output_types (size_t idx, const char **id)
 
EXPORT bool obs_enum_encoder_types (size_t idx, const char **id)
 
EXPORT bool obs_enum_service_types (size_t idx, const char **id)
 
EXPORT void obs_enter_graphics (void)
 
EXPORT void obs_leave_graphics (void)
 
EXPORT audio_tobs_get_audio (void)
 
EXPORT video_tobs_get_video (void)
 
EXPORT bool obs_video_active (void)
 
EXPORT void obs_set_output_source (uint32_t channel, obs_source_t *source)
 
EXPORT obs_source_tobs_get_output_source (uint32_t channel)
 
EXPORT void obs_enum_sources (bool(*enum_proc)(void *, obs_source_t *), void *param)
 
EXPORT void obs_enum_scenes (bool(*enum_proc)(void *, obs_source_t *), void *param)
 
EXPORT void obs_enum_outputs (bool(*enum_proc)(void *, obs_output_t *), void *param)
 
EXPORT void obs_enum_encoders (bool(*enum_proc)(void *, obs_encoder_t *), void *param)
 
EXPORT void obs_enum_services (bool(*enum_proc)(void *, obs_service_t *), void *param)
 
EXPORT obs_source_tobs_get_source_by_name (const char *name)
 
EXPORT obs_output_tobs_get_output_by_name (const char *name)
 
EXPORT obs_encoder_tobs_get_encoder_by_name (const char *name)
 
EXPORT obs_service_tobs_get_service_by_name (const char *name)
 
EXPORT gs_effect_tobs_get_base_effect (enum obs_base_effect effect)
 
OBS_DEPRECATED EXPORT gs_effect_tobs_get_default_rect_effect (void)
 
EXPORT signal_handler_tobs_get_signal_handler (void)
 
EXPORT proc_handler_tobs_get_proc_handler (void)
 
OBS_DEPRECATED EXPORT void obs_render_main_view (void)
 
EXPORT void obs_render_main_texture (void)
 
EXPORT void obs_render_main_texture_src_color_only (void)
 
EXPORT gs_texture_tobs_get_main_texture (void)
 
EXPORT void obs_set_master_volume (float volume)
 
EXPORT float obs_get_master_volume (void)
 
EXPORT obs_data_tobs_save_source (obs_source_t *source)
 
EXPORT obs_source_tobs_load_source (obs_data_t *data)
 
EXPORT void obs_source_save (obs_source_t *source)
 
EXPORT void obs_source_load (obs_source_t *source)
 
EXPORT void obs_load_sources (obs_data_array_t *array, obs_load_source_cb cb, void *private_data)
 
EXPORT obs_data_array_tobs_save_sources (void)
 
EXPORT obs_data_array_tobs_save_sources_filtered (obs_save_source_filter_cb cb, void *data)
 
EXPORT enum obs_obj_type obs_obj_get_type (void *obj)
 
EXPORT const char * obs_obj_get_id (void *obj)
 
EXPORT bool obs_obj_invalid (void *obj)
 
EXPORT void * obs_obj_get_data (void *obj)
 
EXPORT void obs_enum_audio_monitoring_devices (obs_enum_audio_device_cb cb, void *data)
 
EXPORT bool obs_set_audio_monitoring_device (const char *name, const char *id)
 
EXPORT void obs_get_audio_monitoring_device (const char **name, const char **id)
 
EXPORT void obs_add_tick_callback (void(*tick)(void *param, float seconds), void *param)
 
EXPORT void obs_remove_tick_callback (void(*tick)(void *param, float seconds), void *param)
 
EXPORT void obs_add_main_render_callback (void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
 
EXPORT void obs_remove_main_render_callback (void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
 
EXPORT void obs_add_raw_video_callback (const struct video_scale_info *conversion, void(*callback)(void *param, struct video_data *frame), void *param)
 
EXPORT void obs_remove_raw_video_callback (void(*callback)(void *param, struct video_data *frame), void *param)
 
EXPORT uint64_t obs_get_video_frame_time (void)
 
EXPORT double obs_get_active_fps (void)
 
EXPORT uint64_t obs_get_average_frame_time_ns (void)
 
EXPORT uint64_t obs_get_frame_interval_ns (void)
 
EXPORT uint32_t obs_get_total_frames (void)
 
EXPORT uint32_t obs_get_lagged_frames (void)
 
EXPORT bool obs_nv12_tex_active (void)
 
EXPORT void obs_apply_private_data (obs_data_t *settings)
 
EXPORT void obs_set_private_data (obs_data_t *settings)
 
EXPORT obs_data_tobs_get_private_data (void)
 
EXPORT void obs_queue_task (enum obs_task_type type, obs_task_t task, void *param, bool wait)
 
EXPORT void obs_set_ui_task_handler (obs_task_handler_t handler)
 
EXPORT obs_view_tobs_view_create (void)
 
EXPORT void obs_view_destroy (obs_view_t *view)
 
EXPORT void obs_view_set_source (obs_view_t *view, uint32_t channel, obs_source_t *source)
 
EXPORT obs_source_tobs_view_get_source (obs_view_t *view, uint32_t channel)
 
EXPORT void obs_view_render (obs_view_t *view)
 
EXPORT obs_display_tobs_display_create (const struct gs_init_data *graphics_data, uint32_t backround_color)
 
EXPORT void obs_display_destroy (obs_display_t *display)
 
EXPORT void obs_display_resize (obs_display_t *display, uint32_t cx, uint32_t cy)
 
EXPORT void obs_display_add_draw_callback (obs_display_t *display, void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
 
EXPORT void obs_display_remove_draw_callback (obs_display_t *display, void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
 
EXPORT void obs_display_set_enabled (obs_display_t *display, bool enable)
 
EXPORT bool obs_display_enabled (obs_display_t *display)
 
EXPORT void obs_display_set_background_color (obs_display_t *display, uint32_t color)
 
EXPORT void obs_display_size (obs_display_t *display, uint32_t *width, uint32_t *height)
 
EXPORT const char * obs_source_get_display_name (const char *id)
 
EXPORT obs_source_tobs_source_create (const char *id, const char *name, obs_data_t *settings, obs_data_t *hotkey_data)
 
EXPORT obs_source_tobs_source_create_private (const char *id, const char *name, obs_data_t *settings)
 
EXPORT obs_source_tobs_source_duplicate (obs_source_t *source, const char *desired_name, bool create_private)
 
EXPORT void obs_source_addref (obs_source_t *source)
 
EXPORT void obs_source_release (obs_source_t *source)
 
EXPORT void obs_weak_source_addref (obs_weak_source_t *weak)
 
EXPORT void obs_weak_source_release (obs_weak_source_t *weak)
 
EXPORT obs_source_tobs_source_get_ref (obs_source_t *source)
 
EXPORT obs_weak_source_tobs_source_get_weak_source (obs_source_t *source)
 
EXPORT obs_source_tobs_weak_source_get_source (obs_weak_source_t *weak)
 
EXPORT bool obs_weak_source_references_source (obs_weak_source_t *weak, obs_source_t *source)
 
EXPORT void obs_source_remove (obs_source_t *source)
 
EXPORT bool obs_source_removed (const obs_source_t *source)
 
EXPORT uint32_t obs_source_get_output_flags (const obs_source_t *source)
 
EXPORT uint32_t obs_get_source_output_flags (const char *id)
 
EXPORT obs_data_tobs_get_source_defaults (const char *id)
 
EXPORT obs_properties_tobs_get_source_properties (const char *id)
 
EXPORT bool obs_is_source_configurable (const char *id)
 
EXPORT bool obs_source_configurable (const obs_source_t *source)
 
EXPORT obs_properties_tobs_source_properties (const obs_source_t *source)
 
EXPORT void obs_source_update (obs_source_t *source, obs_data_t *settings)
 
EXPORT void obs_source_video_render (obs_source_t *source)
 
EXPORT uint32_t obs_source_get_width (obs_source_t *source)
 
EXPORT uint32_t obs_source_get_height (obs_source_t *source)
 
EXPORT obs_source_tobs_filter_get_parent (const obs_source_t *filter)
 
EXPORT obs_source_tobs_filter_get_target (const obs_source_t *filter)
 
EXPORT void obs_source_default_render (obs_source_t *source)
 
EXPORT void obs_source_filter_add (obs_source_t *source, obs_source_t *filter)
 
EXPORT void obs_source_filter_remove (obs_source_t *source, obs_source_t *filter)
 
EXPORT void obs_source_filter_set_order (obs_source_t *source, obs_source_t *filter, enum obs_order_movement movement)
 
EXPORT obs_data_tobs_source_get_settings (const obs_source_t *source)
 
EXPORT const char * obs_source_get_name (const obs_source_t *source)
 
EXPORT void obs_source_set_name (obs_source_t *source, const char *name)
 
EXPORT enum obs_source_type obs_source_get_type (const obs_source_t *source)
 
EXPORT const char * obs_source_get_id (const obs_source_t *source)
 
EXPORT const char * obs_source_get_unversioned_id (const obs_source_t *source)
 
EXPORT signal_handler_tobs_source_get_signal_handler (const obs_source_t *source)
 
EXPORT proc_handler_tobs_source_get_proc_handler (const obs_source_t *source)
 
EXPORT void obs_source_set_volume (obs_source_t *source, float volume)
 
EXPORT float obs_source_get_volume (const obs_source_t *source)
 
EXPORT enum speaker_layout obs_source_get_speaker_layout (obs_source_t *source)
 
EXPORT void obs_source_set_balance_value (obs_source_t *source, float balance)
 
EXPORT float obs_source_get_balance_value (const obs_source_t *source)
 
EXPORT void obs_source_set_sync_offset (obs_source_t *source, int64_t offset)
 
EXPORT int64_t obs_source_get_sync_offset (const obs_source_t *source)
 
EXPORT void obs_source_enum_active_sources (obs_source_t *source, obs_source_enum_proc_t enum_callback, void *param)
 
EXPORT void obs_source_enum_active_tree (obs_source_t *source, obs_source_enum_proc_t enum_callback, void *param)
 
EXPORT bool obs_source_active (const obs_source_t *source)
 
EXPORT bool obs_source_showing (const obs_source_t *source)
 
EXPORT void obs_source_set_flags (obs_source_t *source, uint32_t flags)
 
EXPORT uint32_t obs_source_get_flags (const obs_source_t *source)
 
EXPORT void obs_source_set_audio_mixers (obs_source_t *source, uint32_t mixers)
 
EXPORT uint32_t obs_source_get_audio_mixers (const obs_source_t *source)
 
EXPORT void obs_source_inc_showing (obs_source_t *source)
 
EXPORT void obs_source_inc_active (obs_source_t *source)
 
EXPORT void obs_source_dec_showing (obs_source_t *source)
 
EXPORT void obs_source_dec_active (obs_source_t *source)
 
EXPORT void obs_source_enum_filters (obs_source_t *source, obs_source_enum_proc_t callback, void *param)
 
EXPORT obs_source_tobs_source_get_filter_by_name (obs_source_t *source, const char *name)
 
EXPORT void obs_source_copy_filters (obs_source_t *dst, obs_source_t *src)
 
EXPORT bool obs_source_enabled (const obs_source_t *source)
 
EXPORT void obs_source_set_enabled (obs_source_t *source, bool enabled)
 
EXPORT bool obs_source_muted (const obs_source_t *source)
 
EXPORT void obs_source_set_muted (obs_source_t *source, bool muted)
 
EXPORT bool obs_source_push_to_mute_enabled (obs_source_t *source)
 
EXPORT void obs_source_enable_push_to_mute (obs_source_t *source, bool enabled)
 
EXPORT uint64_t obs_source_get_push_to_mute_delay (obs_source_t *source)
 
EXPORT void obs_source_set_push_to_mute_delay (obs_source_t *source, uint64_t delay)
 
EXPORT bool obs_source_push_to_talk_enabled (obs_source_t *source)
 
EXPORT void obs_source_enable_push_to_talk (obs_source_t *source, bool enabled)
 
EXPORT uint64_t obs_source_get_push_to_talk_delay (obs_source_t *source)
 
EXPORT void obs_source_set_push_to_talk_delay (obs_source_t *source, uint64_t delay)
 
EXPORT void obs_source_add_audio_capture_callback (obs_source_t *source, obs_source_audio_capture_t callback, void *param)
 
EXPORT void obs_source_remove_audio_capture_callback (obs_source_t *source, obs_source_audio_capture_t callback, void *param)
 
EXPORT void obs_source_set_deinterlace_mode (obs_source_t *source, enum obs_deinterlace_mode mode)
 
EXPORT enum obs_deinterlace_mode obs_source_get_deinterlace_mode (const obs_source_t *source)
 
EXPORT void obs_source_set_deinterlace_field_order (obs_source_t *source, enum obs_deinterlace_field_order field_order)
 
EXPORT enum obs_deinterlace_field_order obs_source_get_deinterlace_field_order (const obs_source_t *source)
 
EXPORT void obs_source_set_monitoring_type (obs_source_t *source, enum obs_monitoring_type type)
 
EXPORT enum obs_monitoring_type obs_source_get_monitoring_type (const obs_source_t *source)
 
EXPORT obs_data_tobs_source_get_private_settings (obs_source_t *item)
 
EXPORT void * obs_source_get_type_data (obs_source_t *source)
 
EXPORT void obs_source_draw_set_color_matrix (const struct matrix4 *color_matrix, const struct vec3 *color_range_min, const struct vec3 *color_range_max)
 
EXPORT void obs_source_draw (gs_texture_t *image, int x, int y, uint32_t cx, uint32_t cy, bool flip)
 
EXPORT void obs_source_output_video (obs_source_t *source, const struct obs_source_frame *frame)
 
EXPORT void obs_source_output_video2 (obs_source_t *source, const struct obs_source_frame2 *frame)
 
EXPORT void obs_source_set_async_rotation (obs_source_t *source, long rotation)
 
EXPORT void obs_source_preload_video (obs_source_t *source, const struct obs_source_frame *frame)
 
EXPORT void obs_source_preload_video2 (obs_source_t *source, const struct obs_source_frame2 *frame)
 
EXPORT void obs_source_show_preloaded_video (obs_source_t *source)
 
EXPORT void obs_source_output_audio (obs_source_t *source, const struct obs_source_audio *audio)
 
EXPORT void obs_source_update_properties (obs_source_t *source)
 
EXPORT struct obs_source_frameobs_source_get_frame (obs_source_t *source)
 
EXPORT void obs_source_release_frame (obs_source_t *source, struct obs_source_frame *frame)
 
EXPORT bool obs_source_process_filter_begin (obs_source_t *filter, enum gs_color_format format, enum obs_allow_direct_render allow_direct)
 
EXPORT void obs_source_process_filter_end (obs_source_t *filter, gs_effect_t *effect, uint32_t width, uint32_t height)
 
EXPORT void obs_source_process_filter_tech_end (obs_source_t *filter, gs_effect_t *effect, uint32_t width, uint32_t height, const char *tech_name)
 
EXPORT void obs_source_skip_video_filter (obs_source_t *filter)
 
EXPORT bool obs_source_add_active_child (obs_source_t *parent, obs_source_t *child)
 
EXPORT void obs_source_remove_active_child (obs_source_t *parent, obs_source_t *child)
 
EXPORT void obs_source_send_mouse_click (obs_source_t *source, const struct obs_mouse_event *event, int32_t type, bool mouse_up, uint32_t click_count)
 
EXPORT void obs_source_send_mouse_move (obs_source_t *source, const struct obs_mouse_event *event, bool mouse_leave)
 
EXPORT void obs_source_send_mouse_wheel (obs_source_t *source, const struct obs_mouse_event *event, int x_delta, int y_delta)
 
EXPORT void obs_source_send_focus (obs_source_t *source, bool focus)
 
EXPORT void obs_source_send_key_click (obs_source_t *source, const struct obs_key_event *event, bool key_up)
 
EXPORT void obs_source_set_default_flags (obs_source_t *source, uint32_t flags)
 
EXPORT uint32_t obs_source_get_base_width (obs_source_t *source)
 
EXPORT uint32_t obs_source_get_base_height (obs_source_t *source)
 
EXPORT bool obs_source_audio_pending (const obs_source_t *source)
 
EXPORT uint64_t obs_source_get_audio_timestamp (const obs_source_t *source)
 
EXPORT void obs_source_get_audio_mix (const obs_source_t *source, struct obs_source_audio_mix *audio)
 
EXPORT void obs_source_set_async_unbuffered (obs_source_t *source, bool unbuffered)
 
EXPORT bool obs_source_async_unbuffered (const obs_source_t *source)
 
EXPORT void obs_source_set_async_decoupled (obs_source_t *source, bool decouple)
 
EXPORT bool obs_source_async_decoupled (const obs_source_t *source)
 
EXPORT void obs_source_set_audio_active (obs_source_t *source, bool show)
 
EXPORT bool obs_source_audio_active (const obs_source_t *source)
 
EXPORT uint32_t obs_source_get_last_obs_version (const obs_source_t *source)
 
EXPORT void obs_source_media_play_pause (obs_source_t *source, bool pause)
 
EXPORT void obs_source_media_restart (obs_source_t *source)
 
EXPORT void obs_source_media_stop (obs_source_t *source)
 
EXPORT void obs_source_media_next (obs_source_t *source)
 
EXPORT void obs_source_media_previous (obs_source_t *source)
 
EXPORT int64_t obs_source_media_get_duration (obs_source_t *source)
 
EXPORT int64_t obs_source_media_get_time (obs_source_t *source)
 
EXPORT void obs_source_media_set_time (obs_source_t *source, int64_t ms)
 
EXPORT enum obs_media_state obs_source_media_get_state (obs_source_t *source)
 
EXPORT void obs_source_media_started (obs_source_t *source)
 
EXPORT void obs_source_media_ended (obs_source_t *source)
 
EXPORT obs_source_tobs_transition_get_source (obs_source_t *transition, enum obs_transition_target target)
 
EXPORT void obs_transition_clear (obs_source_t *transition)
 
EXPORT obs_source_tobs_transition_get_active_source (obs_source_t *transition)
 
EXPORT bool obs_transition_start (obs_source_t *transition, enum obs_transition_mode mode, uint32_t duration_ms, obs_source_t *dest)
 
EXPORT void obs_transition_set (obs_source_t *transition, obs_source_t *source)
 
EXPORT void obs_transition_set_manual_time (obs_source_t *transition, float t)
 
EXPORT void obs_transition_set_manual_torque (obs_source_t *transition, float torque, float clamp)
 
EXPORT void obs_transition_set_scale_type (obs_source_t *transition, enum obs_transition_scale_type type)
 
EXPORT enum obs_transition_scale_type obs_transition_get_scale_type (const obs_source_t *transition)
 
EXPORT void obs_transition_set_alignment (obs_source_t *transition, uint32_t alignment)
 
EXPORT uint32_t obs_transition_get_alignment (const obs_source_t *transition)
 
EXPORT void obs_transition_set_size (obs_source_t *transition, uint32_t cx, uint32_t cy)
 
EXPORT void obs_transition_get_size (const obs_source_t *transition, uint32_t *cx, uint32_t *cy)
 
EXPORT void obs_transition_enable_fixed (obs_source_t *transition, bool enable, uint32_t duration_ms)
 
EXPORT bool obs_transition_fixed (obs_source_t *transition)
 
EXPORT float obs_transition_get_time (obs_source_t *transition)
 
EXPORT void obs_transition_force_stop (obs_source_t *transition)
 
EXPORT void obs_transition_video_render (obs_source_t *transition, obs_transition_video_render_callback_t callback)
 
EXPORT bool obs_transition_video_render_direct (obs_source_t *transition, enum obs_transition_target target)
 
EXPORT bool obs_transition_audio_render (obs_source_t *transition, uint64_t *ts_out, struct obs_source_audio_mix *audio, uint32_t mixers, size_t channels, size_t sample_rate, obs_transition_audio_mix_callback_t mix_a_callback, obs_transition_audio_mix_callback_t mix_b_callback)
 
EXPORT void obs_transition_swap_begin (obs_source_t *tr_dest, obs_source_t *tr_source)
 
EXPORT void obs_transition_swap_end (obs_source_t *tr_dest, obs_source_t *tr_source)
 
EXPORT obs_scene_tobs_scene_create (const char *name)
 
EXPORT obs_scene_tobs_scene_create_private (const char *name)
 
EXPORT obs_scene_tobs_scene_duplicate (obs_scene_t *scene, const char *name, enum obs_scene_duplicate_type type)
 
EXPORT void obs_scene_addref (obs_scene_t *scene)
 
EXPORT void obs_scene_release (obs_scene_t *scene)
 
EXPORT obs_source_tobs_scene_get_source (const obs_scene_t *scene)
 
EXPORT obs_scene_tobs_scene_from_source (const obs_source_t *source)
 
EXPORT obs_sceneitem_tobs_scene_find_source (obs_scene_t *scene, const char *name)
 
EXPORT obs_sceneitem_tobs_scene_find_source_recursive (obs_scene_t *scene, const char *name)
 
EXPORT obs_sceneitem_tobs_scene_find_sceneitem_by_id (obs_scene_t *scene, int64_t id)
 
EXPORT void obs_scene_enum_items (obs_scene_t *scene, bool(*callback)(obs_scene_t *, obs_sceneitem_t *, void *), void *param)
 
EXPORT bool obs_scene_reorder_items (obs_scene_t *scene, obs_sceneitem_t *const *item_order, size_t item_order_size)
 
EXPORT bool obs_scene_reorder_items2 (obs_scene_t *scene, struct obs_sceneitem_order_info *item_order, size_t item_order_size)
 
EXPORT obs_sceneitem_tobs_scene_add (obs_scene_t *scene, obs_source_t *source)
 
EXPORT void obs_scene_atomic_update (obs_scene_t *scene, obs_scene_atomic_update_func func, void *data)
 
EXPORT void obs_sceneitem_addref (obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_release (obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_remove (obs_sceneitem_t *item)
 
EXPORT obs_scene_tobs_sceneitem_get_scene (const obs_sceneitem_t *item)
 
EXPORT obs_source_tobs_sceneitem_get_source (const obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_select (obs_sceneitem_t *item, bool select)
 
EXPORT bool obs_sceneitem_selected (const obs_sceneitem_t *item)
 
EXPORT bool obs_sceneitem_locked (const obs_sceneitem_t *item)
 
EXPORT bool obs_sceneitem_set_locked (obs_sceneitem_t *item, bool lock)
 
EXPORT void obs_sceneitem_set_pos (obs_sceneitem_t *item, const struct vec2 *pos)
 
EXPORT void obs_sceneitem_set_rot (obs_sceneitem_t *item, float rot_deg)
 
EXPORT void obs_sceneitem_set_scale (obs_sceneitem_t *item, const struct vec2 *scale)
 
EXPORT void obs_sceneitem_set_alignment (obs_sceneitem_t *item, uint32_t alignment)
 
EXPORT void obs_sceneitem_set_order (obs_sceneitem_t *item, enum obs_order_movement movement)
 
EXPORT void obs_sceneitem_set_order_position (obs_sceneitem_t *item, int position)
 
EXPORT void obs_sceneitem_set_bounds_type (obs_sceneitem_t *item, enum obs_bounds_type type)
 
EXPORT void obs_sceneitem_set_bounds_alignment (obs_sceneitem_t *item, uint32_t alignment)
 
EXPORT void obs_sceneitem_set_bounds (obs_sceneitem_t *item, const struct vec2 *bounds)
 
EXPORT int64_t obs_sceneitem_get_id (const obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_get_pos (const obs_sceneitem_t *item, struct vec2 *pos)
 
EXPORT float obs_sceneitem_get_rot (const obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_get_scale (const obs_sceneitem_t *item, struct vec2 *scale)
 
EXPORT uint32_t obs_sceneitem_get_alignment (const obs_sceneitem_t *item)
 
EXPORT enum obs_bounds_type obs_sceneitem_get_bounds_type (const obs_sceneitem_t *item)
 
EXPORT uint32_t obs_sceneitem_get_bounds_alignment (const obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_get_bounds (const obs_sceneitem_t *item, struct vec2 *bounds)
 
EXPORT void obs_sceneitem_get_info (const obs_sceneitem_t *item, struct obs_transform_info *info)
 
EXPORT void obs_sceneitem_set_info (obs_sceneitem_t *item, const struct obs_transform_info *info)
 
EXPORT void obs_sceneitem_get_draw_transform (const obs_sceneitem_t *item, struct matrix4 *transform)
 
EXPORT void obs_sceneitem_get_box_transform (const obs_sceneitem_t *item, struct matrix4 *transform)
 
EXPORT void obs_sceneitem_get_box_scale (const obs_sceneitem_t *item, struct vec2 *scale)
 
EXPORT bool obs_sceneitem_visible (const obs_sceneitem_t *item)
 
EXPORT bool obs_sceneitem_set_visible (obs_sceneitem_t *item, bool visible)
 
EXPORT void obs_sceneitem_set_crop (obs_sceneitem_t *item, const struct obs_sceneitem_crop *crop)
 
EXPORT void obs_sceneitem_get_crop (const obs_sceneitem_t *item, struct obs_sceneitem_crop *crop)
 
EXPORT void obs_sceneitem_set_scale_filter (obs_sceneitem_t *item, enum obs_scale_type filter)
 
EXPORT enum obs_scale_type obs_sceneitem_get_scale_filter (obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_force_update_transform (obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_defer_update_begin (obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_defer_update_end (obs_sceneitem_t *item)
 
EXPORT obs_data_tobs_sceneitem_get_private_settings (obs_sceneitem_t *item)
 
EXPORT obs_sceneitem_tobs_scene_add_group (obs_scene_t *scene, const char *name)
 
EXPORT obs_sceneitem_tobs_scene_insert_group (obs_scene_t *scene, const char *name, obs_sceneitem_t **items, size_t count)
 
EXPORT obs_sceneitem_tobs_scene_add_group2 (obs_scene_t *scene, const char *name, bool signal)
 
EXPORT obs_sceneitem_tobs_scene_insert_group2 (obs_scene_t *scene, const char *name, obs_sceneitem_t **items, size_t count, bool signal)
 
EXPORT obs_sceneitem_tobs_scene_get_group (obs_scene_t *scene, const char *name)
 
EXPORT bool obs_sceneitem_is_group (obs_sceneitem_t *item)
 
EXPORT obs_scene_tobs_sceneitem_group_get_scene (const obs_sceneitem_t *group)
 
EXPORT void obs_sceneitem_group_ungroup (obs_sceneitem_t *group)
 
EXPORT void obs_sceneitem_group_ungroup2 (obs_sceneitem_t *group, bool signal)
 
EXPORT void obs_sceneitem_group_add_item (obs_sceneitem_t *group, obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_group_remove_item (obs_sceneitem_t *group, obs_sceneitem_t *item)
 
EXPORT obs_sceneitem_tobs_sceneitem_get_group (obs_scene_t *scene, obs_sceneitem_t *item)
 
EXPORT bool obs_source_is_group (const obs_source_t *source)
 
EXPORT bool obs_scene_is_group (const obs_scene_t *scene)
 
EXPORT void obs_sceneitem_group_enum_items (obs_sceneitem_t *group, bool(*callback)(obs_scene_t *, obs_sceneitem_t *, void *), void *param)
 
EXPORT obs_scene_tobs_group_from_source (const obs_source_t *source)
 
EXPORT void obs_sceneitem_defer_group_resize_begin (obs_sceneitem_t *item)
 
EXPORT void obs_sceneitem_defer_group_resize_end (obs_sceneitem_t *item)
 
EXPORT const char * obs_output_get_display_name (const char *id)
 
EXPORT obs_output_tobs_output_create (const char *id, const char *name, obs_data_t *settings, obs_data_t *hotkey_data)
 
EXPORT void obs_output_addref (obs_output_t *output)
 
EXPORT void obs_output_release (obs_output_t *output)
 
EXPORT void obs_weak_output_addref (obs_weak_output_t *weak)
 
EXPORT void obs_weak_output_release (obs_weak_output_t *weak)
 
EXPORT obs_output_tobs_output_get_ref (obs_output_t *output)
 
EXPORT obs_weak_output_tobs_output_get_weak_output (obs_output_t *output)
 
EXPORT obs_output_tobs_weak_output_get_output (obs_weak_output_t *weak)
 
EXPORT bool obs_weak_output_references_output (obs_weak_output_t *weak, obs_output_t *output)
 
EXPORT const char * obs_output_get_name (const obs_output_t *output)
 
EXPORT bool obs_output_start (obs_output_t *output)
 
EXPORT void obs_output_stop (obs_output_t *output)
 
EXPORT void obs_output_set_delay (obs_output_t *output, uint32_t delay_sec, uint32_t flags)
 
EXPORT uint32_t obs_output_get_delay (const obs_output_t *output)
 
EXPORT uint32_t obs_output_get_active_delay (const obs_output_t *output)
 
EXPORT void obs_output_force_stop (obs_output_t *output)
 
EXPORT bool obs_output_active (const obs_output_t *output)
 
EXPORT uint32_t obs_output_get_flags (const obs_output_t *output)
 
EXPORT uint32_t obs_get_output_flags (const char *id)
 
EXPORT obs_data_tobs_output_defaults (const char *id)
 
EXPORT obs_properties_tobs_get_output_properties (const char *id)
 
EXPORT obs_properties_tobs_output_properties (const obs_output_t *output)
 
EXPORT void obs_output_update (obs_output_t *output, obs_data_t *settings)
 
EXPORT bool obs_output_can_pause (const obs_output_t *output)
 
EXPORT bool obs_output_pause (obs_output_t *output, bool pause)
 
EXPORT bool obs_output_paused (const obs_output_t *output)
 
EXPORT obs_data_tobs_output_get_settings (const obs_output_t *output)
 
EXPORT signal_handler_tobs_output_get_signal_handler (const obs_output_t *output)
 
EXPORT proc_handler_tobs_output_get_proc_handler (const obs_output_t *output)
 
EXPORT void obs_output_set_media (obs_output_t *output, video_t *video, audio_t *audio)
 
EXPORT video_tobs_output_video (const obs_output_t *output)
 
EXPORT audio_tobs_output_audio (const obs_output_t *output)
 
EXPORT void obs_output_set_mixer (obs_output_t *output, size_t mixer_idx)
 
EXPORT size_t obs_output_get_mixer (const obs_output_t *output)
 
EXPORT void obs_output_set_mixers (obs_output_t *output, size_t mixers)
 
EXPORT size_t obs_output_get_mixers (const obs_output_t *output)
 
EXPORT void obs_output_set_video_encoder (obs_output_t *output, obs_encoder_t *encoder)
 
EXPORT void obs_output_set_audio_encoder (obs_output_t *output, obs_encoder_t *encoder, size_t idx)
 
EXPORT obs_encoder_tobs_output_get_video_encoder (const obs_output_t *output)
 
EXPORT obs_encoder_tobs_output_get_audio_encoder (const obs_output_t *output, size_t idx)
 
EXPORT void obs_output_set_service (obs_output_t *output, obs_service_t *service)
 
EXPORT obs_service_tobs_output_get_service (const obs_output_t *output)
 
EXPORT void obs_output_set_reconnect_settings (obs_output_t *output, int retry_count, int retry_sec)
 
EXPORT uint64_t obs_output_get_total_bytes (const obs_output_t *output)
 
EXPORT int obs_output_get_frames_dropped (const obs_output_t *output)
 
EXPORT int obs_output_get_total_frames (const obs_output_t *output)
 
EXPORT void obs_output_set_preferred_size (obs_output_t *output, uint32_t width, uint32_t height)
 
EXPORT uint32_t obs_output_get_width (const obs_output_t *output)
 
EXPORT uint32_t obs_output_get_height (const obs_output_t *output)
 
EXPORT const char * obs_output_get_id (const obs_output_t *output)
 
EXPORT float obs_output_get_congestion (obs_output_t *output)
 
EXPORT int obs_output_get_connect_time_ms (obs_output_t *output)
 
EXPORT bool obs_output_reconnecting (const obs_output_t *output)
 
EXPORT void obs_output_set_last_error (obs_output_t *output, const char *message)
 
EXPORT const char * obs_output_get_last_error (obs_output_t *output)
 
EXPORT const char * obs_output_get_supported_video_codecs (const obs_output_t *output)
 
EXPORT const char * obs_output_get_supported_audio_codecs (const obs_output_t *output)
 
EXPORT void * obs_output_get_type_data (obs_output_t *output)
 
EXPORT void obs_output_set_video_conversion (obs_output_t *output, const struct video_scale_info *conversion)
 
EXPORT void obs_output_set_audio_conversion (obs_output_t *output, const struct audio_convert_info *conversion)
 
EXPORT bool obs_output_can_begin_data_capture (const obs_output_t *output, uint32_t flags)
 
EXPORT bool obs_output_initialize_encoders (obs_output_t *output, uint32_t flags)
 
EXPORT bool obs_output_begin_data_capture (obs_output_t *output, uint32_t flags)
 
EXPORT void obs_output_end_data_capture (obs_output_t *output)
 
EXPORT void obs_output_signal_stop (obs_output_t *output, int code)
 
EXPORT uint64_t obs_output_get_pause_offset (obs_output_t *output)
 
EXPORT const char * obs_encoder_get_display_name (const char *id)
 
EXPORT obs_encoder_tobs_video_encoder_create (const char *id, const char *name, obs_data_t *settings, obs_data_t *hotkey_data)
 
EXPORT obs_encoder_tobs_audio_encoder_create (const char *id, const char *name, obs_data_t *settings, size_t mixer_idx, obs_data_t *hotkey_data)
 
EXPORT void obs_encoder_addref (obs_encoder_t *encoder)
 
EXPORT void obs_encoder_release (obs_encoder_t *encoder)
 
EXPORT void obs_weak_encoder_addref (obs_weak_encoder_t *weak)
 
EXPORT void obs_weak_encoder_release (obs_weak_encoder_t *weak)
 
EXPORT obs_encoder_tobs_encoder_get_ref (obs_encoder_t *encoder)
 
EXPORT obs_weak_encoder_tobs_encoder_get_weak_encoder (obs_encoder_t *encoder)
 
EXPORT obs_encoder_tobs_weak_encoder_get_encoder (obs_weak_encoder_t *weak)
 
EXPORT bool obs_weak_encoder_references_encoder (obs_weak_encoder_t *weak, obs_encoder_t *encoder)
 
EXPORT void obs_encoder_set_name (obs_encoder_t *encoder, const char *name)
 
EXPORT const char * obs_encoder_get_name (const obs_encoder_t *encoder)
 
EXPORT const char * obs_get_encoder_codec (const char *id)
 
EXPORT enum obs_encoder_type obs_get_encoder_type (const char *id)
 
EXPORT const char * obs_encoder_get_codec (const obs_encoder_t *encoder)
 
EXPORT enum obs_encoder_type obs_encoder_get_type (const obs_encoder_t *encoder)
 
EXPORT void obs_encoder_set_scaled_size (obs_encoder_t *encoder, uint32_t width, uint32_t height)
 
EXPORT bool obs_encoder_scaling_enabled (const obs_encoder_t *encoder)
 
EXPORT uint32_t obs_encoder_get_width (const obs_encoder_t *encoder)
 
EXPORT uint32_t obs_encoder_get_height (const obs_encoder_t *encoder)
 
EXPORT uint32_t obs_encoder_get_sample_rate (const obs_encoder_t *encoder)
 
EXPORT void obs_encoder_set_preferred_video_format (obs_encoder_t *encoder, enum video_format format)
 
EXPORT enum video_format obs_encoder_get_preferred_video_format (const obs_encoder_t *encoder)
 
EXPORT obs_data_tobs_encoder_defaults (const char *id)
 
EXPORT obs_data_tobs_encoder_get_defaults (const obs_encoder_t *encoder)
 
EXPORT obs_properties_tobs_get_encoder_properties (const char *id)
 
EXPORT obs_properties_tobs_encoder_properties (const obs_encoder_t *encoder)
 
EXPORT void obs_encoder_update (obs_encoder_t *encoder, obs_data_t *settings)
 
EXPORT bool obs_encoder_get_extra_data (const obs_encoder_t *encoder, uint8_t **extra_data, size_t *size)
 
EXPORT obs_data_tobs_encoder_get_settings (const obs_encoder_t *encoder)
 
EXPORT void obs_encoder_set_video (obs_encoder_t *encoder, video_t *video)
 
EXPORT void obs_encoder_set_audio (obs_encoder_t *encoder, audio_t *audio)
 
EXPORT video_tobs_encoder_video (const obs_encoder_t *encoder)
 
EXPORT audio_tobs_encoder_audio (const obs_encoder_t *encoder)
 
EXPORT bool obs_encoder_active (const obs_encoder_t *encoder)
 
EXPORT void * obs_encoder_get_type_data (obs_encoder_t *encoder)
 
EXPORT const char * obs_encoder_get_id (const obs_encoder_t *encoder)
 
EXPORT uint32_t obs_get_encoder_caps (const char *encoder_id)
 
EXPORT uint32_t obs_encoder_get_caps (const obs_encoder_t *encoder)
 
OBS_DEPRECATED EXPORT void obs_duplicate_encoder_packet (struct encoder_packet *dst, const struct encoder_packet *src)
 
OBS_DEPRECATED EXPORT void obs_free_encoder_packet (struct encoder_packet *packet)
 
EXPORT void obs_encoder_packet_ref (struct encoder_packet *dst, struct encoder_packet *src)
 
EXPORT void obs_encoder_packet_release (struct encoder_packet *packet)
 
EXPORT void * obs_encoder_create_rerouted (obs_encoder_t *encoder, const char *reroute_id)
 
EXPORT bool obs_encoder_paused (const obs_encoder_t *output)
 
EXPORT const char * obs_encoder_get_last_error (obs_encoder_t *encoder)
 
EXPORT void obs_encoder_set_last_error (obs_encoder_t *encoder, const char *message)
 
EXPORT const char * obs_service_get_display_name (const char *id)
 
EXPORT obs_service_tobs_service_create (const char *id, const char *name, obs_data_t *settings, obs_data_t *hotkey_data)
 
EXPORT obs_service_tobs_service_create_private (const char *id, const char *name, obs_data_t *settings)
 
EXPORT void obs_service_addref (obs_service_t *service)
 
EXPORT void obs_service_release (obs_service_t *service)
 
EXPORT void obs_weak_service_addref (obs_weak_service_t *weak)
 
EXPORT void obs_weak_service_release (obs_weak_service_t *weak)
 
EXPORT obs_service_tobs_service_get_ref (obs_service_t *service)
 
EXPORT obs_weak_service_tobs_service_get_weak_service (obs_service_t *service)
 
EXPORT obs_service_tobs_weak_service_get_service (obs_weak_service_t *weak)
 
EXPORT bool obs_weak_service_references_service (obs_weak_service_t *weak, obs_service_t *service)
 
EXPORT const char * obs_service_get_name (const obs_service_t *service)
 
EXPORT obs_data_tobs_service_defaults (const char *id)
 
EXPORT obs_properties_tobs_get_service_properties (const char *id)
 
EXPORT obs_properties_tobs_service_properties (const obs_service_t *service)
 
EXPORT const char * obs_service_get_type (const obs_service_t *service)
 
EXPORT void obs_service_update (obs_service_t *service, obs_data_t *settings)
 
EXPORT obs_data_tobs_service_get_settings (const obs_service_t *service)
 
EXPORT const char * obs_service_get_url (const obs_service_t *service)
 
EXPORT const char * obs_service_get_key (const obs_service_t *service)
 
EXPORT const char * obs_service_get_username (const obs_service_t *service)
 
EXPORT const char * obs_service_get_password (const obs_service_t *service)
 
EXPORT void obs_service_apply_encoder_settings (obs_service_t *service, obs_data_t *video_encoder_settings, obs_data_t *audio_encoder_settings)
 
EXPORT void * obs_service_get_type_data (obs_service_t *service)
 
EXPORT const char * obs_service_get_id (const obs_service_t *service)
 
EXPORT const char * obs_service_get_output_type (const obs_service_t *service)
 
EXPORT void obs_source_frame_init (struct obs_source_frame *frame, enum video_format format, uint32_t width, uint32_t height)
 
EXPORT void obs_source_frame_copy (struct obs_source_frame *dst, const struct obs_source_frame *src)
 
EXPORT enum obs_icon_type obs_source_get_icon_type (const char *id)
 

Macro Definition Documentation

◆ OBS_OUTPUT_DELAY_PRESERVE

#define OBS_OUTPUT_DELAY_PRESERVE   (1 << 0)

On reconnection, start where it left of on reconnection. Note however that this option will consume extra memory to continually increase delay while waiting to reconnect.

◆ OBS_SOURCE_FLAG_FORCE_MONO

#define OBS_SOURCE_FLAG_FORCE_MONO   (1 << 1)

Specifies to force audio to mono

◆ OBS_SOURCE_FLAG_UNUSED_1

#define OBS_SOURCE_FLAG_UNUSED_1   (1 << 0)

Unused flag

Typedef Documentation

◆ obs_display_t

typedef struct obs_display obs_display_t

◆ obs_encoder_t

typedef struct obs_encoder obs_encoder_t

◆ obs_enum_audio_device_cb

typedef bool(* obs_enum_audio_device_cb) (void *data, const char *name, const char *id)

◆ obs_enum_module_callback_t

typedef void(* obs_enum_module_callback_t) (void *param, obs_module_t *module)

◆ obs_fader_t

typedef struct obs_fader obs_fader_t

◆ obs_find_module_callback_t

typedef void(* obs_find_module_callback_t) (void *param, const struct obs_module_info *info)

◆ obs_load_source_cb

typedef void(* obs_load_source_cb) (void *private_data, obs_source_t *source)

◆ obs_module_t

typedef struct obs_module obs_module_t

◆ obs_output_t

typedef struct obs_output obs_output_t

◆ obs_save_source_filter_cb

typedef bool(* obs_save_source_filter_cb) (void *data, obs_source_t *source)

◆ obs_scene_atomic_update_func

typedef void(* obs_scene_atomic_update_func) (void *, obs_scene_t *scene)

◆ obs_scene_t

typedef struct obs_scene obs_scene_t

◆ obs_sceneitem_t

◆ obs_service_t

typedef struct obs_service obs_service_t

◆ obs_source_audio_capture_t

typedef void(* obs_source_audio_capture_t) (void *param, obs_source_t *source, const struct audio_data *audio_data, bool muted)

◆ obs_source_t

typedef struct obs_source obs_source_t

◆ obs_task_handler_t

typedef void(* obs_task_handler_t) (obs_task_t task, void *param, bool wait)

◆ obs_task_t

typedef void(* obs_task_t) (void *param)

◆ obs_transition_audio_mix_callback_t

typedef float(* obs_transition_audio_mix_callback_t) (void *data, float t)

◆ obs_transition_video_render_callback_t

typedef void(* obs_transition_video_render_callback_t) (void *data, gs_texture_t *a, gs_texture_t *b, float t, uint32_t cx, uint32_t cy)

◆ obs_view_t

typedef struct obs_view obs_view_t

◆ obs_volmeter_t

typedef struct obs_volmeter obs_volmeter_t

◆ obs_weak_encoder_t

◆ obs_weak_output_t

◆ obs_weak_service_t

◆ obs_weak_source_t

Enumeration Type Documentation

◆ obs_allow_direct_render

Used with obs_source_process_filter to specify whether the filter should render the source directly with the specified effect, or whether it should render it to a texture

Enumerator
OBS_NO_DIRECT_RENDERING 
OBS_ALLOW_DIRECT_RENDERING 

◆ obs_base_effect

Enumerator
OBS_EFFECT_DEFAULT 

RGB/YUV

OBS_EFFECT_DEFAULT_RECT 

RGB/YUV (using texture_rect)

OBS_EFFECT_OPAQUE 

RGB/YUV (alpha set to 1.0)

OBS_EFFECT_SOLID 

RGB/YUV (solid color only)

OBS_EFFECT_BICUBIC 

Bicubic downscale

OBS_EFFECT_LANCZOS 

Lanczos downscale

OBS_EFFECT_BILINEAR_LOWRES 

Bilinear low resolution downscale

OBS_EFFECT_PREMULTIPLIED_ALPHA 

Premultiplied alpha

OBS_EFFECT_REPEAT 

RGB/YUV (repeating)

OBS_EFFECT_AREA 

Area rescale

◆ obs_bounds_type

Used with scene items to indicate the type of bounds to use for scene items. Mostly determines how the image will be scaled within those bounds, or whether to use bounds at all.

Enumerator
OBS_BOUNDS_NONE 

no bounds

OBS_BOUNDS_STRETCH 

stretch (ignores base scale)

OBS_BOUNDS_SCALE_INNER 

scales to inner rectangle

OBS_BOUNDS_SCALE_OUTER 

scales to outer rectangle

OBS_BOUNDS_SCALE_TO_WIDTH 

scales to the width

OBS_BOUNDS_SCALE_TO_HEIGHT 

scales to the height

OBS_BOUNDS_MAX_ONLY 

no scaling, maximum size only

◆ obs_deinterlace_field_order

Enumerator
OBS_DEINTERLACE_FIELD_ORDER_TOP 
OBS_DEINTERLACE_FIELD_ORDER_BOTTOM 

◆ obs_deinterlace_mode

Enumerator
OBS_DEINTERLACE_MODE_DISABLE 
OBS_DEINTERLACE_MODE_DISCARD 
OBS_DEINTERLACE_MODE_RETRO 
OBS_DEINTERLACE_MODE_BLEND 
OBS_DEINTERLACE_MODE_BLEND_2X 
OBS_DEINTERLACE_MODE_LINEAR 
OBS_DEINTERLACE_MODE_LINEAR_2X 
OBS_DEINTERLACE_MODE_YADIF 
OBS_DEINTERLACE_MODE_YADIF_2X 

◆ obs_monitoring_type

Enumerator
OBS_MONITORING_TYPE_NONE 
OBS_MONITORING_TYPE_MONITOR_ONLY 
OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT 

◆ obs_obj_type

Enumerator
OBS_OBJ_TYPE_INVALID 
OBS_OBJ_TYPE_SOURCE 
OBS_OBJ_TYPE_OUTPUT 
OBS_OBJ_TYPE_ENCODER 
OBS_OBJ_TYPE_SERVICE 

◆ obs_order_movement

Used for changing the order of items (for example, filters in a source, or items in a scene)

Enumerator
OBS_ORDER_MOVE_UP 
OBS_ORDER_MOVE_DOWN 
OBS_ORDER_MOVE_TOP 
OBS_ORDER_MOVE_BOTTOM 

◆ obs_scale_type

Enumerator
OBS_SCALE_DISABLE 
OBS_SCALE_POINT 
OBS_SCALE_BICUBIC 
OBS_SCALE_BILINEAR 
OBS_SCALE_LANCZOS 
OBS_SCALE_AREA 

◆ obs_scene_duplicate_type

Enumerator
OBS_SCENE_DUP_REFS 

Source refs only

OBS_SCENE_DUP_COPY 

Fully duplicate

OBS_SCENE_DUP_PRIVATE_REFS 

Source refs only (as private)

OBS_SCENE_DUP_PRIVATE_COPY 

Fully duplicate (as private)

◆ obs_task_type

Enumerator
OBS_TASK_UI 
OBS_TASK_GRAPHICS 

◆ obs_transition_mode

Enumerator
OBS_TRANSITION_MODE_AUTO 
OBS_TRANSITION_MODE_MANUAL 

◆ obs_transition_scale_type

Enumerator
OBS_TRANSITION_SCALE_MAX_ONLY 
OBS_TRANSITION_SCALE_ASPECT 
OBS_TRANSITION_SCALE_STRETCH 

◆ obs_transition_target

Enumerator
OBS_TRANSITION_SOURCE_A 
OBS_TRANSITION_SOURCE_B 

Function Documentation

◆ obs_add_data_path()

EXPORT void obs_add_data_path ( const char *  path)

Add a path to search libobs data files in.

Parameters
pathFull path to directory to look in. The string is copied.

◆ obs_add_main_render_callback()

EXPORT void obs_add_main_render_callback ( void(*)(void *param, uint32_t cx, uint32_t cy)  draw,
void *  param 
)

◆ obs_add_module_path()

EXPORT void obs_add_module_path ( const char *  bin,
const char *  data 
)

Adds a module search path to be used with obs_find_modules. If the search path strings contain module%, that text will be replaced with the module name when used.

Parameters
binSpecifies the module's binary directory search path.
dataSpecifies the module's data directory search path.

◆ obs_add_raw_video_callback()

EXPORT void obs_add_raw_video_callback ( const struct video_scale_info conversion,
void(*)(void *param, struct video_data *frame)  callback,
void *  param 
)

◆ obs_add_tick_callback()

EXPORT void obs_add_tick_callback ( void(*)(void *param, float seconds)  tick,
void *  param 
)

◆ obs_apply_private_data()

EXPORT void obs_apply_private_data ( obs_data_t settings)

◆ obs_audio_encoder_create()

EXPORT obs_encoder_t* obs_audio_encoder_create ( const char *  id,
const char *  name,
obs_data_t settings,
size_t  mixer_idx,
obs_data_t hotkey_data 
)

Creates an audio encoder context

Parameters
idAudio Encoder ID
nameName to assign to this context
settingsSettings
mixer_idxIndex of the mixer to use for this audio encoder
Returns
The video encoder context, or NULL if failed or not found.

◆ obs_display_add_draw_callback()

EXPORT void obs_display_add_draw_callback ( obs_display_t display,
void(*)(void *param, uint32_t cx, uint32_t cy)  draw,
void *  param 
)

Adds a draw callback for this display context

Parameters
displayThe display context.
drawThe draw callback which is called each time a frame updates.
paramThe user data to be associated with this draw callback.

◆ obs_display_create()

EXPORT obs_display_t* obs_display_create ( const struct gs_init_data graphics_data,
uint32_t  backround_color 
)

Adds a new window display linked to the main render pipeline. This creates a new swap chain which updates every frame.

Parameters
graphics_dataThe swap chain initialization data.
Returns
The new display context, or NULL if failed.

◆ obs_display_destroy()

EXPORT void obs_display_destroy ( obs_display_t display)

Destroys a display context

◆ obs_display_enabled()

EXPORT bool obs_display_enabled ( obs_display_t display)

◆ obs_display_remove_draw_callback()

EXPORT void obs_display_remove_draw_callback ( obs_display_t display,
void(*)(void *param, uint32_t cx, uint32_t cy)  draw,
void *  param 
)

Removes a draw callback for this display context

◆ obs_display_resize()

EXPORT void obs_display_resize ( obs_display_t display,
uint32_t  cx,
uint32_t  cy 
)

Changes the size of this display

◆ obs_display_set_background_color()

EXPORT void obs_display_set_background_color ( obs_display_t display,
uint32_t  color 
)

◆ obs_display_set_enabled()

EXPORT void obs_display_set_enabled ( obs_display_t display,
bool  enable 
)

◆ obs_display_size()

EXPORT void obs_display_size ( obs_display_t display,
uint32_t *  width,
uint32_t *  height 
)

◆ obs_duplicate_encoder_packet()

OBS_DEPRECATED EXPORT void obs_duplicate_encoder_packet ( struct encoder_packet dst,
const struct encoder_packet src 
)

Duplicates an encoder packet

◆ obs_encoder_active()

EXPORT bool obs_encoder_active ( const obs_encoder_t encoder)

Returns true if encoder is active, false otherwise

◆ obs_encoder_addref()

EXPORT void obs_encoder_addref ( obs_encoder_t encoder)

Adds/releases a reference to an encoder. When the last reference is released, the encoder is destroyed.

◆ obs_encoder_audio()

EXPORT audio_t* obs_encoder_audio ( const obs_encoder_t encoder)

Returns the audio output context used with this encoder, or NULL if not a audio context

◆ obs_encoder_create_rerouted()

EXPORT void* obs_encoder_create_rerouted ( obs_encoder_t encoder,
const char *  reroute_id 
)

◆ obs_encoder_defaults()

EXPORT obs_data_t* obs_encoder_defaults ( const char *  id)

Gets the default settings for an encoder type

◆ obs_encoder_get_caps()

EXPORT uint32_t obs_encoder_get_caps ( const obs_encoder_t encoder)

◆ obs_encoder_get_codec()

EXPORT const char* obs_encoder_get_codec ( const obs_encoder_t encoder)

Returns the codec of the encoder

◆ obs_encoder_get_defaults()

EXPORT obs_data_t* obs_encoder_get_defaults ( const obs_encoder_t encoder)

◆ obs_encoder_get_display_name()

EXPORT const char* obs_encoder_get_display_name ( const char *  id)

◆ obs_encoder_get_extra_data()

EXPORT bool obs_encoder_get_extra_data ( const obs_encoder_t encoder,
uint8_t **  extra_data,
size_t *  size 
)

Gets extra data (headers) associated with this context

◆ obs_encoder_get_height()

EXPORT uint32_t obs_encoder_get_height ( const obs_encoder_t encoder)

For video encoders, returns the height of the encoded image

◆ obs_encoder_get_id()

EXPORT const char* obs_encoder_get_id ( const obs_encoder_t encoder)

◆ obs_encoder_get_last_error()

EXPORT const char* obs_encoder_get_last_error ( obs_encoder_t encoder)

◆ obs_encoder_get_name()

EXPORT const char* obs_encoder_get_name ( const obs_encoder_t encoder)

◆ obs_encoder_get_preferred_video_format()

EXPORT enum video_format obs_encoder_get_preferred_video_format ( const obs_encoder_t encoder)

◆ obs_encoder_get_ref()

EXPORT obs_encoder_t* obs_encoder_get_ref ( obs_encoder_t encoder)

◆ obs_encoder_get_sample_rate()

EXPORT uint32_t obs_encoder_get_sample_rate ( const obs_encoder_t encoder)

For audio encoders, returns the sample rate of the audio

◆ obs_encoder_get_settings()

EXPORT obs_data_t* obs_encoder_get_settings ( const obs_encoder_t encoder)

Returns the current settings for this encoder

◆ obs_encoder_get_type()

EXPORT enum obs_encoder_type obs_encoder_get_type ( const obs_encoder_t encoder)

Returns the type of an encoder

◆ obs_encoder_get_type_data()

EXPORT void* obs_encoder_get_type_data ( obs_encoder_t encoder)

◆ obs_encoder_get_weak_encoder()

EXPORT obs_weak_encoder_t* obs_encoder_get_weak_encoder ( obs_encoder_t encoder)

◆ obs_encoder_get_width()

EXPORT uint32_t obs_encoder_get_width ( const obs_encoder_t encoder)

For video encoders, returns the width of the encoded image

◆ obs_encoder_packet_ref()

EXPORT void obs_encoder_packet_ref ( struct encoder_packet dst,
struct encoder_packet src 
)

◆ obs_encoder_packet_release()

EXPORT void obs_encoder_packet_release ( struct encoder_packet packet)

◆ obs_encoder_paused()

EXPORT bool obs_encoder_paused ( const obs_encoder_t output)

Returns whether encoder is paused

◆ obs_encoder_properties()

EXPORT obs_properties_t* obs_encoder_properties ( const obs_encoder_t encoder)

Returns the property list of an existing encoder, if any. Free with obs_properties_destroy

◆ obs_encoder_release()

EXPORT void obs_encoder_release ( obs_encoder_t encoder)

◆ obs_encoder_scaling_enabled()

EXPORT bool obs_encoder_scaling_enabled ( const obs_encoder_t encoder)

For video encoders, returns true if pre-encode scaling is enabled

◆ obs_encoder_set_audio()

EXPORT void obs_encoder_set_audio ( obs_encoder_t encoder,
audio_t audio 
)

Sets the audio output context to be used with this encoder

◆ obs_encoder_set_last_error()

EXPORT void obs_encoder_set_last_error ( obs_encoder_t encoder,
const char *  message 
)

◆ obs_encoder_set_name()

EXPORT void obs_encoder_set_name ( obs_encoder_t encoder,
const char *  name 
)

◆ obs_encoder_set_preferred_video_format()

EXPORT void obs_encoder_set_preferred_video_format ( obs_encoder_t encoder,
enum video_format  format 
)

Sets the preferred video format for a video encoder. If the encoder can use the format specified, it will force a conversion to that format if the obs output format does not match the preferred format.

If the format is set to VIDEO_FORMAT_NONE, will revert to the default functionality of converting only when absolutely necessary.

◆ obs_encoder_set_scaled_size()

EXPORT void obs_encoder_set_scaled_size ( obs_encoder_t encoder,
uint32_t  width,
uint32_t  height 
)

Sets the scaled resolution for a video encoder. Set width and height to 0 to disable scaling. If the encoder is active, this function will trigger a warning, and do nothing.

◆ obs_encoder_set_video()

EXPORT void obs_encoder_set_video ( obs_encoder_t encoder,
video_t video 
)

Sets the video output context to be used with this encoder

◆ obs_encoder_update()

EXPORT void obs_encoder_update ( obs_encoder_t encoder,
obs_data_t settings 
)

Updates the settings of the encoder context. Usually used for changing bitrate while active

◆ obs_encoder_video()

EXPORT video_t* obs_encoder_video ( const obs_encoder_t encoder)

Returns the video output context used with this encoder, or NULL if not a video context

◆ obs_enter_graphics()

EXPORT void obs_enter_graphics ( void  )

Helper function for entering the OBS graphics context

◆ obs_enum_audio_monitoring_devices()

EXPORT void obs_enum_audio_monitoring_devices ( obs_enum_audio_device_cb  cb,
void *  data 
)

◆ obs_enum_encoder_types()

EXPORT bool obs_enum_encoder_types ( size_t  idx,
const char **  id 
)

Enumerates all available encoder types.

◆ obs_enum_encoders()

EXPORT void obs_enum_encoders ( bool(*)(void *, obs_encoder_t *)  enum_proc,
void *  param 
)

Enumerates encoders

◆ obs_enum_filter_types()

EXPORT bool obs_enum_filter_types ( size_t  idx,
const char **  id 
)

Enumerates all available filter source types.

Filters are sources that are used to modify the video/audio output of other sources.

◆ obs_enum_input_types()

EXPORT bool obs_enum_input_types ( size_t  idx,
const char **  id 
)

Enumerates all available inputs source types.

Inputs are general source inputs (such as capture sources, device sources, etc).

◆ obs_enum_input_types2()

EXPORT bool obs_enum_input_types2 ( size_t  idx,
const char **  id,
const char **  unversioned_id 
)

◆ obs_enum_modules()

EXPORT void obs_enum_modules ( obs_enum_module_callback_t  callback,
void *  param 
)

Enumerates all loaded modules

◆ obs_enum_output_types()

EXPORT bool obs_enum_output_types ( size_t  idx,
const char **  id 
)

Enumerates all available output types.

◆ obs_enum_outputs()

EXPORT void obs_enum_outputs ( bool(*)(void *, obs_output_t *)  enum_proc,
void *  param 
)

Enumerates outputs

◆ obs_enum_scenes()

EXPORT void obs_enum_scenes ( bool(*)(void *, obs_source_t *)  enum_proc,
void *  param 
)

Enumerates scenes

◆ obs_enum_service_types()

EXPORT bool obs_enum_service_types ( size_t  idx,
const char **  id 
)

Enumerates all available service types.

◆ obs_enum_services()

EXPORT void obs_enum_services ( bool(*)(void *, obs_service_t *)  enum_proc,
void *  param 
)

Enumerates encoders

◆ obs_enum_source_types()

EXPORT bool obs_enum_source_types ( size_t  idx,
const char **  id 
)

Enumerates all source types (inputs, filters, transitions, etc).

◆ obs_enum_sources()

EXPORT void obs_enum_sources ( bool(*)(void *, obs_source_t *)  enum_proc,
void *  param 
)

Enumerates all input sources

Callback function returns true to continue enumeration, or false to end enumeration.

Use obs_source_get_ref or obs_source_get_weak_source if you want to retain a reference after obs_enum_sources finishes

◆ obs_enum_transition_types()

EXPORT bool obs_enum_transition_types ( size_t  idx,
const char **  id 
)

Enumerates all available transition source types.

Transitions are sources used to transition between two or more other sources.

◆ obs_filter_get_parent()

EXPORT obs_source_t* obs_filter_get_parent ( const obs_source_t filter)

If the source is a filter, returns the parent source of the filter. Only guaranteed to be valid inside of the video_render, filter_audio, filter_video, and filter_remove callbacks.

◆ obs_filter_get_target()

EXPORT obs_source_t* obs_filter_get_target ( const obs_source_t filter)

If the source is a filter, returns the target source of the filter. Only guaranteed to be valid inside of the video_render, filter_audio, filter_video, and filter_remove callbacks.

◆ obs_find_data_file()

EXPORT char* obs_find_data_file ( const char *  file)

Find a core libobs data file

Parameters
pathname of the base file
Returns
A string containing the full path to the file. Use bfree after use.

◆ obs_find_module_file()

EXPORT char* obs_find_module_file ( obs_module_t module,
const char *  file 
)

Returns the location of a plugin module data file.

Note
Modules should use obs_module_file function defined in obs-module.h as a more elegant means of getting their files without having to specify the module parameter.
Parameters
moduleThe module associated with the file to locate
fileThe file to locate
Returns
Path string, or NULL if not found. Use bfree to free string.

◆ obs_find_modules()

EXPORT void obs_find_modules ( obs_find_module_callback_t  callback,
void *  param 
)

Finds all modules within the search paths added by obs_add_module_path.

◆ obs_free_encoder_packet()

OBS_DEPRECATED EXPORT void obs_free_encoder_packet ( struct encoder_packet packet)

◆ obs_get_active_fps()

EXPORT double obs_get_active_fps ( void  )

◆ obs_get_audio()

EXPORT audio_t* obs_get_audio ( void  )

Gets the main audio output handler for this OBS context

◆ obs_get_audio_info()

EXPORT bool obs_get_audio_info ( struct obs_audio_info oai)

Gets the current audio settings, returns false if no audio

◆ obs_get_audio_monitoring_device()

EXPORT void obs_get_audio_monitoring_device ( const char **  name,
const char **  id 
)

◆ obs_get_average_frame_time_ns()

EXPORT uint64_t obs_get_average_frame_time_ns ( void  )

◆ obs_get_base_effect()

EXPORT gs_effect_t* obs_get_base_effect ( enum obs_base_effect  effect)

Returns a commonly used base effect

◆ obs_get_cmdline_args()

EXPORT struct obs_cmdline_args obs_get_cmdline_args ( void  )

Get the argc/argv used to start OBS

Returns
The command line arguments used for main(). Don't modify this or you'll mess things up for other callers.

◆ obs_get_default_rect_effect()

OBS_DEPRECATED EXPORT gs_effect_t* obs_get_default_rect_effect ( void  )

◆ obs_get_encoder_by_name()

EXPORT obs_encoder_t* obs_get_encoder_by_name ( const char *  name)

Gets an encoder by its name.

◆ obs_get_encoder_caps()

EXPORT uint32_t obs_get_encoder_caps ( const char *  encoder_id)

◆ obs_get_encoder_codec()

EXPORT const char* obs_get_encoder_codec ( const char *  id)

Returns the codec of an encoder by the id

◆ obs_get_encoder_properties()

EXPORT obs_properties_t* obs_get_encoder_properties ( const char *  id)

Returns the property list, if any. Free with obs_properties_destroy

◆ obs_get_encoder_type()

EXPORT enum obs_encoder_type obs_get_encoder_type ( const char *  id)

Returns the type of an encoder by the id

◆ obs_get_frame_interval_ns()

EXPORT uint64_t obs_get_frame_interval_ns ( void  )

◆ obs_get_lagged_frames()

EXPORT uint32_t obs_get_lagged_frames ( void  )

◆ obs_get_latest_input_type_id()

EXPORT const char* obs_get_latest_input_type_id ( const char *  unversioned_id)

◆ obs_get_locale()

EXPORT const char* obs_get_locale ( void  )
Returns
the current locale

◆ obs_get_main_texture()

EXPORT gs_texture_t* obs_get_main_texture ( void  )

Returns the last main output texture. This can return NULL if the texture is unavailable.

◆ obs_get_master_volume()

EXPORT float obs_get_master_volume ( void  )

Gets the master user volume

◆ obs_get_module_author()

EXPORT const char* obs_get_module_author ( obs_module_t module)

Returns the module author(s)

◆ obs_get_module_binary_path()

EXPORT const char* obs_get_module_binary_path ( obs_module_t module)

Returns the module binary path

◆ obs_get_module_data_path()

EXPORT const char* obs_get_module_data_path ( obs_module_t module)

Returns the module data path

◆ obs_get_module_description()

EXPORT const char* obs_get_module_description ( obs_module_t module)

Returns the module description

◆ obs_get_module_file_name()

EXPORT const char* obs_get_module_file_name ( obs_module_t module)

Returns the module file name

◆ obs_get_module_name()

EXPORT const char* obs_get_module_name ( obs_module_t module)

Returns the module full name

◆ obs_get_output_by_name()

EXPORT obs_output_t* obs_get_output_by_name ( const char *  name)

Gets an output by its name.

◆ obs_get_output_flags()

EXPORT uint32_t obs_get_output_flags ( const char *  id)

Returns output capability flags

◆ obs_get_output_properties()

EXPORT obs_properties_t* obs_get_output_properties ( const char *  id)

Returns the property list, if any. Free with obs_properties_destroy

◆ obs_get_output_source()

EXPORT obs_source_t* obs_get_output_source ( uint32_t  channel)

Gets the primary output source for a channel and increments the reference counter for that source. Use obs_source_release to release.

◆ obs_get_private_data()

EXPORT obs_data_t* obs_get_private_data ( void  )

◆ obs_get_proc_handler()

EXPORT proc_handler_t* obs_get_proc_handler ( void  )

Returns the primary obs procedure handler

◆ obs_get_profiler_name_store()

EXPORT profiler_name_store_t* obs_get_profiler_name_store ( void  )

Initialize the Windows-specific crash handler Returns the profiler name store (see util/profiler.h) used by OBS, which is either a name store passed to obs_startup, an internal name store, or NULL in case obs_initialized() returns false.

◆ obs_get_service_by_name()

EXPORT obs_service_t* obs_get_service_by_name ( const char *  name)

Gets an service by its name.

◆ obs_get_service_properties()

EXPORT obs_properties_t* obs_get_service_properties ( const char *  id)

Returns the property list, if any. Free with obs_properties_destroy

◆ obs_get_signal_handler()

EXPORT signal_handler_t* obs_get_signal_handler ( void  )

Returns the primary obs signal handler

◆ obs_get_source_by_name()

EXPORT obs_source_t* obs_get_source_by_name ( const char *  name)

Gets a source by its name.

Increments the source reference counter, use obs_source_release to release it when complete.

◆ obs_get_source_defaults()

EXPORT obs_data_t* obs_get_source_defaults ( const char *  id)

Gets the default settings for a source type

◆ obs_get_source_output_flags()

EXPORT uint32_t obs_get_source_output_flags ( const char *  id)

Returns capability flags of a source type

◆ obs_get_source_properties()

EXPORT obs_properties_t* obs_get_source_properties ( const char *  id)

Returns the property list, if any. Free with obs_properties_destroy

◆ obs_get_total_frames()

EXPORT uint32_t obs_get_total_frames ( void  )

◆ obs_get_version()

EXPORT uint32_t obs_get_version ( void  )
Returns
The current core version

◆ obs_get_version_string()

EXPORT const char* obs_get_version_string ( void  )
Returns
The current core version string

◆ obs_get_video()

EXPORT video_t* obs_get_video ( void  )

Gets the main video output handler for this OBS context

◆ obs_get_video_frame_time()

EXPORT uint64_t obs_get_video_frame_time ( void  )

◆ obs_get_video_info()

EXPORT bool obs_get_video_info ( struct obs_video_info ovi)

Gets the current video settings, returns false if no video

◆ obs_group_from_source()

EXPORT obs_scene_t* obs_group_from_source ( const obs_source_t source)

Gets the group from its source, or NULL if not a group

◆ obs_init_module()

EXPORT bool obs_init_module ( obs_module_t module)

Initializes the module, which calls its obs_module_load export. If the module is already loaded, then this function does nothing and returns successful.

◆ obs_initialized()

EXPORT bool obs_initialized ( void  )
Returns
true if the main OBS context has been initialized

◆ obs_is_source_configurable()

EXPORT bool obs_is_source_configurable ( const char *  id)

Returns whether the source has custom properties or not

◆ obs_leave_graphics()

EXPORT void obs_leave_graphics ( void  )

Helper function for leaving the OBS graphics context

◆ obs_load_all_modules()

EXPORT void obs_load_all_modules ( void  )

Automatically loads all modules from module paths (convenience function)

◆ obs_load_source()

EXPORT obs_source_t* obs_load_source ( obs_data_t data)

Loads a source from settings data

◆ obs_load_sources()

EXPORT void obs_load_sources ( obs_data_array_t array,
obs_load_source_cb  cb,
void *  private_data 
)

Loads sources from a data array

◆ obs_log_loaded_modules()

EXPORT void obs_log_loaded_modules ( void  )

Logs loaded modules

◆ obs_module_get_config_path()

EXPORT char* obs_module_get_config_path ( obs_module_t module,
const char *  file 
)

Returns the path of a plugin module config file (whether it exists or not)

Note
Modules should use obs_module_config_path function defined in obs-module.h as a more elegant means of getting their files without having to specify the module parameter.
Parameters
moduleThe module associated with the path
fileThe file to get a path to
Returns
Path string, or NULL if not found. Use bfree to free string.

◆ obs_module_load_locale()

EXPORT lookup_t* obs_module_load_locale ( obs_module_t module,
const char *  default_locale,
const char *  locale 
)

Helper function for using default module locale

◆ obs_nv12_tex_active()

EXPORT bool obs_nv12_tex_active ( void  )

◆ obs_obj_get_data()

EXPORT void* obs_obj_get_data ( void *  obj)

◆ obs_obj_get_id()

EXPORT const char* obs_obj_get_id ( void *  obj)

◆ obs_obj_get_type()

EXPORT enum obs_obj_type obs_obj_get_type ( void *  obj)

◆ obs_obj_invalid()

EXPORT bool obs_obj_invalid ( void *  obj)

◆ obs_open_module()

EXPORT int obs_open_module ( obs_module_t **  module,
const char *  path,
const char *  data_path 
)

Opens a plugin module directly from a specific path.

If the module already exists then the function will return successful, and the module parameter will be given the pointer to the existing module.

This does not initialize the module, it only loads the module image. To initialize the module, call obs_init_module.

Parameters
moduleThe pointer to the created module.
pathSpecifies the path to the module library file. If the extension is not specified, it will use the extension appropriate to the operating system.
data_pathSpecifies the path to the directory where the module's data files are stored.
Returns
MODULE_SUCCESS if successful MODULE_ERROR if a generic error occurred MODULE_FILE_NOT_FOUND if the module was not found MODULE_MISSING_EXPORTS if required exports are missing MODULE_INCOMPATIBLE_VER if incompatible version

◆ obs_output_active()

EXPORT bool obs_output_active ( const obs_output_t output)

Returns whether the output is active

◆ obs_output_addref()

EXPORT void obs_output_addref ( obs_output_t output)

Adds/releases a reference to an output. When the last reference is released, the output is destroyed.

◆ obs_output_audio()

EXPORT audio_t* obs_output_audio ( const obs_output_t output)

Returns the audio media context associated with this output

◆ obs_output_begin_data_capture()

EXPORT bool obs_output_begin_data_capture ( obs_output_t output,
uint32_t  flags 
)

Begins data capture from media/encoders.

Parameters
outputOutput context
flagsSet this to 0 to use default output flags set in the obs_output_info structure, otherwise set to a either OBS_OUTPUT_VIDEO or OBS_OUTPUT_AUDIO to specify whether to connect audio or video. This is useful for things like ffmpeg which may or may not always want to use both audio and video.
Returns
true if successful, false otherwise.

◆ obs_output_can_begin_data_capture()

EXPORT bool obs_output_can_begin_data_capture ( const obs_output_t output,
uint32_t  flags 
)

Returns whether data capture can begin with the specified flags

◆ obs_output_can_pause()

EXPORT bool obs_output_can_pause ( const obs_output_t output)

Specifies whether the output can be paused

◆ obs_output_create()

EXPORT obs_output_t* obs_output_create ( const char *  id,
const char *  name,
obs_data_t settings,
obs_data_t hotkey_data 
)

Creates an output.

Outputs allow outputting to file, outputting to network, outputting to directshow, or other custom outputs.

◆ obs_output_defaults()

EXPORT obs_data_t* obs_output_defaults ( const char *  id)

Gets the default settings for an output type

◆ obs_output_end_data_capture()

EXPORT void obs_output_end_data_capture ( obs_output_t output)

Ends data capture from media/encoders

◆ obs_output_force_stop()

EXPORT void obs_output_force_stop ( obs_output_t output)

Forces the output to stop. Usually only used with delay.

◆ obs_output_get_active_delay()

EXPORT uint32_t obs_output_get_active_delay ( const obs_output_t output)

If delay is active, gets the currently active delay value, in seconds.

◆ obs_output_get_audio_encoder()

EXPORT obs_encoder_t* obs_output_get_audio_encoder ( const obs_output_t output,
size_t  idx 
)

Returns the current audio encoder associated with this output

The idx parameter specifies the audio encoder index. Only used with outputs that have multiple audio outputs, otherwise the parameter is ignored.

◆ obs_output_get_congestion()

EXPORT float obs_output_get_congestion ( obs_output_t output)

◆ obs_output_get_connect_time_ms()

EXPORT int obs_output_get_connect_time_ms ( obs_output_t output)

◆ obs_output_get_delay()

EXPORT uint32_t obs_output_get_delay ( const obs_output_t output)

Gets the currently set delay value, in seconds.

◆ obs_output_get_display_name()

EXPORT const char* obs_output_get_display_name ( const char *  id)

◆ obs_output_get_flags()

EXPORT uint32_t obs_output_get_flags ( const obs_output_t output)

Returns output capability flags

◆ obs_output_get_frames_dropped()

EXPORT int obs_output_get_frames_dropped ( const obs_output_t output)

◆ obs_output_get_height()

EXPORT uint32_t obs_output_get_height ( const obs_output_t output)

For video outputs, returns the height of the encoded image

◆ obs_output_get_id()

EXPORT const char* obs_output_get_id ( const obs_output_t output)

◆ obs_output_get_last_error()

EXPORT const char* obs_output_get_last_error ( obs_output_t output)

◆ obs_output_get_mixer()

EXPORT size_t obs_output_get_mixer ( const obs_output_t output)

Gets the current audio mixer for non-encoded outputs

◆ obs_output_get_mixers()

EXPORT size_t obs_output_get_mixers ( const obs_output_t output)

Gets the current audio mixes (mask) for a non-encoded multi-track output

◆ obs_output_get_name()

EXPORT const char* obs_output_get_name ( const obs_output_t output)

◆ obs_output_get_pause_offset()

EXPORT uint64_t obs_output_get_pause_offset ( obs_output_t output)

◆ obs_output_get_proc_handler()

EXPORT proc_handler_t* obs_output_get_proc_handler ( const obs_output_t output)

Returns the procedure handler for an output

◆ obs_output_get_ref()

EXPORT obs_output_t* obs_output_get_ref ( obs_output_t output)

◆ obs_output_get_service()

EXPORT obs_service_t* obs_output_get_service ( const obs_output_t output)

Gets the current service associated with this output.

◆ obs_output_get_settings()

EXPORT obs_data_t* obs_output_get_settings ( const obs_output_t output)

◆ obs_output_get_signal_handler()

EXPORT signal_handler_t* obs_output_get_signal_handler ( const obs_output_t output)

Returns the signal handler for an output

◆ obs_output_get_supported_audio_codecs()

EXPORT const char* obs_output_get_supported_audio_codecs ( const obs_output_t output)

◆ obs_output_get_supported_video_codecs()

EXPORT const char* obs_output_get_supported_video_codecs ( const obs_output_t output)

◆ obs_output_get_total_bytes()

EXPORT uint64_t obs_output_get_total_bytes ( const obs_output_t output)

◆ obs_output_get_total_frames()

EXPORT int obs_output_get_total_frames ( const obs_output_t output)

◆ obs_output_get_type_data()

EXPORT void* obs_output_get_type_data ( obs_output_t output)

◆ obs_output_get_video_encoder()

EXPORT obs_encoder_t* obs_output_get_video_encoder ( const obs_output_t output)

Returns the current video encoder associated with this output

◆ obs_output_get_weak_output()

EXPORT obs_weak_output_t* obs_output_get_weak_output ( obs_output_t output)

◆ obs_output_get_width()

EXPORT uint32_t obs_output_get_width ( const obs_output_t output)

For video outputs, returns the width of the encoded image

◆ obs_output_initialize_encoders()

EXPORT bool obs_output_initialize_encoders ( obs_output_t output,
uint32_t  flags 
)

Initializes encoders (if any)

◆ obs_output_pause()

EXPORT bool obs_output_pause ( obs_output_t output,
bool  pause 
)

Pauses the output (if the functionality is allowed by the output

◆ obs_output_paused()

EXPORT bool obs_output_paused ( const obs_output_t output)

Returns whether output is paused

◆ obs_output_properties()

EXPORT obs_properties_t* obs_output_properties ( const obs_output_t output)

Returns the property list of an existing output, if any. Free with obs_properties_destroy

◆ obs_output_reconnecting()

EXPORT bool obs_output_reconnecting ( const obs_output_t output)

◆ obs_output_release()

EXPORT void obs_output_release ( obs_output_t output)

◆ obs_output_set_audio_conversion()

EXPORT void obs_output_set_audio_conversion ( obs_output_t output,
const struct audio_convert_info conversion 
)

Optionally sets the audio conversion info. Used only for raw output

◆ obs_output_set_audio_encoder()

EXPORT void obs_output_set_audio_encoder ( obs_output_t output,
obs_encoder_t encoder,
size_t  idx 
)

Sets the current audio encoder associated with this output, required for encoded outputs.

The idx parameter specifies the audio encoder index to set the encoder to. Only used with outputs that have multiple audio outputs (RTMP typically), otherwise the parameter is ignored.

◆ obs_output_set_delay()

EXPORT void obs_output_set_delay ( obs_output_t output,
uint32_t  delay_sec,
uint32_t  flags 
)

Sets the current output delay, in seconds (if the output supports delay).

If delay is currently active, it will set the delay value, but will not affect the current delay, it will only affect the next time the output is activated.

◆ obs_output_set_last_error()

EXPORT void obs_output_set_last_error ( obs_output_t output,
const char *  message 
)

Pass a string of the last output error, for UI use

◆ obs_output_set_media()

EXPORT void obs_output_set_media ( obs_output_t output,
video_t video,
audio_t audio 
)

Sets the current audio/video media contexts associated with this output, required for non-encoded outputs. Can be null.

◆ obs_output_set_mixer()

EXPORT void obs_output_set_mixer ( obs_output_t output,
size_t  mixer_idx 
)

Sets the current audio mixer for non-encoded outputs

◆ obs_output_set_mixers()

EXPORT void obs_output_set_mixers ( obs_output_t output,
size_t  mixers 
)

Sets the current audio mixes (mask) for a non-encoded multi-track output

◆ obs_output_set_preferred_size()

EXPORT void obs_output_set_preferred_size ( obs_output_t output,
uint32_t  width,
uint32_t  height 
)

Sets the preferred scaled resolution for this output. Set width and height to 0 to disable scaling.

If this output uses an encoder, it will call obs_encoder_set_scaled_size on the encoder before the stream is started. If the encoder is already active, then this function will trigger a warning and do nothing.

◆ obs_output_set_reconnect_settings()

EXPORT void obs_output_set_reconnect_settings ( obs_output_t output,
int  retry_count,
int  retry_sec 
)

Sets the reconnect settings. Set retry_count to 0 to disable reconnecting.

◆ obs_output_set_service()

EXPORT void obs_output_set_service ( obs_output_t output,
obs_service_t service 
)

Sets the current service associated with this output.

◆ obs_output_set_video_conversion()

EXPORT void obs_output_set_video_conversion ( obs_output_t output,
const struct video_scale_info conversion 
)

Optionally sets the video conversion info. Used only for raw output

◆ obs_output_set_video_encoder()

EXPORT void obs_output_set_video_encoder ( obs_output_t output,
obs_encoder_t encoder 
)

Sets the current video encoder associated with this output, required for encoded outputs

◆ obs_output_signal_stop()

EXPORT void obs_output_signal_stop ( obs_output_t output,
int  code 
)

Signals that the output has stopped itself.

Parameters
outputOutput context
codeError code (or OBS_OUTPUT_SUCCESS if not an error)

◆ obs_output_start()

EXPORT bool obs_output_start ( obs_output_t output)

Starts the output.

◆ obs_output_stop()

EXPORT void obs_output_stop ( obs_output_t output)

Stops the output.

◆ obs_output_update()

EXPORT void obs_output_update ( obs_output_t output,
obs_data_t settings 
)

Updates the settings for this output context

◆ obs_output_video()

EXPORT video_t* obs_output_video ( const obs_output_t output)

Returns the video media context associated with this output

◆ obs_post_load_modules()

EXPORT void obs_post_load_modules ( void  )

Notifies modules that all modules have been loaded. This function should be called after all modules have been loaded.

◆ obs_queue_task()

EXPORT void obs_queue_task ( enum obs_task_type  type,
obs_task_t  task,
void *  param,
bool  wait 
)

◆ obs_remove_data_path()

EXPORT bool obs_remove_data_path ( const char *  path)

Remove a path from libobs core data paths.

Parameters
pathThe path to compare to currently set paths. It does not need to be the same pointer, but the path string must match an entry fully.
Returns
Whether or not the path was successfully removed. If false, the path could not be found.

◆ obs_remove_main_render_callback()

EXPORT void obs_remove_main_render_callback ( void(*)(void *param, uint32_t cx, uint32_t cy)  draw,
void *  param 
)

◆ obs_remove_raw_video_callback()

EXPORT void obs_remove_raw_video_callback ( void(*)(void *param, struct video_data *frame)  callback,
void *  param 
)

◆ obs_remove_tick_callback()

EXPORT void obs_remove_tick_callback ( void(*)(void *param, float seconds)  tick,
void *  param 
)

◆ obs_render_main_texture()

EXPORT void obs_render_main_texture ( void  )

Renders the last main output texture

◆ obs_render_main_texture_src_color_only()

EXPORT void obs_render_main_texture_src_color_only ( void  )

Renders the last main output texture ignoring background color

◆ obs_render_main_view()

OBS_DEPRECATED EXPORT void obs_render_main_view ( void  )

Renders the main view

◆ obs_reset_audio()

EXPORT bool obs_reset_audio ( const struct obs_audio_info oai)

Sets base audio output format/channels/samples/etc

Note
Cannot reset base audio if an output is currently active.

◆ obs_reset_video()

EXPORT int obs_reset_video ( struct obs_video_info ovi)

Sets base video output base resolution/fps/format.

Note
This data cannot be changed if an output is currently active.
The graphics module cannot be changed without fully destroying the OBS context.
Parameters
oviPointer to an obs_video_info structure containing the specification of the graphics subsystem,
Returns
OBS_VIDEO_SUCCESS if successful OBS_VIDEO_NOT_SUPPORTED if the adapter lacks capabilities OBS_VIDEO_INVALID_PARAM if a parameter is invalid OBS_VIDEO_CURRENTLY_ACTIVE if video is currently active OBS_VIDEO_MODULE_NOT_FOUND if the graphics module is not found OBS_VIDEO_FAIL for generic failure

◆ obs_save_source()

EXPORT obs_data_t* obs_save_source ( obs_source_t source)

Saves a source to settings data

◆ obs_save_sources()

EXPORT obs_data_array_t* obs_save_sources ( void  )

Saves sources to a data array

◆ obs_save_sources_filtered()

EXPORT obs_data_array_t* obs_save_sources_filtered ( obs_save_source_filter_cb  cb,
void *  data 
)

◆ obs_scene_add()

EXPORT obs_sceneitem_t* obs_scene_add ( obs_scene_t scene,
obs_source_t source 
)

Adds/creates a new scene item for a source

◆ obs_scene_add_group()

EXPORT obs_sceneitem_t* obs_scene_add_group ( obs_scene_t scene,
const char *  name 
)

◆ obs_scene_add_group2()

EXPORT obs_sceneitem_t* obs_scene_add_group2 ( obs_scene_t scene,
const char *  name,
bool  signal 
)

◆ obs_scene_addref()

EXPORT void obs_scene_addref ( obs_scene_t scene)

◆ obs_scene_atomic_update()

EXPORT void obs_scene_atomic_update ( obs_scene_t scene,
obs_scene_atomic_update_func  func,
void *  data 
)

◆ obs_scene_create()

EXPORT obs_scene_t* obs_scene_create ( const char *  name)

Creates a scene.

A scene is a source which is a container of other sources with specific display orientations. Scenes can also be used like any other source.

◆ obs_scene_create_private()

EXPORT obs_scene_t* obs_scene_create_private ( const char *  name)

◆ obs_scene_duplicate()

EXPORT obs_scene_t* obs_scene_duplicate ( obs_scene_t scene,
const char *  name,
enum obs_scene_duplicate_type  type 
)

Duplicates a scene.

◆ obs_scene_enum_items()

EXPORT void obs_scene_enum_items ( obs_scene_t scene,
bool(*)(obs_scene_t *, obs_sceneitem_t *, void *)  callback,
void *  param 
)

Enumerates sources within a scene

◆ obs_scene_find_sceneitem_by_id()

EXPORT obs_sceneitem_t* obs_scene_find_sceneitem_by_id ( obs_scene_t scene,
int64_t  id 
)

◆ obs_scene_find_source()

EXPORT obs_sceneitem_t* obs_scene_find_source ( obs_scene_t scene,
const char *  name 
)

Determines whether a source is within a scene

◆ obs_scene_find_source_recursive()

EXPORT obs_sceneitem_t* obs_scene_find_source_recursive ( obs_scene_t scene,
const char *  name 
)

◆ obs_scene_from_source()

EXPORT obs_scene_t* obs_scene_from_source ( const obs_source_t source)

Gets the scene from its source, or NULL if not a scene

◆ obs_scene_get_group()

EXPORT obs_sceneitem_t* obs_scene_get_group ( obs_scene_t scene,
const char *  name 
)

◆ obs_scene_get_source()

EXPORT obs_source_t* obs_scene_get_source ( const obs_scene_t scene)

Gets the scene's source context

◆ obs_scene_insert_group()

EXPORT obs_sceneitem_t* obs_scene_insert_group ( obs_scene_t scene,
const char *  name,
obs_sceneitem_t **  items,
size_t  count 
)

◆ obs_scene_insert_group2()

EXPORT obs_sceneitem_t* obs_scene_insert_group2 ( obs_scene_t scene,
const char *  name,
obs_sceneitem_t **  items,
size_t  count,
bool  signal 
)

◆ obs_scene_is_group()

EXPORT bool obs_scene_is_group ( const obs_scene_t scene)

◆ obs_scene_release()

EXPORT void obs_scene_release ( obs_scene_t scene)

◆ obs_scene_reorder_items()

EXPORT bool obs_scene_reorder_items ( obs_scene_t scene,
obs_sceneitem_t *const *  item_order,
size_t  item_order_size 
)

◆ obs_scene_reorder_items2()

EXPORT bool obs_scene_reorder_items2 ( obs_scene_t scene,
struct obs_sceneitem_order_info item_order,
size_t  item_order_size 
)

◆ obs_sceneitem_addref()

EXPORT void obs_sceneitem_addref ( obs_sceneitem_t item)

◆ obs_sceneitem_defer_group_resize_begin()

EXPORT void obs_sceneitem_defer_group_resize_begin ( obs_sceneitem_t item)

◆ obs_sceneitem_defer_group_resize_end()

EXPORT void obs_sceneitem_defer_group_resize_end ( obs_sceneitem_t item)

◆ obs_sceneitem_defer_update_begin()

EXPORT void obs_sceneitem_defer_update_begin ( obs_sceneitem_t item)

◆ obs_sceneitem_defer_update_end()

EXPORT void obs_sceneitem_defer_update_end ( obs_sceneitem_t item)

◆ obs_sceneitem_force_update_transform()

EXPORT void obs_sceneitem_force_update_transform ( obs_sceneitem_t item)

◆ obs_sceneitem_get_alignment()

EXPORT uint32_t obs_sceneitem_get_alignment ( const obs_sceneitem_t item)

◆ obs_sceneitem_get_bounds()

EXPORT void obs_sceneitem_get_bounds ( const obs_sceneitem_t item,
struct vec2 bounds 
)

◆ obs_sceneitem_get_bounds_alignment()

EXPORT uint32_t obs_sceneitem_get_bounds_alignment ( const obs_sceneitem_t item)

◆ obs_sceneitem_get_bounds_type()

EXPORT enum obs_bounds_type obs_sceneitem_get_bounds_type ( const obs_sceneitem_t item)

◆ obs_sceneitem_get_box_scale()

EXPORT void obs_sceneitem_get_box_scale ( const obs_sceneitem_t item,
struct vec2 scale 
)

◆ obs_sceneitem_get_box_transform()

EXPORT void obs_sceneitem_get_box_transform ( const obs_sceneitem_t item,
struct matrix4 transform 
)

◆ obs_sceneitem_get_crop()

EXPORT void obs_sceneitem_get_crop ( const obs_sceneitem_t item,
struct obs_sceneitem_crop crop 
)

◆ obs_sceneitem_get_draw_transform()

EXPORT void obs_sceneitem_get_draw_transform ( const obs_sceneitem_t item,
struct matrix4 transform 
)

◆ obs_sceneitem_get_group()

EXPORT obs_sceneitem_t* obs_sceneitem_get_group ( obs_scene_t scene,
obs_sceneitem_t item 
)

◆ obs_sceneitem_get_id()

EXPORT int64_t obs_sceneitem_get_id ( const obs_sceneitem_t item)

◆ obs_sceneitem_get_info()

EXPORT void obs_sceneitem_get_info ( const obs_sceneitem_t item,
struct obs_transform_info info 
)

◆ obs_sceneitem_get_pos()

EXPORT void obs_sceneitem_get_pos ( const obs_sceneitem_t item,
struct vec2 pos 
)

◆ obs_sceneitem_get_private_settings()

EXPORT obs_data_t* obs_sceneitem_get_private_settings ( obs_sceneitem_t item)

Gets private front-end settings data. This data is saved/loaded automatically. Returns an incremented reference.

◆ obs_sceneitem_get_rot()

EXPORT float obs_sceneitem_get_rot ( const obs_sceneitem_t item)

◆ obs_sceneitem_get_scale()

EXPORT void obs_sceneitem_get_scale ( const obs_sceneitem_t item,
struct vec2 scale 
)

◆ obs_sceneitem_get_scale_filter()

EXPORT enum obs_scale_type obs_sceneitem_get_scale_filter ( obs_sceneitem_t item)

◆ obs_sceneitem_get_scene()

EXPORT obs_scene_t* obs_sceneitem_get_scene ( const obs_sceneitem_t item)

Gets the scene parent associated with the scene item.

◆ obs_sceneitem_get_source()

EXPORT obs_source_t* obs_sceneitem_get_source ( const obs_sceneitem_t item)

Gets the source of a scene item.

◆ obs_sceneitem_group_add_item()

EXPORT void obs_sceneitem_group_add_item ( obs_sceneitem_t group,
obs_sceneitem_t item 
)

◆ obs_sceneitem_group_enum_items()

EXPORT void obs_sceneitem_group_enum_items ( obs_sceneitem_t group,
bool(*)(obs_scene_t *, obs_sceneitem_t *, void *)  callback,
void *  param 
)

◆ obs_sceneitem_group_get_scene()

EXPORT obs_scene_t* obs_sceneitem_group_get_scene ( const obs_sceneitem_t group)

◆ obs_sceneitem_group_remove_item()

EXPORT void obs_sceneitem_group_remove_item ( obs_sceneitem_t group,
obs_sceneitem_t item 
)

◆ obs_sceneitem_group_ungroup()

EXPORT void obs_sceneitem_group_ungroup ( obs_sceneitem_t group)

◆ obs_sceneitem_group_ungroup2()

EXPORT void obs_sceneitem_group_ungroup2 ( obs_sceneitem_t group,
bool  signal 
)

◆ obs_sceneitem_is_group()

EXPORT bool obs_sceneitem_is_group ( obs_sceneitem_t item)

◆ obs_sceneitem_locked()

EXPORT bool obs_sceneitem_locked ( const obs_sceneitem_t item)

◆ obs_sceneitem_release()

EXPORT void obs_sceneitem_release ( obs_sceneitem_t item)

◆ obs_sceneitem_remove()

EXPORT void obs_sceneitem_remove ( obs_sceneitem_t item)

Removes a scene item.

◆ obs_sceneitem_select()

EXPORT void obs_sceneitem_select ( obs_sceneitem_t item,
bool  select 
)

◆ obs_sceneitem_selected()

EXPORT bool obs_sceneitem_selected ( const obs_sceneitem_t item)

◆ obs_sceneitem_set_alignment()

EXPORT void obs_sceneitem_set_alignment ( obs_sceneitem_t item,
uint32_t  alignment 
)

◆ obs_sceneitem_set_bounds()

EXPORT void obs_sceneitem_set_bounds ( obs_sceneitem_t item,
const struct vec2 bounds 
)

◆ obs_sceneitem_set_bounds_alignment()

EXPORT void obs_sceneitem_set_bounds_alignment ( obs_sceneitem_t item,
uint32_t  alignment 
)

◆ obs_sceneitem_set_bounds_type()

EXPORT void obs_sceneitem_set_bounds_type ( obs_sceneitem_t item,
enum obs_bounds_type  type 
)

◆ obs_sceneitem_set_crop()

EXPORT void obs_sceneitem_set_crop ( obs_sceneitem_t item,
const struct obs_sceneitem_crop crop 
)

◆ obs_sceneitem_set_info()

EXPORT void obs_sceneitem_set_info ( obs_sceneitem_t item,
const struct obs_transform_info info 
)

◆ obs_sceneitem_set_locked()

EXPORT bool obs_sceneitem_set_locked ( obs_sceneitem_t item,
bool  lock 
)

◆ obs_sceneitem_set_order()

EXPORT void obs_sceneitem_set_order ( obs_sceneitem_t item,
enum obs_order_movement  movement 
)

◆ obs_sceneitem_set_order_position()

EXPORT void obs_sceneitem_set_order_position ( obs_sceneitem_t item,
int  position 
)

◆ obs_sceneitem_set_pos()

EXPORT void obs_sceneitem_set_pos ( obs_sceneitem_t item,
const struct vec2 pos 
)

◆ obs_sceneitem_set_rot()

EXPORT void obs_sceneitem_set_rot ( obs_sceneitem_t item,
float  rot_deg 
)

◆ obs_sceneitem_set_scale()

EXPORT void obs_sceneitem_set_scale ( obs_sceneitem_t item,
const struct vec2 scale 
)

◆ obs_sceneitem_set_scale_filter()

EXPORT void obs_sceneitem_set_scale_filter ( obs_sceneitem_t item,
enum obs_scale_type  filter 
)

◆ obs_sceneitem_set_visible()

EXPORT bool obs_sceneitem_set_visible ( obs_sceneitem_t item,
bool  visible 
)

◆ obs_sceneitem_visible()

EXPORT bool obs_sceneitem_visible ( const obs_sceneitem_t item)

◆ obs_service_addref()

EXPORT void obs_service_addref ( obs_service_t service)

Adds/releases a reference to a service. When the last reference is released, the service is destroyed.

◆ obs_service_apply_encoder_settings()

EXPORT void obs_service_apply_encoder_settings ( obs_service_t service,
obs_data_t video_encoder_settings,
obs_data_t audio_encoder_settings 
)

Applies service-specific video encoder settings.

Parameters
video_encoder_settingsVideo encoder settings. Optional.
audio_encoder_settingsAudio encoder settings. Optional.

◆ obs_service_create()

EXPORT obs_service_t* obs_service_create ( const char *  id,
const char *  name,
obs_data_t settings,
obs_data_t hotkey_data 
)

◆ obs_service_create_private()

EXPORT obs_service_t* obs_service_create_private ( const char *  id,
const char *  name,
obs_data_t settings 
)

◆ obs_service_defaults()

EXPORT obs_data_t* obs_service_defaults ( const char *  id)

Gets the default settings for a service

◆ obs_service_get_display_name()

EXPORT const char* obs_service_get_display_name ( const char *  id)

◆ obs_service_get_id()

EXPORT const char* obs_service_get_id ( const obs_service_t service)

◆ obs_service_get_key()

EXPORT const char* obs_service_get_key ( const obs_service_t service)

Returns the stream key (if any) for this service context

◆ obs_service_get_name()

EXPORT const char* obs_service_get_name ( const obs_service_t service)

◆ obs_service_get_output_type()

EXPORT const char* obs_service_get_output_type ( const obs_service_t service)

◆ obs_service_get_password()

EXPORT const char* obs_service_get_password ( const obs_service_t service)

Returns the password (if any) for this service context

◆ obs_service_get_ref()

EXPORT obs_service_t* obs_service_get_ref ( obs_service_t service)

◆ obs_service_get_settings()

EXPORT obs_data_t* obs_service_get_settings ( const obs_service_t service)

Returns the current settings for this service

◆ obs_service_get_type()

EXPORT const char* obs_service_get_type ( const obs_service_t service)

Gets the service type

◆ obs_service_get_type_data()

EXPORT void* obs_service_get_type_data ( obs_service_t service)

◆ obs_service_get_url()

EXPORT const char* obs_service_get_url ( const obs_service_t service)

Returns the URL for this service context

◆ obs_service_get_username()

EXPORT const char* obs_service_get_username ( const obs_service_t service)

Returns the username (if any) for this service context

◆ obs_service_get_weak_service()

EXPORT obs_weak_service_t* obs_service_get_weak_service ( obs_service_t service)

◆ obs_service_properties()

EXPORT obs_properties_t* obs_service_properties ( const obs_service_t service)

Returns the property list of an existing service context, if any. Free with obs_properties_destroy

◆ obs_service_release()

EXPORT void obs_service_release ( obs_service_t service)

◆ obs_service_update()

EXPORT void obs_service_update ( obs_service_t service,
obs_data_t settings 
)

Updates the settings of the service context

◆ obs_set_audio_monitoring_device()

EXPORT bool obs_set_audio_monitoring_device ( const char *  name,
const char *  id 
)

◆ obs_set_cmdline_args()

EXPORT void obs_set_cmdline_args ( int  argc,
const char *const *  argv 
)

Sets things up for calls to obs_get_cmdline_args. Called only once at startup and safely copies argv/argc from main(). Subsequent calls do nothing.

Parameters
argcThe count of command line arguments, from main()
argvAn array of command line arguments, copied from main() and ends with NULL.

◆ obs_set_locale()

EXPORT void obs_set_locale ( const char *  locale)

Sets a new locale to use for modules. This will call obs_module_set_locale for each module with the new locale.

Parameters
localeThe locale to use for modules

◆ obs_set_master_volume()

EXPORT void obs_set_master_volume ( float  volume)

Sets the master user volume

◆ obs_set_output_source()

EXPORT void obs_set_output_source ( uint32_t  channel,
obs_source_t source 
)

Sets the primary output source for a channel.

◆ obs_set_private_data()

EXPORT void obs_set_private_data ( obs_data_t settings)

◆ obs_set_ui_task_handler()

EXPORT void obs_set_ui_task_handler ( obs_task_handler_t  handler)

◆ obs_shutdown()

EXPORT void obs_shutdown ( void  )

Releases all data associated with OBS and terminates the OBS context

◆ obs_source_active()

EXPORT bool obs_source_active ( const obs_source_t source)

Returns true if active, false if not

◆ obs_source_add_active_child()

EXPORT bool obs_source_add_active_child ( obs_source_t parent,
obs_source_t child 
)

Adds an active child source. Must be called by parent sources on child sources when the child is added and active. This ensures that the source is properly activated if the parent is active.

Returns
true if source can be added, false if it causes recursion

◆ obs_source_add_audio_capture_callback()

EXPORT void obs_source_add_audio_capture_callback ( obs_source_t source,
obs_source_audio_capture_t  callback,
void *  param 
)

◆ obs_source_addref()

EXPORT void obs_source_addref ( obs_source_t source)

Adds/releases a reference to a source. When the last reference is released, the source is destroyed.

◆ obs_source_async_decoupled()

EXPORT bool obs_source_async_decoupled ( const obs_source_t source)

◆ obs_source_async_unbuffered()

EXPORT bool obs_source_async_unbuffered ( const obs_source_t source)

◆ obs_source_audio_active()

EXPORT bool obs_source_audio_active ( const obs_source_t source)

◆ obs_source_audio_pending()

EXPORT bool obs_source_audio_pending ( const obs_source_t source)

◆ obs_source_configurable()

EXPORT bool obs_source_configurable ( const obs_source_t source)

◆ obs_source_copy_filters()

EXPORT void obs_source_copy_filters ( obs_source_t dst,
obs_source_t src 
)

◆ obs_source_create()

EXPORT obs_source_t* obs_source_create ( const char *  id,
const char *  name,
obs_data_t settings,
obs_data_t hotkey_data 
)

Creates a source of the specified type with the specified settings.

The "source" context is used for anything related to presenting or modifying video/audio. Use obs_source_release to release it.

◆ obs_source_create_private()

EXPORT obs_source_t* obs_source_create_private ( const char *  id,
const char *  name,
obs_data_t settings 
)

◆ obs_source_dec_active()

EXPORT void obs_source_dec_active ( obs_source_t source)

Decrements the 'active' reference counter to indicate that the source is no longer fully active. If the reference counter is set to 0, will call the 'deactivate' callback

Unlike obs_source_dec_showing, this will cause children of this source to be considered not showing as well. obs_source_dec_showing should generally be used instead.

◆ obs_source_dec_showing()

EXPORT void obs_source_dec_showing ( obs_source_t source)

Decrements the 'showing' reference counter to indicate that the source is no longer being shown somewhere. If the reference counter is set to 0, will call the 'hide' callback

◆ obs_source_default_render()

EXPORT void obs_source_default_render ( obs_source_t source)

Used to directly render a non-async source without any filter processing

◆ obs_source_draw()

EXPORT void obs_source_draw ( gs_texture_t image,
int  x,
int  y,
uint32_t  cx,
uint32_t  cy,
bool  flip 
)

Helper function to draw sprites for a source (synchronous video).

Parameters
imageThe sprite texture to draw. Assigns to the 'image' variable of the current effect.
xX position of the sprite.
yY position of the sprite.
cxWidth of the sprite. If 0, uses the texture width.
cyHeight of the sprite. If 0, uses the texture height.
flipSpecifies whether to flip the image vertically.

◆ obs_source_draw_set_color_matrix()

EXPORT void obs_source_draw_set_color_matrix ( const struct matrix4 color_matrix,
const struct vec3 color_range_min,
const struct vec3 color_range_max 
)

Helper function to set the color matrix information when drawing the source.

Parameters
color_matrixThe color matrix. Assigns to the 'color_matrix' effect variable.
color_range_minThe minimum color range. Assigns to the 'color_range_min' effect variable. If NULL, {0.0f, 0.0f, 0.0f} is used.
color_range_maxThe maximum color range. Assigns to the 'color_range_max' effect variable. If NULL, {1.0f, 1.0f, 1.0f} is used.

◆ obs_source_duplicate()

EXPORT obs_source_t* obs_source_duplicate ( obs_source_t source,
const char *  desired_name,
bool  create_private 
)

◆ obs_source_enable_push_to_mute()

EXPORT void obs_source_enable_push_to_mute ( obs_source_t source,
bool  enabled 
)

◆ obs_source_enable_push_to_talk()

EXPORT void obs_source_enable_push_to_talk ( obs_source_t source,
bool  enabled 
)

◆ obs_source_enabled()

EXPORT bool obs_source_enabled ( const obs_source_t source)

◆ obs_source_enum_active_sources()

EXPORT void obs_source_enum_active_sources ( obs_source_t source,
obs_source_enum_proc_t  enum_callback,
void *  param 
)

Enumerates active child sources used by this source

◆ obs_source_enum_active_tree()

EXPORT void obs_source_enum_active_tree ( obs_source_t source,
obs_source_enum_proc_t  enum_callback,
void *  param 
)

Enumerates the entire active child source tree used by this source

◆ obs_source_enum_filters()

EXPORT void obs_source_enum_filters ( obs_source_t source,
obs_source_enum_proc_t  callback,
void *  param 
)

Enumerates filters assigned to the source

◆ obs_source_filter_add()

EXPORT void obs_source_filter_add ( obs_source_t source,
obs_source_t filter 
)

Adds a filter to the source (which is used whenever the source is used)

◆ obs_source_filter_remove()

EXPORT void obs_source_filter_remove ( obs_source_t source,
obs_source_t filter 
)

Removes a filter from the source

◆ obs_source_filter_set_order()

EXPORT void obs_source_filter_set_order ( obs_source_t source,
obs_source_t filter,
enum obs_order_movement  movement 
)

Modifies the order of a specific filter

◆ obs_source_frame_copy()

EXPORT void obs_source_frame_copy ( struct obs_source_frame dst,
const struct obs_source_frame src 
)

◆ obs_source_frame_init()

EXPORT void obs_source_frame_init ( struct obs_source_frame frame,
enum video_format  format,
uint32_t  width,
uint32_t  height 
)

◆ obs_source_get_audio_mix()

EXPORT void obs_source_get_audio_mix ( const obs_source_t source,
struct obs_source_audio_mix audio 
)

◆ obs_source_get_audio_mixers()

EXPORT uint32_t obs_source_get_audio_mixers ( const obs_source_t source)

Gets audio mixer flags

◆ obs_source_get_audio_timestamp()

EXPORT uint64_t obs_source_get_audio_timestamp ( const obs_source_t source)

◆ obs_source_get_balance_value()

EXPORT float obs_source_get_balance_value ( const obs_source_t source)

Gets the balance value for a stereo audio source

◆ obs_source_get_base_height()

EXPORT uint32_t obs_source_get_base_height ( obs_source_t source)

Gets the base height for a source (not taking in to account filtering)

◆ obs_source_get_base_width()

EXPORT uint32_t obs_source_get_base_width ( obs_source_t source)

Gets the base width for a source (not taking in to account filtering)

◆ obs_source_get_deinterlace_field_order()

EXPORT enum obs_deinterlace_field_order obs_source_get_deinterlace_field_order ( const obs_source_t source)

◆ obs_source_get_deinterlace_mode()

EXPORT enum obs_deinterlace_mode obs_source_get_deinterlace_mode ( const obs_source_t source)

◆ obs_source_get_display_name()

EXPORT const char* obs_source_get_display_name ( const char *  id)

Returns the translated display name of a source

◆ obs_source_get_filter_by_name()

EXPORT obs_source_t* obs_source_get_filter_by_name ( obs_source_t source,
const char *  name 
)

Gets a filter of a source by its display name.

◆ obs_source_get_flags()

EXPORT uint32_t obs_source_get_flags ( const obs_source_t source)

Gets source flags.

◆ obs_source_get_frame()

EXPORT struct obs_source_frame* obs_source_get_frame ( obs_source_t source)

Gets the current async video frame

◆ obs_source_get_height()

EXPORT uint32_t obs_source_get_height ( obs_source_t source)

Gets the height of a source (if it has video)

◆ obs_source_get_icon_type()

EXPORT enum obs_icon_type obs_source_get_icon_type ( const char *  id)

◆ obs_source_get_id()

EXPORT const char* obs_source_get_id ( const obs_source_t source)

Gets the source identifier

◆ obs_source_get_last_obs_version()

EXPORT uint32_t obs_source_get_last_obs_version ( const obs_source_t source)

◆ obs_source_get_monitoring_type()

EXPORT enum obs_monitoring_type obs_source_get_monitoring_type ( const obs_source_t source)

◆ obs_source_get_name()

EXPORT const char* obs_source_get_name ( const obs_source_t source)

Gets the name of a source

◆ obs_source_get_output_flags()

EXPORT uint32_t obs_source_get_output_flags ( const obs_source_t source)

Returns capability flags of a source

◆ obs_source_get_private_settings()

EXPORT obs_data_t* obs_source_get_private_settings ( obs_source_t item)

Gets private front-end settings data. This data is saved/loaded automatically. Returns an incremented reference.

◆ obs_source_get_proc_handler()

EXPORT proc_handler_t* obs_source_get_proc_handler ( const obs_source_t source)

Returns the procedure handler for a source

◆ obs_source_get_push_to_mute_delay()

EXPORT uint64_t obs_source_get_push_to_mute_delay ( obs_source_t source)

◆ obs_source_get_push_to_talk_delay()

EXPORT uint64_t obs_source_get_push_to_talk_delay ( obs_source_t source)

◆ obs_source_get_ref()

EXPORT obs_source_t* obs_source_get_ref ( obs_source_t source)

◆ obs_source_get_settings()

EXPORT obs_data_t* obs_source_get_settings ( const obs_source_t source)

Gets the settings string for a source

◆ obs_source_get_signal_handler()

EXPORT signal_handler_t* obs_source_get_signal_handler ( const obs_source_t source)

Returns the signal handler for a source

◆ obs_source_get_speaker_layout()

EXPORT enum speaker_layout obs_source_get_speaker_layout ( obs_source_t source)

◆ obs_source_get_sync_offset()

EXPORT int64_t obs_source_get_sync_offset ( const obs_source_t source)

Gets the audio sync offset (in nanoseconds) for a source

◆ obs_source_get_type()

EXPORT enum obs_source_type obs_source_get_type ( const obs_source_t source)

Gets the source type

◆ obs_source_get_type_data()

EXPORT void* obs_source_get_type_data ( obs_source_t source)

◆ obs_source_get_unversioned_id()

EXPORT const char* obs_source_get_unversioned_id ( const obs_source_t source)

◆ obs_source_get_volume()

EXPORT float obs_source_get_volume ( const obs_source_t source)

Gets the user volume for a source that has audio output

◆ obs_source_get_weak_source()

EXPORT obs_weak_source_t* obs_source_get_weak_source ( obs_source_t source)

◆ obs_source_get_width()

EXPORT uint32_t obs_source_get_width ( obs_source_t source)

Gets the width of a source (if it has video)

◆ obs_source_inc_active()

EXPORT void obs_source_inc_active ( obs_source_t source)

Increments the 'active' reference counter to indicate that the source is fully active. If the reference counter was 0, will call the 'activate' callback.

Unlike obs_source_inc_showing, this will cause children of this source to be considered showing as well (currently used by transition previews to make the stinger transition show correctly). obs_source_inc_showing should generally be used instead.

◆ obs_source_inc_showing()

EXPORT void obs_source_inc_showing ( obs_source_t source)

Increments the 'showing' reference counter to indicate that the source is being shown somewhere. If the reference counter was 0, will call the 'show' callback.

◆ obs_source_is_group()

EXPORT bool obs_source_is_group ( const obs_source_t source)

◆ obs_source_load()

EXPORT void obs_source_load ( obs_source_t source)

Send a load signal to sources

◆ obs_source_media_ended()

EXPORT void obs_source_media_ended ( obs_source_t source)

◆ obs_source_media_get_duration()

EXPORT int64_t obs_source_media_get_duration ( obs_source_t source)

◆ obs_source_media_get_state()

EXPORT enum obs_media_state obs_source_media_get_state ( obs_source_t source)

◆ obs_source_media_get_time()

EXPORT int64_t obs_source_media_get_time ( obs_source_t source)

◆ obs_source_media_next()

EXPORT void obs_source_media_next ( obs_source_t source)

◆ obs_source_media_play_pause()

EXPORT void obs_source_media_play_pause ( obs_source_t source,
bool  pause 
)

Media controls

◆ obs_source_media_previous()

EXPORT void obs_source_media_previous ( obs_source_t source)

◆ obs_source_media_restart()

EXPORT void obs_source_media_restart ( obs_source_t source)

◆ obs_source_media_set_time()

EXPORT void obs_source_media_set_time ( obs_source_t source,
int64_t  ms 
)

◆ obs_source_media_started()

EXPORT void obs_source_media_started ( obs_source_t source)

◆ obs_source_media_stop()

EXPORT void obs_source_media_stop ( obs_source_t source)

◆ obs_source_muted()

EXPORT bool obs_source_muted ( const obs_source_t source)

◆ obs_source_output_audio()

EXPORT void obs_source_output_audio ( obs_source_t source,
const struct obs_source_audio audio 
)

Outputs audio data (always asynchronous)

◆ obs_source_output_video()

EXPORT void obs_source_output_video ( obs_source_t source,
const struct obs_source_frame frame 
)

Outputs asynchronous video data. Set to NULL to deactivate the texture

NOTE: Non-YUV formats will always be treated as full range with this function! Use obs_source_output_video2 instead if partial range support is desired for non-YUV video formats.

◆ obs_source_output_video2()

EXPORT void obs_source_output_video2 ( obs_source_t source,
const struct obs_source_frame2 frame 
)

◆ obs_source_preload_video()

EXPORT void obs_source_preload_video ( obs_source_t source,
const struct obs_source_frame frame 
)

Preloads asynchronous video data to allow instantaneous playback

NOTE: Non-YUV formats will always be treated as full range with this function! Use obs_source_preload_video2 instead if partial range support is desired for non-YUV video formats.

◆ obs_source_preload_video2()

EXPORT void obs_source_preload_video2 ( obs_source_t source,
const struct obs_source_frame2 frame 
)

◆ obs_source_process_filter_begin()

EXPORT bool obs_source_process_filter_begin ( obs_source_t filter,
enum gs_color_format  format,
enum obs_allow_direct_render  allow_direct 
)

Default RGB filter handler for generic effect filters. Processes the filter chain and renders them to texture if needed, then the filter is drawn with

After calling this, set your parameters for the effect, then call obs_source_process_filter_end to draw the filter.

Returns true if filtering should continue, false if the filter is bypassed for whatever reason.

◆ obs_source_process_filter_end()

EXPORT void obs_source_process_filter_end ( obs_source_t filter,
gs_effect_t effect,
uint32_t  width,
uint32_t  height 
)

Draws the filter.

Before calling this function, first call obs_source_process_filter_begin and then set the effect parameters, and then call this function to finalize the filter.

◆ obs_source_process_filter_tech_end()

EXPORT void obs_source_process_filter_tech_end ( obs_source_t filter,
gs_effect_t effect,
uint32_t  width,
uint32_t  height,
const char *  tech_name 
)

Draws the filter with a specific technique.

Before calling this function, first call obs_source_process_filter_begin and then set the effect parameters, and then call this function to finalize the filter.

◆ obs_source_properties()

EXPORT obs_properties_t* obs_source_properties ( const obs_source_t source)

Returns the properties list for a specific existing source. Free with obs_properties_destroy

◆ obs_source_push_to_mute_enabled()

EXPORT bool obs_source_push_to_mute_enabled ( obs_source_t source)

◆ obs_source_push_to_talk_enabled()

EXPORT bool obs_source_push_to_talk_enabled ( obs_source_t source)

◆ obs_source_release()

EXPORT void obs_source_release ( obs_source_t source)

◆ obs_source_release_frame()

EXPORT void obs_source_release_frame ( obs_source_t source,
struct obs_source_frame frame 
)

Releases the current async video frame

◆ obs_source_remove()

EXPORT void obs_source_remove ( obs_source_t source)

Notifies all references that the source should be released

◆ obs_source_remove_active_child()

EXPORT void obs_source_remove_active_child ( obs_source_t parent,
obs_source_t child 
)

Removes an active child source. Must be called by parent sources on child sources when the child is removed or inactive. This ensures that the source is properly deactivated if the parent is no longer active.

◆ obs_source_remove_audio_capture_callback()

EXPORT void obs_source_remove_audio_capture_callback ( obs_source_t source,
obs_source_audio_capture_t  callback,
void *  param 
)

◆ obs_source_removed()

EXPORT bool obs_source_removed ( const obs_source_t source)

Returns true if the source should be released

◆ obs_source_save()

EXPORT void obs_source_save ( obs_source_t source)

Send a save signal to sources

◆ obs_source_send_focus()

EXPORT void obs_source_send_focus ( obs_source_t source,
bool  focus 
)

Sends a got-focus or lost-focus event to a source

◆ obs_source_send_key_click()

EXPORT void obs_source_send_key_click ( obs_source_t source,
const struct obs_key_event event,
bool  key_up 
)

Sends a key up/down event to a source

◆ obs_source_send_mouse_click()

EXPORT void obs_source_send_mouse_click ( obs_source_t source,
const struct obs_mouse_event event,
int32_t  type,
bool  mouse_up,
uint32_t  click_count 
)

Sends a mouse down/up event to a source

◆ obs_source_send_mouse_move()

EXPORT void obs_source_send_mouse_move ( obs_source_t source,
const struct obs_mouse_event event,
bool  mouse_leave 
)

Sends a mouse move event to a source.

◆ obs_source_send_mouse_wheel()

EXPORT void obs_source_send_mouse_wheel ( obs_source_t source,
const struct obs_mouse_event event,
int  x_delta,
int  y_delta 
)

Sends a mouse wheel event to a source

◆ obs_source_set_async_decoupled()

EXPORT void obs_source_set_async_decoupled ( obs_source_t source,
bool  decouple 
)

Used to decouple audio from video so that audio doesn't attempt to sync up with video. I.E. Audio acts independently. Only works when in unbuffered mode.

◆ obs_source_set_async_rotation()

EXPORT void obs_source_set_async_rotation ( obs_source_t source,
long  rotation 
)

◆ obs_source_set_async_unbuffered()

EXPORT void obs_source_set_async_unbuffered ( obs_source_t source,
bool  unbuffered 
)

◆ obs_source_set_audio_active()

EXPORT void obs_source_set_audio_active ( obs_source_t source,
bool  show 
)

◆ obs_source_set_audio_mixers()

EXPORT void obs_source_set_audio_mixers ( obs_source_t source,
uint32_t  mixers 
)

Sets audio mixer flags. These flags are used to specify which mixers the source's audio should be applied to.

◆ obs_source_set_balance_value()

EXPORT void obs_source_set_balance_value ( obs_source_t source,
float  balance 
)

Sets the balance value for a stereo audio source

◆ obs_source_set_default_flags()

EXPORT void obs_source_set_default_flags ( obs_source_t source,
uint32_t  flags 
)

Sets the default source flags.

◆ obs_source_set_deinterlace_field_order()

EXPORT void obs_source_set_deinterlace_field_order ( obs_source_t source,
enum obs_deinterlace_field_order  field_order 
)

◆ obs_source_set_deinterlace_mode()

EXPORT void obs_source_set_deinterlace_mode ( obs_source_t source,
enum obs_deinterlace_mode  mode 
)

◆ obs_source_set_enabled()

EXPORT void obs_source_set_enabled ( obs_source_t source,
bool  enabled 
)

◆ obs_source_set_flags()

EXPORT void obs_source_set_flags ( obs_source_t source,
uint32_t  flags 
)

Sets source flags. Note that these are different from the main output flags. These are generally things that can be set by the source or user, while the output flags are more used to determine capabilities of a source.

◆ obs_source_set_monitoring_type()

EXPORT void obs_source_set_monitoring_type ( obs_source_t source,
enum obs_monitoring_type  type 
)

◆ obs_source_set_muted()

EXPORT void obs_source_set_muted ( obs_source_t source,
bool  muted 
)

◆ obs_source_set_name()

EXPORT void obs_source_set_name ( obs_source_t source,
const char *  name 
)

Sets the name of a source

◆ obs_source_set_push_to_mute_delay()

EXPORT void obs_source_set_push_to_mute_delay ( obs_source_t source,
uint64_t  delay 
)

◆ obs_source_set_push_to_talk_delay()

EXPORT void obs_source_set_push_to_talk_delay ( obs_source_t source,
uint64_t  delay 
)

◆ obs_source_set_sync_offset()

EXPORT void obs_source_set_sync_offset ( obs_source_t source,
int64_t  offset 
)

Sets the audio sync offset (in nanoseconds) for a source

◆ obs_source_set_volume()

EXPORT void obs_source_set_volume ( obs_source_t source,
float  volume 
)

Sets the user volume for a source that has audio output

◆ obs_source_show_preloaded_video()

EXPORT void obs_source_show_preloaded_video ( obs_source_t source)

Shows any preloaded video data

◆ obs_source_showing()

EXPORT bool obs_source_showing ( const obs_source_t source)

Returns true if currently displayed somewhere (active or not), false if not

◆ obs_source_skip_video_filter()

EXPORT void obs_source_skip_video_filter ( obs_source_t filter)

Skips the filter if the filter is invalid and cannot be rendered

◆ obs_source_update()

EXPORT void obs_source_update ( obs_source_t source,
obs_data_t settings 
)

Updates settings for this source

◆ obs_source_update_properties()

EXPORT void obs_source_update_properties ( obs_source_t source)

Signal an update to any currently used properties via 'update_properties'

◆ obs_source_video_render()

EXPORT void obs_source_video_render ( obs_source_t source)

Renders a video source.

◆ obs_startup()

EXPORT bool obs_startup ( const char *  locale,
const char *  module_config_path,
profiler_name_store_t store 
)

Initializes OBS

Parameters
localeThe locale to use for modules
module_config_pathPath to module config storage directory (or NULL if none)
storeThe profiler name store for OBS to use or NULL

◆ obs_transition_audio_render()

EXPORT bool obs_transition_audio_render ( obs_source_t transition,
uint64_t *  ts_out,
struct obs_source_audio_mix audio,
uint32_t  mixers,
size_t  channels,
size_t  sample_rate,
obs_transition_audio_mix_callback_t  mix_a_callback,
obs_transition_audio_mix_callback_t  mix_b_callback 
)

◆ obs_transition_clear()

EXPORT void obs_transition_clear ( obs_source_t transition)

◆ obs_transition_enable_fixed()

EXPORT void obs_transition_enable_fixed ( obs_source_t transition,
bool  enable,
uint32_t  duration_ms 
)

Enables fixed transitions (videos or specific types of transitions that are of fixed duration and linearly interpolated

◆ obs_transition_fixed()

EXPORT bool obs_transition_fixed ( obs_source_t transition)

◆ obs_transition_force_stop()

EXPORT void obs_transition_force_stop ( obs_source_t transition)

◆ obs_transition_get_active_source()

EXPORT obs_source_t* obs_transition_get_active_source ( obs_source_t transition)

◆ obs_transition_get_alignment()

EXPORT uint32_t obs_transition_get_alignment ( const obs_source_t transition)

◆ obs_transition_get_scale_type()

EXPORT enum obs_transition_scale_type obs_transition_get_scale_type ( const obs_source_t transition)

◆ obs_transition_get_size()

EXPORT void obs_transition_get_size ( const obs_source_t transition,
uint32_t *  cx,
uint32_t *  cy 
)

◆ obs_transition_get_source()

EXPORT obs_source_t* obs_transition_get_source ( obs_source_t transition,
enum obs_transition_target  target 
)

◆ obs_transition_get_time()

EXPORT float obs_transition_get_time ( obs_source_t transition)

◆ obs_transition_set()

EXPORT void obs_transition_set ( obs_source_t transition,
obs_source_t source 
)

◆ obs_transition_set_alignment()

EXPORT void obs_transition_set_alignment ( obs_source_t transition,
uint32_t  alignment 
)

◆ obs_transition_set_manual_time()

EXPORT void obs_transition_set_manual_time ( obs_source_t transition,
float  t 
)

◆ obs_transition_set_manual_torque()

EXPORT void obs_transition_set_manual_torque ( obs_source_t transition,
float  torque,
float  clamp 
)

◆ obs_transition_set_scale_type()

EXPORT void obs_transition_set_scale_type ( obs_source_t transition,
enum obs_transition_scale_type  type 
)

◆ obs_transition_set_size()

EXPORT void obs_transition_set_size ( obs_source_t transition,
uint32_t  cx,
uint32_t  cy 
)

◆ obs_transition_start()

EXPORT bool obs_transition_start ( obs_source_t transition,
enum obs_transition_mode  mode,
uint32_t  duration_ms,
obs_source_t dest 
)

◆ obs_transition_swap_begin()

EXPORT void obs_transition_swap_begin ( obs_source_t tr_dest,
obs_source_t tr_source 
)

◆ obs_transition_swap_end()

EXPORT void obs_transition_swap_end ( obs_source_t tr_dest,
obs_source_t tr_source 
)

◆ obs_transition_video_render()

EXPORT void obs_transition_video_render ( obs_source_t transition,
obs_transition_video_render_callback_t  callback 
)

◆ obs_transition_video_render_direct()

EXPORT bool obs_transition_video_render_direct ( obs_source_t transition,
enum obs_transition_target  target 
)

Directly renders its sub-source instead of to texture. Returns false if no longer transitioning

◆ obs_video_active()

EXPORT bool obs_video_active ( void  )

Returns true if video is active, false otherwise

◆ obs_video_encoder_create()

EXPORT obs_encoder_t* obs_video_encoder_create ( const char *  id,
const char *  name,
obs_data_t settings,
obs_data_t hotkey_data 
)

Creates a video encoder context

Parameters
idVideo encoder ID
nameName to assign to this context
settingsSettings
Returns
The video encoder context, or NULL if failed or not found.

◆ obs_view_create()

EXPORT obs_view_t* obs_view_create ( void  )

Creates a view context.

A view can be used for things like separate previews, or drawing sources separately.

◆ obs_view_destroy()

EXPORT void obs_view_destroy ( obs_view_t view)

Destroys this view context

◆ obs_view_get_source()

EXPORT obs_source_t* obs_view_get_source ( obs_view_t view,
uint32_t  channel 
)

Gets the source currently in use for this view context

◆ obs_view_render()

EXPORT void obs_view_render ( obs_view_t view)

Renders the sources of this view context

◆ obs_view_set_source()

EXPORT void obs_view_set_source ( obs_view_t view,
uint32_t  channel,
obs_source_t source 
)

Sets the source to be used for this view context.

◆ obs_weak_encoder_addref()

EXPORT void obs_weak_encoder_addref ( obs_weak_encoder_t weak)

◆ obs_weak_encoder_get_encoder()

EXPORT obs_encoder_t* obs_weak_encoder_get_encoder ( obs_weak_encoder_t weak)

◆ obs_weak_encoder_references_encoder()

EXPORT bool obs_weak_encoder_references_encoder ( obs_weak_encoder_t weak,
obs_encoder_t encoder 
)

◆ obs_weak_encoder_release()

EXPORT void obs_weak_encoder_release ( obs_weak_encoder_t weak)

◆ obs_weak_output_addref()

EXPORT void obs_weak_output_addref ( obs_weak_output_t weak)

◆ obs_weak_output_get_output()

EXPORT obs_output_t* obs_weak_output_get_output ( obs_weak_output_t weak)

◆ obs_weak_output_references_output()

EXPORT bool obs_weak_output_references_output ( obs_weak_output_t weak,
obs_output_t output 
)

◆ obs_weak_output_release()

EXPORT void obs_weak_output_release ( obs_weak_output_t weak)

◆ obs_weak_service_addref()

EXPORT void obs_weak_service_addref ( obs_weak_service_t weak)

◆ obs_weak_service_get_service()

EXPORT obs_service_t* obs_weak_service_get_service ( obs_weak_service_t weak)

◆ obs_weak_service_references_service()

EXPORT bool obs_weak_service_references_service ( obs_weak_service_t weak,
obs_service_t service 
)

◆ obs_weak_service_release()

EXPORT void obs_weak_service_release ( obs_weak_service_t weak)

◆ obs_weak_source_addref()

EXPORT void obs_weak_source_addref ( obs_weak_source_t weak)

◆ obs_weak_source_get_source()

EXPORT obs_source_t* obs_weak_source_get_source ( obs_weak_source_t weak)

◆ obs_weak_source_references_source()

EXPORT bool obs_weak_source_references_source ( obs_weak_source_t weak,
obs_source_t source 
)

◆ obs_weak_source_release()

EXPORT void obs_weak_source_release ( obs_weak_source_t weak)