39 #define NUM_TEXTURES 2 40 #define MICROSECOND_DEN 1000000 55 static inline bool obs_object_valid(
const void *obj,
const char *f,
66 #define obs_ptr_valid(ptr, func) obs_object_valid(ptr, func, #ptr) 67 #define obs_source_valid obs_ptr_valid 68 #define obs_output_valid obs_ptr_valid 69 #define obs_encoder_valid obs_ptr_valid 70 #define obs_service_valid obs_ptr_valid 85 void (*set_locale)(
const char *locale);
86 void (*free_locale)(void);
89 const char *(*name)(void);
90 const char *(*description)(void);
91 const char *(*author)(void);
111 static inline bool check_path(
const char *data,
const char *path,
115 dstr_cat(output, data);
170 bool modifiers_match : 1;
176 struct obs_hotkey_name_map;
265 float color_matrix[16];
280 struct audio_monitor;
290 int buffering_wait_ticks;
291 int total_buffering_ticks;
295 pthread_mutex_t monitoring_mutex;
296 DARRAY(struct audio_monitor*) monitors;
297 char *monitoring_device_name;
298 char *monitoring_device_id;
332 pthread_t hotkey_thread;
333 bool hotkey_thread_initialized;
335 bool thread_disable_press : 1;
336 bool strict_modifiers : 1;
337 bool reroute_hotkeys : 1;
341 void *router_func_data;
345 pthread_once_t name_map_init_token;
346 struct obs_hotkey_name_map *name_map;
355 char *sceneitem_show;
356 char *sceneitem_hide;
377 char *module_config_path;
378 bool name_store_owned;
389 extern struct obs_core *
obs;
415 DARRAY(
char*) rename_cache;
416 pthread_mutex_t rename_cache_mutex;
418 pthread_mutex_t *mutex;
420 struct obs_context_data **prev_next;
426 struct obs_context_data *context,
435 pthread_mutex_t *mutex,
void *first);
450 static inline void obs_ref_addref(
struct obs_weak_ref *ref)
452 os_atomic_inc_long(&ref->
refs);
455 static inline bool obs_ref_release(
struct obs_weak_ref *ref)
457 return os_atomic_dec_long(&ref->
refs) == -1;
460 static inline void obs_weak_ref_addref(
struct obs_weak_ref *ref)
465 static inline bool obs_weak_ref_release(
struct obs_weak_ref *ref)
467 return os_atomic_dec_long(&ref->
weak_refs) == -1;
470 static inline bool obs_weak_ref_get_ref(
struct obs_weak_ref *ref)
472 long owners = ref->
refs;
473 while (owners > -1) {
474 if (os_atomic_compare_swap_long(&ref->
refs, owners, owners + 1))
520 struct obs_context_data context;
576 pthread_mutex_t audio_actions_mutex;
577 pthread_mutex_t audio_buf_mutex;
578 pthread_mutex_t audio_mutex;
579 pthread_mutex_t audio_cb_mutex;
582 size_t audio_storage_size;
593 bool async_gpu_conversion;
597 float async_color_matrix[16];
598 bool async_full_range;
599 float async_color_range_min[3];
600 float async_color_range_max[3];
601 int async_plane_offset[2];
604 bool async_update_texture;
607 pthread_mutex_t async_mutex;
624 bool deinterlace_top_first;
625 bool deinterlace_rendered;
631 pthread_mutex_t filter_mutex;
634 bool rendering_filter;
640 bool push_to_mute_enabled : 1;
641 bool push_to_mute_pressed : 1;
642 bool user_push_to_mute_pressed : 1;
643 bool push_to_talk_enabled : 1;
644 bool push_to_talk_pressed : 1;
645 bool user_push_to_talk_pressed : 1;
654 pthread_mutex_t transition_tex_mutex;
656 pthread_mutex_t transition_mutex;
658 bool transitioning_video;
659 bool transitioning_audio;
660 bool transition_source_active[2];
667 bool transition_use_fixed_duration : 1;
672 struct audio_monitor *monitor;
703 static inline void obs_source_dosignal(
struct obs_source *source,
704 const char *signal_obs,
const char *signal_source)
709 calldata_init_fixed(&data, stack,
sizeof(stack));
710 calldata_set_ptr(&data,
"source", source);
719 #define MAX_TS_VAR 2000000000ULL 723 if (ts < source->last_frame_ts)
747 size_t channels,
size_t sample_rate,
size_t size);
790 #define CAPTION_LINE_CHARS (32) 791 #define CAPTION_LINE_BYTES (4*CAPTION_LINE_CHARS) 798 struct obs_context_data context;
819 int reconnect_retry_sec;
820 int reconnect_retry_max;
821 int reconnect_retries;
822 int reconnect_retry_cur_sec;
823 pthread_t reconnect_thread;
825 volatile
bool reconnecting;
826 volatile
bool reconnect_thread_active;
835 volatile
bool active;
846 bool video_conversion_set;
847 bool audio_conversion_set;
851 pthread_mutex_t caption_mutex;
852 double caption_timestamp;
861 pthread_mutex_t delay_mutex;
865 volatile
long delay_restart_refs;
866 volatile
bool delay_active;
867 volatile
bool delay_capturing;
870 static inline
void do_output_signal(struct
obs_output *output,
874 calldata_set_ptr(¶ms,
"output", output);
876 calldata_free(¶ms);
912 struct obs_context_data context;
997 struct obs_context_data context;
bool obs_encoder_initialize(obs_encoder_t *encoder)
Definition: obs-hotkey.h:511
volatile uint64_t timing_adjust
Definition: obs-internal.h:553
pthread_mutex_t callbacks_mutex
Definition: obs-internal.h:963
Definition: graphics.h:60
Definition: calldata.h:46
bool user_muted
Definition: obs-internal.h:565
pthread_mutex_t init_mutex
Definition: obs-internal.h:916
struct audio_resampler audio_resampler_t
Definition: audio-resampler.h:28
void obs_encoder_stop(obs_encoder_t *encoder, void(*new_packet)(void *param, struct encoder_packet *packet), void *param)
uint8_t * data
Definition: obs-encoder.h:42
void obs_encoder_start(obs_encoder_t *encoder, void(*new_packet)(void *param, struct encoder_packet *packet), void *param)
Definition: obs-internal.h:700
size_t planes
Definition: obs-internal.h:919
struct obs_encoder * encoder
Definition: obs-internal.h:902
size_t obs_hotkey_id
Definition: obs-hotkey.h:24
void(* draw)(void *param, uint32_t cx, uint32_t cy)
Definition: obs-internal.h:48
pthread_mutex_t displays_mutex
Definition: obs-internal.h:311
bool defer_update
Definition: obs-internal.h:532
obs_data_t * settings
Definition: obs-internal.h:406
volatile bool active
Definition: obs-internal.h:930
Definition: video-io.h:135
Definition: obs-internal.h:514
bool size_changed
Definition: obs-internal.h:196
bool active
Definition: obs-internal.h:1004
struct obs_source_frame * filter_async_video(obs_source_t *source, struct obs_source_frame *in)
bool received_video
Definition: obs-internal.h:805
Definition: obs-internal.h:139
gs_effect_t * opaque_effect
Definition: obs-internal.h:235
Definition: obs-internal.h:222
struct obs_display * first_display
Definition: obs-internal.h:305
void obs_source_save(obs_source_t *source)
uint64_t next_audio_sys_ts_min
Definition: obs-internal.h:557
Definition: video-io.h:47
struct obs_output * output
Definition: obs-internal.h:1006
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 process_delay(void *data, struct encoder_packet *packet)
video_t * video
Definition: obs-internal.h:248
char * name
Definition: obs-internal.h:126
#define CAPTION_LINE_BYTES
Definition: obs-internal.h:791
bool audio_failed
Definition: obs-internal.h:563
char * data
Definition: obs-internal.h:100
uint8_t * stack
Definition: calldata.h:47
gs_effect_t * bicubic_effect
Definition: obs-internal.h:238
pthread_mutex_t outputs_mutex
Definition: obs-internal.h:955
struct obs_output * output
Definition: obs-internal.h:787
void deinterlace_update_async_video(obs_source_t *source)
Definition: obs-internal.h:797
gs_samplerstate_t * point_sampler
Definition: obs-internal.h:242
bool enabled
Definition: obs-internal.h:197
unsigned uint32_t
Definition: vc_stdint.h:31
#define MAX_AUDIO_CHANNELS
Definition: audio-io.h:29
Definition: obs-internal.h:785
uint32_t scaled_height
Definition: obs-internal.h:927
void(* obs_source_enum_proc_t)(obs_source_t *parent, obs_source_t *child, void *param)
Definition: obs-source.h:133
Definition: circlebuf.h:32
gs_swapchain_t * swap
Definition: obs-internal.h:200
void obs_transition_tick(obs_source_t *transition)
obs_hotkey_t * hotkey
Definition: obs-internal.h:173
Definition: obs-internal.h:519
#define MAX_CHANNELS
Definition: obs-defs.h:21
obs_hotkey_id pair_partner_id
Definition: obs-internal.h:136
Definition: obs-internal.h:359
Definition: obs-internal.h:900
struct obs_output * first_output
Definition: obs-internal.h:306
volatile bool end_data_capture_thread_active
Definition: obs-internal.h:808
bool received_audio
Definition: obs-internal.h:806
uint32_t cy
Definition: obs-internal.h:198
char * bin_path
Definition: obs-internal.h:78
bool(* obs_hotkey_active_func)(void *data, obs_hotkey_pair_id id, obs_hotkey_t *hotkey, bool pressed)
Definition: obs-hotkey.h:154
void audio_monitor_reset(struct audio_monitor *monitor)
void audio_monitor_destroy(struct audio_monitor *monitor)
video_format
Definition: video-io.h:33
typedef DARRAY(profiler_time_entry_t) profiler_time_entries_t
void obs_context_data_insert(struct obs_context_data *context, pthread_mutex_t *mutex, void *first)
delay_msg
Definition: obs-internal.h:771
int64_t cur_pts
Definition: obs-internal.h:939
void obs_encoder_packet_create_instance(struct encoder_packet *dst, const struct encoder_packet *src)
Definition: obs-internal.h:774
struct gs_stage_surface gs_stagesurf_t
Definition: graphics.h:259
struct obs_source * next_audio_source
Definition: obs-internal.h:567
obs_obj_type
Definition: obs.h:573
void obs_output_remove_encoder(struct obs_output *output, struct obs_encoder *encoder)
struct obs_source * first_source
Definition: obs-internal.h:303
bool initialized
Definition: obs-internal.h:931
gs_effect_t * deinterlace_blend_2x_effect
Definition: obs-internal.h:275
bool obs_transition_init(obs_source_t *transition)
gs_effect_t * default_rect_effect
Definition: obs-internal.h:234
char * description
Definition: obs-internal.h:127
gs_effect_t * bilinear_lowres_effect
Definition: obs-internal.h:240
uint64_t ts
Definition: obs-internal.h:779
Definition: obs-internal.h:773
void set_deinterlace_texture_size(obs_source_t *source)
int32_t timebase_den
Definition: obs-encoder.h:49
void obs_output_cleanup_delay(obs_output_t *output)
gs_effect_t * solid_effect
Definition: obs-internal.h:236
Definition: audio-io.h:74
uint64_t last_frame_ts
Definition: obs-internal.h:558
Definition: graphics.h:443
void * param
Definition: obs-internal.h:516
EXPORT void blog(int log_level, const char *format,...)
os_event_t * stopping_event
Definition: obs-internal.h:814
bool obs_source_init_context(struct obs_source *source, obs_data_t *settings, const char *name, obs_data_t *hotkey_data, bool private)
unsigned __int64 uint64_t
Definition: vc_stdint.h:33
gs_effect_t * deinterlace_linear_effect
Definition: obs-internal.h:272
gs_effect_t * premultiplied_alpha_effect
Definition: obs-internal.h:241
Definition: obs-hotkey.h:37
volatile long refs
Definition: obs-internal.h:446
struct obs_weak_source * control
Definition: obs-internal.h:522
Definition: audio-io.h:93
bool obs_display_init(struct obs_display *display, const struct gs_init_data *graphics_data)
gs_color_format
Definition: graphics.h:56
Definition: obs-internal.h:487
void obs_encoder_remove_output(struct obs_encoder *encoder, struct obs_output *output)
obs_transition_mode
Definition: obs.h:1096
obs_deinterlace_mode
Definition: obs.h:900
Definition: obs-encoder.h:41
unsigned char uint8_t
Definition: vc_stdint.h:27
struct obs_data obs_data_t
Definition: obs-data.h:42
Definition: obs-source.h:143
void obs_output_destroy(obs_output_t *output)
uint32_t timebase_num
Definition: obs-internal.h:936
Definition: obs-output.h:33
volatile bool data_active
Definition: obs-internal.h:807
uint32_t lagged_frames
Definition: obs-internal.h:251
void * obs_hotkey_thread(void *param)
Definition: obs-internal.h:325
size_t last_audio_input_buf_size
Definition: obs-internal.h:571
gs_effect_t * default_effect
Definition: obs-internal.h:233
void obs_hotkeys_context_release(struct obs_context_data *context)
bool update_async_texture(struct obs_source *source, const struct obs_source_frame *frame, gs_texture_t *tex, gs_texrender_t *texrender)
bool set_async_texture_size(struct obs_source *source, const struct obs_source_frame *frame)
volatile bool valid
Definition: obs-internal.h:321
uint32_t conversion_height
Definition: obs-internal.h:256
void obs_transition_enum_sources(obs_source_t *transition, obs_source_enum_proc_t enum_callback, void *param)
uint64_t start_ts
Definition: obs-internal.h:953
void obs_transition_free(obs_source_t *transition)
size_t blocksize
Definition: obs-internal.h:920
Definition: obs-internal.h:167
obs_transition_scale_type
Definition: obs.h:1106
Definition: obs-internal.h:497
void obs_source_load(obs_source_t *source)
pthread_mutex_t services_mutex
Definition: obs-internal.h:314
uint64_t first_raw_ts
Definition: obs-internal.h:952
bool destroy_on_stop
Definition: obs-internal.h:958
void deinterlace_render(obs_source_t *s)
char * bin
Definition: obs-internal.h:99
gs_effect_t * deinterlace_yadif_2x_effect
Definition: obs-internal.h:277
uint64_t next_audio_ts_min
Definition: obs-internal.h:556
pthread_mutex_t encoders_mutex
Definition: obs-internal.h:313
void * media
Definition: obs-internal.h:961
pthread_mutex_t mutex
Definition: obs-internal.h:326
struct obs_source * first_audio_source
Definition: obs-internal.h:304
bool obs_output_actual_start(obs_output_t *output)
uint64_t last_audio_ts
Definition: obs-internal.h:555
size_t framesize_bytes
Definition: obs-internal.h:922
Definition: obs-internal.h:792
Definition: obs-internal.h:509
#define MAX_TS_VAR
Definition: obs-internal.h:719
bool obs_hotkeys_platform_init(struct obs_core_hotkeys *hotkeys)
struct obs_weak_encoder * control
Definition: obs-internal.h:914
Definition: obs-internal.h:183
uint32_t total_frames
Definition: obs-internal.h:250
bool gpu_conversion
Definition: obs-internal.h:254
Definition: obs-internal.h:777
#define MAX_AUDIO_MIXES
Definition: audio-io.h:28
Definition: graphics-internal.h:271
struct obs_hotkeys_platform obs_hotkeys_platform_t
Definition: obs-internal.h:150
struct obs_source_frame * frame
Definition: obs-internal.h:488
gs_texture_t * transparent_texture
Definition: obs-internal.h:268
Definition: obs-internal.h:282
uint32_t default_flags
Definition: obs-internal.h:526
Definition: obs-internal.h:911
Definition: obs-internal.h:75
Definition: obs-internal.h:302
void obs_source_activate(obs_source_t *source, enum view_type type)
bool obs_output_delay_start(obs_output_t *output)
int count
Definition: obs-internal.h:219
bool muted
Definition: obs-internal.h:566
volatile bool timing_set
Definition: obs-internal.h:552
double video_fps
Definition: obs-internal.h:247
enum obs_key obs_key_t
Definition: obs-hotkey.h:35
EXPORT void dstr_copy(struct dstr *dst, const char *array)
void obs_hotkey_name_map_free(void)
int cur_texture
Definition: obs-internal.h:244
struct obs_service * first_service
Definition: obs-internal.h:308
obs_scale_type
Definition: obs.h:114
pthread_mutex_t draw_callbacks_mutex
Definition: obs-internal.h:201
Definition: obs-internal.h:98
void obs_source_deactivate(obs_source_t *source, enum view_type type)
void obs_context_data_free(struct obs_context_data *context)
struct obs_module * first_module
Definition: obs-internal.h:360
void obs_source_audio_render(obs_source_t *source, uint32_t mixers, size_t channels, size_t sample_rate, size_t size)
size_t framesize
Definition: obs-internal.h:921
signal_handler_t * signals
Definition: obs-internal.h:407
int64_t dts
Definition: obs-encoder.h:46
uint32_t scaled_width
Definition: obs-internal.h:926
void obs_source_video_tick(obs_source_t *source, float seconds)
Definition: obs-internal.h:494
void * module
Definition: obs-internal.h:80
void remove_async_frame(obs_source_t *source, struct obs_source_frame *frame)
Definition: obs-internal.h:403
obs_key_combination_t key
Definition: obs-internal.h:168
Definition: obs-encoder.h:112
void obs_encoder_destroy(obs_encoder_t *encoder)
obs_hotkey_pair_id pair_id
Definition: obs-internal.h:140
void free_module(struct obs_module *mod)
const struct obs_service_info * find_service(const char *id)
void add_alignment(struct vec2 *v, uint32_t align, int cx, int cy)
pthread_mutex_t sources_mutex
Definition: obs-internal.h:310
void obs_encoder_shutdown(obs_encoder_t *encoder)
uint32_t samplerate
Definition: obs-internal.h:918
struct obs_encoder_info * find_encoder(const char *id)
void obs_hotkeys_platform_free(struct obs_core_hotkeys *hotkeys)
EXPORT void signal_handler_signal(signal_handler_t *handler, const char *signal, calldata_t *params)
gs_effect_t * deinterlace_discard_2x_effect
Definition: obs-internal.h:271
void obs_hotkeys_free(void)
struct gs_texture gs_texture_t
Definition: graphics.h:258
void * obs_video_thread(void *param)
gs_effect_t * obs_load_effect(gs_effect_t **effect, const char *file)
char * array
Definition: dstr.h:37
view_type
Definition: obs-internal.h:698
void obs_output_delay_stop(obs_output_t *output)
char * data_path
Definition: obs-internal.h:79
const struct obs_source_info * get_source_info(const char *id)
bool loaded
Definition: obs-internal.h:81
struct obs_encoder * first_encoder
Definition: obs-internal.h:307
size_t obs_hotkey_pair_id
Definition: obs-hotkey.h:26
uint64_t resample_offset
Definition: obs-internal.h:554
bool owns_info_id
Definition: obs-internal.h:529
int64_t video_offset
Definition: obs-internal.h:809
struct obs_weak_service * control
Definition: obs-internal.h:999
audio_t * audio
Definition: obs-internal.h:283
bool sent_first_packet
Definition: obs-internal.h:906
Definition: audio-io.h:68
struct obs_service * service
Definition: obs-internal.h:993
pthread_mutex_t channels_mutex
Definition: obs-internal.h:184
int64_t highest_video_ts
Definition: obs-internal.h:812
bool wait_for_video
Definition: obs-internal.h:948
gs_stagesurf_t * mapped_surface
Definition: obs-internal.h:243
void * data
Definition: obs-internal.h:130
struct signal_handler signal_handler_t
Definition: signal.h:35
void(* obs_hotkey_func)(void *data, obs_hotkey_id id, obs_hotkey_t *hotkey, bool pressed)
Definition: obs-hotkey.h:132
Definition: obs-internal.h:495
Definition: obs-internal.h:500
gs_effect_t * deinterlace_yadif_effect
Definition: obs-internal.h:276
bool active
Definition: obs-internal.h:545
bool private
Definition: obs-internal.h:422
const char * conversion_tech
Definition: obs-internal.h:255
void * data
Definition: obs-internal.h:405
void obs_service_activate(struct obs_service *service)
bool first_received
Definition: obs-internal.h:949
void obs_context_data_setname(struct obs_context_data *context, const char *name)
char * name
Definition: obs-internal.h:404
gs_effect_t * deinterlace_discard_effect
Definition: obs-internal.h:270
Definition: obs-internal.h:991
pthread_mutex_t draw_info_mutex
Definition: obs-internal.h:202
bool audio_pending
Definition: obs-internal.h:564
uint64_t timestamp
Definition: obs-internal.h:218
pthread_mutex_t outputs_mutex
Definition: obs-internal.h:312
struct gs_sampler_state gs_samplerstate_t
Definition: graphics.h:263
bool obs_service_initialize(struct obs_service *service, struct obs_output *output)
gs_effect_t * conversion_effect
Definition: obs-internal.h:237
obs_hotkey_registerer_t registerer_type
Definition: obs-internal.h:133
bool owns_info_id
Definition: obs-internal.h:1002
struct obs_source ** prev_next_audio_source
Definition: obs-internal.h:568
graphics_t * graphics
Definition: obs-internal.h:223
#define MICROSECOND_DEN
Definition: obs-internal.h:40
obs_allow_direct_render
Definition: obs.h:109
struct obs_context_data context
Definition: obs-internal.h:520
struct video_output video_t
Definition: video-io.h:31
void obs_view_free(struct obs_view *view)
uint64_t audio_ts
Definition: obs-internal.h:569
void obs_service_destroy(obs_service_t *service)
bool owns_info_id
Definition: obs-internal.h:803
uint32_t flags
Definition: obs-internal.h:525
Definition: obs-internal.h:905
bool thread_initialized
Definition: obs-internal.h:252
uint32_t base_width
Definition: obs-internal.h:263
struct audio_monitor * audio_monitor_create(obs_source_t *source)
gs_effect_t * deinterlace_linear_2x_effect
Definition: obs-internal.h:273
long long unnamed_index
Definition: obs-internal.h:319
void obs_output_actual_stop(obs_output_t *output, bool force, uint64_t ts)
struct obs_weak_output * control
Definition: obs-internal.h:800
void obs_context_data_remove(struct obs_context_data *context)
gs_effect_t * lanczos_effect
Definition: obs-internal.h:239
obs_hotkey_id id
Definition: obs-internal.h:125
size_t size
Definition: calldata.h:48
const char * file
Definition: obs-internal.h:77
#define NUM_TEXTURES
Definition: obs-internal.h:39
char * mod_name
Definition: obs-internal.h:76
struct caption_text * next
Definition: obs-internal.h:794
struct obs_module * next
Definition: obs-internal.h:93
pthread_mutex_t interleaved_mutex
Definition: obs-internal.h:815
void deinterlace_process_last_frame(obs_source_t *source, uint64_t sys_time)
float vol
Definition: obs-internal.h:504
Definition: graphics.h:61
Definition: obs-internal.h:47
uint32_t output_width
Definition: obs-internal.h:261
uint32_t timebase_den
Definition: obs-internal.h:937
bool async_rendered
Definition: obs-internal.h:560
size_t mixer_idx
Definition: obs-internal.h:924
bool removed
Definition: obs-internal.h:543
uint32_t background_color
Definition: obs-internal.h:199
struct obs_source * source
Definition: obs-internal.h:511
bool showing
Definition: obs-internal.h:546
audio_action_type
Definition: obs-internal.h:493
struct obs_encoder * paired_encoder
Definition: obs-internal.h:950
int pressed
Definition: obs-internal.h:131
bool owns_info_id
Definition: obs-internal.h:934
bool obs_hotkeys_platform_is_pressed(obs_hotkeys_platform_t *context, obs_key_t key)
Definition: obs-internal.h:996
uint32_t output_height
Definition: obs-internal.h:262
void obs_source_destroy(struct obs_source *source)
uint64_t timestamp
Definition: obs-internal.h:501
enum obs_hotkey_registerer_type obs_hotkey_registerer_t
Definition: obs-hotkey.h:53
Definition: obs-internal.h:217
obs_monitoring_type
Definition: obs.h:926
void obs_encoder_add_output(struct obs_encoder *encoder, struct obs_output *output)
struct os_event_data os_event_t
Definition: threading.h:63
struct proc_handler proc_handler_t
Definition: proc.h:36
gs_effect_t * deinterlace_blend_effect
Definition: obs-internal.h:274
Main libobs header used by applications.
Definition: audio-resampler.h:30
volatile long weak_refs
Definition: obs-internal.h:447
Definition: graphics.h:62
int64_t highest_audio_ts
Definition: obs-internal.h:811
Definition: obs-internal.h:699
obs_hotkey_func func
Definition: obs-internal.h:129
Definition: obs-internal.h:445
proc_handler_t * procs
Definition: obs-internal.h:408
obs_hotkey_id hotkey_id
Definition: obs-internal.h:172
obs_source_audio_capture_t callback
Definition: obs-internal.h:515
Definition: obs-internal.h:496
bool enabled
Definition: obs-internal.h:549
void(* obs_source_audio_capture_t)(void *param, obs_source_t *source, const struct audio_data *audio_data, bool muted)
Definition: obs.h:892
__int64 int64_t
Definition: vc_stdint.h:32
EXPORT void bfree(void *ptr)
uint32_t base_height
Definition: obs-internal.h:264
Definition: obs-internal.h:124
Definition: obs-internal.h:772
pthread_mutex_t audio_sources_mutex
Definition: obs-internal.h:315
bool obs_view_init(struct obs_view *view)
void obs_transition_load(obs_source_t *source, obs_data_t *data)
bool used
Definition: obs-internal.h:490
const char * profile_encoder_encode_name
Definition: obs-internal.h:966
uint64_t video_time
Definition: obs-internal.h:246
#define bool
Definition: vc_stdbool.h:5
void obs_service_deactivate(struct obs_service *service, bool remove)
void * registerer
Definition: obs-internal.h:134
pthread_t end_data_capture_thread
Definition: obs-internal.h:813
int64_t offset_usec
Definition: obs-internal.h:951
Definition: obs-internal.h:195
uint64_t last_sys_timestamp
Definition: obs-internal.h:559
long unused_count
Definition: obs-internal.h:489
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 * param
Definition: obs-internal.h:908
void obs_display_free(struct obs_display *display)
void(* encoded_callback_t)(void *data, struct encoder_packet *packet)
Definition: obs-internal.h:783
bool destroy
Definition: obs-internal.h:1005
volatile long activate_refs
Definition: obs-internal.h:538
struct gs_texture_render gs_texrender_t
Definition: graphics.h:265
struct audio_output audio_t
Definition: audio-io.h:38
void * param
Definition: obs-internal.h:49
float obs_source_get_target_volume(obs_source_t *source, obs_source_t *target)
const struct obs_output_info * find_output(const char *id)
void obs_transition_save(obs_source_t *source, obs_data_t *data)
const char * obs_get_hotkey_translation(obs_key_t key, const char *def)
Definition: obs-service.h:31
volatile long show_refs
Definition: obs-internal.h:535
struct profiler_name_store profiler_name_store_t
Definition: profiler.h:39
struct gs_swap_chain gs_swapchain_t
Definition: graphics.h:264
pthread_t video_thread
Definition: obs-internal.h:249
Definition: video-io.h:46
void(* obs_hotkey_callback_router_func)(void *data, obs_hotkey_id id, bool pressed)
Definition: obs-hotkey.h:251