![]() |
Open Broadcaster Software
Free, open source software for live streaming and recording
|
Go to the source code of this file.
Data Structures | |
struct | tick_callback |
struct | draw_callback |
struct | obs_module |
struct | obs_module_path |
struct | obs_hotkey |
struct | obs_hotkey_pair |
struct | obs_hotkey_binding |
struct | obs_view |
struct | obs_display |
struct | obs_vframe_info |
struct | obs_tex_frame |
struct | obs_task_info |
struct | obs_core_video |
struct | obs_core_audio |
struct | obs_core_data |
struct | obs_core_hotkeys |
struct | obs_core |
struct | obs_context_data |
struct | obs_weak_ref |
struct | async_frame |
struct | audio_action |
struct | obs_weak_source |
struct | audio_cb_info |
struct | obs_source |
struct | delay_data |
struct | obs_weak_output |
struct | caption_text |
struct | pause_data |
struct | obs_output |
struct | obs_weak_encoder |
struct | encoder_callback |
struct | obs_encoder |
struct | obs_weak_service |
struct | obs_service |
Macros | |
#define | NUM_TEXTURES 2 |
#define | NUM_CHANNELS 3 |
#define | MICROSECOND_DEN 1000000 |
#define | NUM_ENCODE_TEXTURES 3 |
#define | NUM_ENCODE_TEXTURE_FRAMES_TO_WAIT 1 |
#define | obs_ptr_valid(ptr, func) obs_object_valid(ptr, func, #ptr) |
#define | obs_source_valid obs_ptr_valid |
#define | obs_output_valid obs_ptr_valid |
#define | obs_encoder_valid obs_ptr_valid |
#define | obs_service_valid obs_ptr_valid |
#define | MAX_TS_VAR 2000000000ULL |
#define | CAPTION_LINE_CHARS (32) |
#define | CAPTION_LINE_BYTES (4 * CAPTION_LINE_CHARS) |
Typedefs | |
typedef struct obs_hotkey_pair | obs_hotkey_pair_t |
typedef struct obs_hotkeys_platform | obs_hotkeys_platform_t |
typedef void(* | encoded_callback_t) (void *data, struct encoder_packet *packet) |
Enumerations | |
enum | audio_action_type { AUDIO_ACTION_VOL, AUDIO_ACTION_MUTE, AUDIO_ACTION_PTT, AUDIO_ACTION_PTM } |
enum | view_type { MAIN_VIEW, AUX_VIEW } |
enum | delay_msg { DELAY_MSG_PACKET, DELAY_MSG_START, DELAY_MSG_STOP } |
Functions | |
void | free_module (struct obs_module *mod) |
void * | obs_hotkey_thread (void *param) |
bool | obs_hotkeys_platform_init (struct obs_core_hotkeys *hotkeys) |
void | obs_hotkeys_platform_free (struct obs_core_hotkeys *hotkeys) |
bool | obs_hotkeys_platform_is_pressed (obs_hotkeys_platform_t *context, obs_key_t key) |
const char * | obs_get_hotkey_translation (obs_key_t key, const char *def) |
void | obs_hotkeys_context_release (struct obs_context_data *context) |
void | obs_hotkeys_free (void) |
void | obs_hotkey_name_map_free (void) |
bool | obs_view_init (struct obs_view *view) |
void | obs_view_free (struct obs_view *view) |
bool | obs_display_init (struct obs_display *display, const struct gs_init_data *graphics_data) |
void | obs_display_free (struct obs_display *display) |
void * | obs_graphics_thread (void *param) |
gs_effect_t * | obs_load_effect (gs_effect_t **effect, const char *file) |
bool | audio_callback (void *param, uint64_t start_ts_in, uint64_t end_ts_in, uint64_t *out_ts, uint32_t mixers, struct audio_output_data *mixes) |
void | start_raw_video (video_t *video, const struct video_scale_info *conversion, void(*callback)(void *param, struct video_data *frame), void *param) |
void | stop_raw_video (video_t *video, void(*callback)(void *param, struct video_data *frame), void *param) |
bool | obs_context_data_init (struct obs_context_data *context, enum obs_obj_type type, obs_data_t *settings, const char *name, obs_data_t *hotkey_data, bool private) |
void | obs_context_data_free (struct obs_context_data *context) |
void | obs_context_data_insert (struct obs_context_data *context, pthread_mutex_t *mutex, void *first) |
void | obs_context_data_remove (struct obs_context_data *context) |
void | obs_context_data_setname (struct obs_context_data *context, const char *name) |
struct obs_source_info * | get_source_info (const char *id) |
struct obs_source_info * | get_source_info2 (const char *unversioned_id, uint32_t ver) |
bool | obs_source_init_context (struct obs_source *source, obs_data_t *settings, const char *name, obs_data_t *hotkey_data, bool private) |
bool | obs_transition_init (obs_source_t *transition) |
void | obs_transition_free (obs_source_t *transition) |
void | obs_transition_tick (obs_source_t *transition, float t) |
void | obs_transition_enum_sources (obs_source_t *transition, obs_source_enum_proc_t enum_callback, void *param) |
void | obs_transition_save (obs_source_t *source, obs_data_t *data) |
void | obs_transition_load (obs_source_t *source, obs_data_t *data) |
struct audio_monitor * | audio_monitor_create (obs_source_t *source) |
void | audio_monitor_reset (struct audio_monitor *monitor) |
void | audio_monitor_destroy (struct audio_monitor *monitor) |
obs_source_t * | obs_source_create_set_last_ver (const char *id, const char *name, obs_data_t *settings, obs_data_t *hotkey_data, uint32_t last_obs_ver) |
void | obs_source_destroy (struct obs_source *source) |
void | obs_source_activate (obs_source_t *source, enum view_type type) |
void | obs_source_deactivate (obs_source_t *source, enum view_type type) |
void | obs_source_video_tick (obs_source_t *source, float seconds) |
float | obs_source_get_target_volume (obs_source_t *source, obs_source_t *target) |
void | obs_source_audio_render (obs_source_t *source, uint32_t mixers, size_t channels, size_t sample_rate, size_t size) |
void | add_alignment (struct vec2 *v, uint32_t align, int cx, int cy) |
struct obs_source_frame * | filter_async_video (obs_source_t *source, struct obs_source_frame *in) |
bool | update_async_texture (struct obs_source *source, const struct obs_source_frame *frame, gs_texture_t *tex, gs_texrender_t *texrender) |
bool | update_async_textures (struct obs_source *source, const struct obs_source_frame *frame, gs_texture_t *tex[MAX_AV_PLANES], gs_texrender_t *texrender) |
bool | set_async_texture_size (struct obs_source *source, const struct obs_source_frame *frame) |
void | remove_async_frame (obs_source_t *source, struct obs_source_frame *frame) |
void | set_deinterlace_texture_size (obs_source_t *source) |
void | deinterlace_process_last_frame (obs_source_t *source, uint64_t sys_time) |
void | deinterlace_update_async_video (obs_source_t *source) |
void | deinterlace_render (obs_source_t *s) |
bool | video_pause_check (struct pause_data *pause, uint64_t timestamp) |
bool | audio_pause_check (struct pause_data *pause, struct audio_data *data, size_t sample_rate) |
void | pause_reset (struct pause_data *pause) |
void | process_delay (void *data, struct encoder_packet *packet) |
void | obs_output_cleanup_delay (obs_output_t *output) |
bool | obs_output_delay_start (obs_output_t *output) |
void | obs_output_delay_stop (obs_output_t *output) |
bool | obs_output_actual_start (obs_output_t *output) |
void | obs_output_actual_stop (obs_output_t *output, bool force, uint64_t ts) |
const struct obs_output_info * | find_output (const char *id) |
void | obs_output_remove_encoder (struct obs_output *output, struct obs_encoder *encoder) |
void | obs_encoder_packet_create_instance (struct encoder_packet *dst, const struct encoder_packet *src) |
void | obs_output_destroy (obs_output_t *output) |
struct obs_encoder_info * | find_encoder (const char *id) |
bool | obs_encoder_initialize (obs_encoder_t *encoder) |
void | obs_encoder_shutdown (obs_encoder_t *encoder) |
void | obs_encoder_start (obs_encoder_t *encoder, void(*new_packet)(void *param, struct encoder_packet *packet), void *param) |
void | obs_encoder_stop (obs_encoder_t *encoder, void(*new_packet)(void *param, struct encoder_packet *packet), void *param) |
void | obs_encoder_add_output (struct obs_encoder *encoder, struct obs_output *output) |
void | obs_encoder_remove_output (struct obs_encoder *encoder, struct obs_output *output) |
bool | start_gpu_encode (obs_encoder_t *encoder) |
void | stop_gpu_encode (obs_encoder_t *encoder) |
bool | do_encode (struct obs_encoder *encoder, struct encoder_frame *frame) |
void | send_off_encoder_packet (obs_encoder_t *encoder, bool success, bool received, struct encoder_packet *pkt) |
void | obs_encoder_destroy (obs_encoder_t *encoder) |
const struct obs_service_info * | find_service (const char *id) |
void | obs_service_activate (struct obs_service *service) |
void | obs_service_deactivate (struct obs_service *service, bool remove) |
bool | obs_service_initialize (struct obs_service *service, struct obs_output *output) |
void | obs_service_destroy (obs_service_t *service) |
Variables | |
struct obs_core * | obs |
#define CAPTION_LINE_BYTES (4 * CAPTION_LINE_CHARS) |
#define CAPTION_LINE_CHARS (32) |
#define MAX_TS_VAR 2000000000ULL |
#define MICROSECOND_DEN 1000000 |
#define NUM_CHANNELS 3 |
#define NUM_ENCODE_TEXTURE_FRAMES_TO_WAIT 1 |
#define NUM_ENCODE_TEXTURES 3 |
#define NUM_TEXTURES 2 |
#define obs_encoder_valid obs_ptr_valid |
#define obs_output_valid obs_ptr_valid |
#define obs_ptr_valid | ( | ptr, | |
func | |||
) | obs_object_valid(ptr, func, #ptr) |
#define obs_service_valid obs_ptr_valid |
#define obs_source_valid obs_ptr_valid |
typedef void(* encoded_callback_t) (void *data, struct encoder_packet *packet) |
typedef struct obs_hotkey_pair obs_hotkey_pair_t |
typedef struct obs_hotkeys_platform obs_hotkeys_platform_t |
enum audio_action_type |
enum delay_msg |
enum view_type |
void add_alignment | ( | struct vec2 * | v, |
uint32_t | align, | ||
int | cx, | ||
int | cy | ||
) |
bool audio_callback | ( | void * | param, |
uint64_t | start_ts_in, | ||
uint64_t | end_ts_in, | ||
uint64_t * | out_ts, | ||
uint32_t | mixers, | ||
struct audio_output_data * | mixes | ||
) |
struct audio_monitor* audio_monitor_create | ( | obs_source_t * | source | ) |
void audio_monitor_destroy | ( | struct audio_monitor * | monitor | ) |
void audio_monitor_reset | ( | struct audio_monitor * | monitor | ) |
bool audio_pause_check | ( | struct pause_data * | pause, |
struct audio_data * | data, | ||
size_t | sample_rate | ||
) |
void deinterlace_process_last_frame | ( | obs_source_t * | source, |
uint64_t | sys_time | ||
) |
void deinterlace_render | ( | obs_source_t * | s | ) |
void deinterlace_update_async_video | ( | obs_source_t * | source | ) |
bool do_encode | ( | struct obs_encoder * | encoder, |
struct encoder_frame * | frame | ||
) |
struct obs_source_frame* filter_async_video | ( | obs_source_t * | source, |
struct obs_source_frame * | in | ||
) |
struct obs_encoder_info* find_encoder | ( | const char * | id | ) |
const struct obs_output_info* find_output | ( | const char * | id | ) |
const struct obs_service_info* find_service | ( | const char * | id | ) |
void free_module | ( | struct obs_module * | mod | ) |
struct obs_source_info* get_source_info | ( | const char * | id | ) |
struct obs_source_info* get_source_info2 | ( | const char * | unversioned_id, |
uint32_t | ver | ||
) |
void obs_context_data_free | ( | struct obs_context_data * | context | ) |
bool obs_context_data_init | ( | struct obs_context_data * | context, |
enum obs_obj_type | type, | ||
obs_data_t * | settings, | ||
const char * | name, | ||
obs_data_t * | hotkey_data, | ||
bool | private | ||
) |
void obs_context_data_insert | ( | struct obs_context_data * | context, |
pthread_mutex_t * | mutex, | ||
void * | first | ||
) |
void obs_context_data_remove | ( | struct obs_context_data * | context | ) |
void obs_context_data_setname | ( | struct obs_context_data * | context, |
const char * | name | ||
) |
void obs_display_free | ( | struct obs_display * | display | ) |
bool obs_display_init | ( | struct obs_display * | display, |
const struct gs_init_data * | graphics_data | ||
) |
void obs_encoder_add_output | ( | struct obs_encoder * | encoder, |
struct obs_output * | output | ||
) |
void obs_encoder_destroy | ( | obs_encoder_t * | encoder | ) |
bool obs_encoder_initialize | ( | obs_encoder_t * | encoder | ) |
void obs_encoder_packet_create_instance | ( | struct encoder_packet * | dst, |
const struct encoder_packet * | src | ||
) |
void obs_encoder_remove_output | ( | struct obs_encoder * | encoder, |
struct obs_output * | output | ||
) |
void obs_encoder_shutdown | ( | obs_encoder_t * | encoder | ) |
void obs_encoder_start | ( | obs_encoder_t * | encoder, |
void(*)(void *param, struct encoder_packet *packet) | new_packet, | ||
void * | param | ||
) |
void obs_encoder_stop | ( | obs_encoder_t * | encoder, |
void(*)(void *param, struct encoder_packet *packet) | new_packet, | ||
void * | param | ||
) |
const char* obs_get_hotkey_translation | ( | obs_key_t | key, |
const char * | def | ||
) |
void* obs_graphics_thread | ( | void * | param | ) |
void obs_hotkey_name_map_free | ( | void | ) |
void* obs_hotkey_thread | ( | void * | param | ) |
void obs_hotkeys_context_release | ( | struct obs_context_data * | context | ) |
void obs_hotkeys_free | ( | void | ) |
void obs_hotkeys_platform_free | ( | struct obs_core_hotkeys * | hotkeys | ) |
bool obs_hotkeys_platform_init | ( | struct obs_core_hotkeys * | hotkeys | ) |
bool obs_hotkeys_platform_is_pressed | ( | obs_hotkeys_platform_t * | context, |
obs_key_t | key | ||
) |
gs_effect_t* obs_load_effect | ( | gs_effect_t ** | effect, |
const char * | file | ||
) |
bool obs_output_actual_start | ( | obs_output_t * | output | ) |
void obs_output_actual_stop | ( | obs_output_t * | output, |
bool | force, | ||
uint64_t | ts | ||
) |
void obs_output_cleanup_delay | ( | obs_output_t * | output | ) |
bool obs_output_delay_start | ( | obs_output_t * | output | ) |
void obs_output_delay_stop | ( | obs_output_t * | output | ) |
void obs_output_destroy | ( | obs_output_t * | output | ) |
void obs_output_remove_encoder | ( | struct obs_output * | output, |
struct obs_encoder * | encoder | ||
) |
void obs_service_activate | ( | struct obs_service * | service | ) |
void obs_service_deactivate | ( | struct obs_service * | service, |
bool | remove | ||
) |
void obs_service_destroy | ( | obs_service_t * | service | ) |
bool obs_service_initialize | ( | struct obs_service * | service, |
struct obs_output * | output | ||
) |
void obs_source_activate | ( | obs_source_t * | source, |
enum view_type | type | ||
) |
void obs_source_audio_render | ( | obs_source_t * | source, |
uint32_t | mixers, | ||
size_t | channels, | ||
size_t | sample_rate, | ||
size_t | size | ||
) |
obs_source_t* obs_source_create_set_last_ver | ( | const char * | id, |
const char * | name, | ||
obs_data_t * | settings, | ||
obs_data_t * | hotkey_data, | ||
uint32_t | last_obs_ver | ||
) |
void obs_source_deactivate | ( | obs_source_t * | source, |
enum view_type | type | ||
) |
void obs_source_destroy | ( | struct obs_source * | source | ) |
float obs_source_get_target_volume | ( | obs_source_t * | source, |
obs_source_t * | target | ||
) |
bool obs_source_init_context | ( | struct obs_source * | source, |
obs_data_t * | settings, | ||
const char * | name, | ||
obs_data_t * | hotkey_data, | ||
bool | private | ||
) |
void obs_source_video_tick | ( | obs_source_t * | source, |
float | seconds | ||
) |
void obs_transition_enum_sources | ( | obs_source_t * | transition, |
obs_source_enum_proc_t | enum_callback, | ||
void * | param | ||
) |
void obs_transition_free | ( | obs_source_t * | transition | ) |
bool obs_transition_init | ( | obs_source_t * | transition | ) |
void obs_transition_load | ( | obs_source_t * | source, |
obs_data_t * | data | ||
) |
void obs_transition_save | ( | obs_source_t * | source, |
obs_data_t * | data | ||
) |
void obs_transition_tick | ( | obs_source_t * | transition, |
float | t | ||
) |
void obs_view_free | ( | struct obs_view * | view | ) |
bool obs_view_init | ( | struct obs_view * | view | ) |
void pause_reset | ( | struct pause_data * | pause | ) |
void process_delay | ( | void * | data, |
struct encoder_packet * | packet | ||
) |
void remove_async_frame | ( | obs_source_t * | source, |
struct obs_source_frame * | frame | ||
) |
void send_off_encoder_packet | ( | obs_encoder_t * | encoder, |
bool | success, | ||
bool | received, | ||
struct encoder_packet * | pkt | ||
) |
bool set_async_texture_size | ( | struct obs_source * | source, |
const struct obs_source_frame * | frame | ||
) |
void set_deinterlace_texture_size | ( | obs_source_t * | source | ) |
bool start_gpu_encode | ( | obs_encoder_t * | encoder | ) |
void start_raw_video | ( | video_t * | video, |
const struct video_scale_info * | conversion, | ||
void(*)(void *param, struct video_data *frame) | callback, | ||
void * | param | ||
) |
void stop_gpu_encode | ( | obs_encoder_t * | encoder | ) |
void stop_raw_video | ( | video_t * | video, |
void(*)(void *param, struct video_data *frame) | callback, | ||
void * | param | ||
) |
bool update_async_texture | ( | struct obs_source * | source, |
const struct obs_source_frame * | frame, | ||
gs_texture_t * | tex, | ||
gs_texrender_t * | texrender | ||
) |
bool update_async_textures | ( | struct obs_source * | source, |
const struct obs_source_frame * | frame, | ||
gs_texture_t * | tex[MAX_AV_PLANES], | ||
gs_texrender_t * | texrender | ||
) |
bool video_pause_check | ( | struct pause_data * | pause, |
uint64_t | timestamp | ||
) |
|
extern |