Open Broadcaster Software
Free, open source software for live streaming and recording
obs.h
Go to the documentation of this file.
1 /******************************************************************************
2  Copyright (C) 2013-2014 by Hugh Bailey <jim@obsproject.com>
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 ******************************************************************************/
17 
18 #pragma once
19 
20 #include "util/c99defs.h"
21 #include "util/bmem.h"
22 #include "util/profiler.h"
23 #include "util/text-lookup.h"
24 #include "graphics/graphics.h"
25 #include "graphics/vec2.h"
26 #include "graphics/vec3.h"
27 #include "media-io/audio-io.h"
28 #include "media-io/video-io.h"
29 #include "callback/signal.h"
30 #include "callback/proc.h"
31 
32 #include "obs-config.h"
33 #include "obs-defs.h"
34 #include "obs-data.h"
35 #include "obs-ui.h"
36 #include "obs-properties.h"
37 #include "obs-interaction.h"
38 
39 struct matrix4;
40 
41 /* opaque types */
42 struct obs_display;
43 struct obs_view;
44 struct obs_source;
45 struct obs_scene;
46 struct obs_scene_item;
47 struct obs_output;
48 struct obs_encoder;
49 struct obs_service;
50 struct obs_module;
51 struct obs_fader;
52 struct obs_volmeter;
53 
54 typedef struct obs_display obs_display_t;
55 typedef struct obs_view obs_view_t;
56 typedef struct obs_source obs_source_t;
57 typedef struct obs_scene obs_scene_t;
58 typedef struct obs_scene_item obs_sceneitem_t;
59 typedef struct obs_output obs_output_t;
60 typedef struct obs_encoder obs_encoder_t;
61 typedef struct obs_service obs_service_t;
62 typedef struct obs_module obs_module_t;
63 typedef struct obs_fader obs_fader_t;
64 typedef struct obs_volmeter obs_volmeter_t;
65 
66 typedef struct obs_weak_source obs_weak_source_t;
67 typedef struct obs_weak_output obs_weak_output_t;
70 
71 #include "obs-source.h"
72 #include "obs-encoder.h"
73 #include "obs-output.h"
74 #include "obs-service.h"
75 #include "obs-audio-controls.h"
76 #include "obs-hotkey.h"
77 
91 #ifdef __cplusplus
92 extern "C" {
93 #endif
94 
102 };
103 
112 };
113 
121 };
122 
136 };
137 
139  struct vec2 pos;
140  float rot;
141  struct vec2 scale;
142  uint32_t alignment;
143 
146  struct vec2 bounds;
147 };
148 
153 #ifndef SWIG
154 
157  const char *graphics_module;
158 #endif
159 
160  uint32_t fps_num;
161  uint32_t fps_den;
163  uint32_t base_width;
164  uint32_t base_height;
166  uint32_t output_width;
167  uint32_t output_height;
171  uint32_t adapter;
172 
175 
177  enum video_range_type range;
180 };
181 
186  uint32_t samples_per_sec;
188 };
189 
195  uint8_t *data[MAX_AV_PLANES];
196  uint32_t frames;
197  uint64_t timestamp;
198 };
199 
205  const uint8_t *data[MAX_AV_PLANES];
206  uint32_t frames;
207 
209  enum audio_format format;
210  uint32_t samples_per_sec;
211 
212  uint64_t timestamp;
213 };
214 
229  uint8_t *data[MAX_AV_PLANES];
231  uint32_t width;
232  uint32_t height;
233  uint64_t timestamp;
234 
235  enum video_format format;
236  float color_matrix[16];
238  float color_range_min[3];
239  float color_range_max[3];
240  bool flip;
241 
242  /* used internally by libobs */
243  volatile long refs;
245 };
246 
248  uint8_t *data[MAX_AV_PLANES];
250  uint32_t width;
251  uint32_t height;
252  uint64_t timestamp;
253 
254  enum video_format format;
255  enum video_range_type range;
256  float color_matrix[16];
257  float color_range_min[3];
258  float color_range_max[3];
259  bool flip;
260 };
261 
264  int argc;
265  char **argv;
266 };
267 
268 /* ------------------------------------------------------------------------- */
269 /* OBS context */
270 
277 EXPORT char *obs_find_data_file(const char *file);
278 
284 EXPORT void obs_add_data_path(const char *path);
285 
294 EXPORT bool obs_remove_data_path(const char *path);
295 
304 EXPORT bool obs_startup(const char *locale, const char *module_config_path,
305  profiler_name_store_t *store);
306 
308 EXPORT void obs_shutdown(void);
309 
312 
314 EXPORT uint32_t obs_get_version(void);
315 
317 EXPORT const char *obs_get_version_string(void);
318 
327 EXPORT void obs_set_cmdline_args(int argc, const char *const *argv);
328 
336 
343 EXPORT void obs_set_locale(const char *locale);
344 
346 EXPORT const char *obs_get_locale(void);
347 
350 #ifdef _WIN32
351 EXPORT void obs_init_win32_crash_handler(void);
352 #endif
353 
360 
378 
384 EXPORT bool obs_reset_audio(const struct obs_audio_info *oai);
385 
388 
391 
413 EXPORT int obs_open_module(obs_module_t **module, const char *path,
414  const char *data_path);
415 
422 
425 
428 
431 
434 
437 
440 
443 
452 EXPORT void obs_add_module_path(const char *bin, const char *data);
453 
456 
460 
461 #ifndef SWIG
463  const char *bin_path;
464  const char *data_path;
465 };
466 
467 typedef void (*obs_find_module_callback_t)(void *param,
468  const struct obs_module_info *info);
469 
472 #endif
473 
474 typedef void (*obs_enum_module_callback_t)(void *param, obs_module_t *module);
475 
478 
481  const char *default_locale,
482  const char *locale);
483 
495 EXPORT char *obs_find_module_file(obs_module_t *module, const char *file);
496 
508 EXPORT char *obs_module_get_config_path(obs_module_t *module, const char *file);
509 
511 EXPORT bool obs_enum_source_types(size_t idx, const char **id);
512 
519 EXPORT bool obs_enum_input_types(size_t idx, const char **id);
520 EXPORT bool obs_enum_input_types2(size_t idx, const char **id,
521  const char **unversioned_id);
522 
523 EXPORT const char *obs_get_latest_input_type_id(const char *unversioned_id);
524 
531 EXPORT bool obs_enum_filter_types(size_t idx, const char **id);
532 
539 EXPORT bool obs_enum_transition_types(size_t idx, const char **id);
540 
542 EXPORT bool obs_enum_output_types(size_t idx, const char **id);
543 
545 EXPORT bool obs_enum_encoder_types(size_t idx, const char **id);
546 
548 EXPORT bool obs_enum_service_types(size_t idx, const char **id);
549 
552 
555 
558 
561 
564 
566 EXPORT void obs_set_output_source(uint32_t channel, obs_source_t *source);
567 
573 
583 EXPORT void obs_enum_sources(bool (*enum_proc)(void *, obs_source_t *),
584  void *param);
585 
587 EXPORT void obs_enum_scenes(bool (*enum_proc)(void *, obs_source_t *),
588  void *param);
589 
591 EXPORT void obs_enum_outputs(bool (*enum_proc)(void *, obs_output_t *),
592  void *param);
593 
595 EXPORT void obs_enum_encoders(bool (*enum_proc)(void *, obs_encoder_t *),
596  void *param);
597 
599 EXPORT void obs_enum_services(bool (*enum_proc)(void *, obs_service_t *),
600  void *param);
601 
609 
612 
615 
618 
630 };
631 
634 
635 #ifndef SWIG
636 /* DEPRECATED: gets texture_rect default effect */
639 #endif
640 
643 
646 
647 #ifndef SWIG
648 
651 #endif
652 
655 
658 
662 
664 EXPORT void obs_set_master_volume(float volume);
665 
668 
671 
674 
677 
680 
681 typedef void (*obs_load_source_cb)(void *private_data, obs_source_t *source);
682 
685  void *private_data);
686 
689 
690 typedef bool (*obs_save_source_filter_cb)(void *data, obs_source_t *source);
692  void *data);
693 
700 };
701 
703 EXPORT const char *obs_obj_get_id(void *obj);
704 EXPORT bool obs_obj_invalid(void *obj);
705 EXPORT void *obs_obj_get_data(void *obj);
706 
707 typedef bool (*obs_enum_audio_device_cb)(void *data, const char *name,
708  const char *id);
709 
711  void *data);
712 
713 EXPORT bool obs_set_audio_monitoring_device(const char *name, const char *id);
714 EXPORT void obs_get_audio_monitoring_device(const char **name, const char **id);
715 
716 EXPORT void obs_add_tick_callback(void (*tick)(void *param, float seconds),
717  void *param);
718 EXPORT void obs_remove_tick_callback(void (*tick)(void *param, float seconds),
719  void *param);
720 
721 EXPORT void obs_add_main_render_callback(void (*draw)(void *param, uint32_t cx,
722  uint32_t cy),
723  void *param);
725  void (*draw)(void *param, uint32_t cx, uint32_t cy), void *param);
726 
728  const struct video_scale_info *conversion,
729  void (*callback)(void *param, struct video_data *frame), void *param);
731  void (*callback)(void *param, struct video_data *frame), void *param);
732 
734 
738 
741 
743 
747 
748 typedef void (*obs_task_t)(void *param);
749 
753 };
754 
756  void *param, bool wait);
757 
758 typedef void (*obs_task_handler_t)(obs_task_t task, void *param, bool wait);
760 
761 /* ------------------------------------------------------------------------- */
762 /* View context */
763 
771 
774 
776 EXPORT void obs_view_set_source(obs_view_t *view, uint32_t channel,
777  obs_source_t *source);
778 
781 
784 
785 /* ------------------------------------------------------------------------- */
786 /* Display context */
787 
796 obs_display_create(const struct gs_init_data *graphics_data,
797  uint32_t backround_color);
798 
801 
803 EXPORT void obs_display_resize(obs_display_t *display, uint32_t cx,
804  uint32_t cy);
805 
815  void (*draw)(void *param, uint32_t cx,
816  uint32_t cy),
817  void *param);
818 
821  obs_display_t *display,
822  void (*draw)(void *param, uint32_t cx, uint32_t cy), void *param);
823 
824 EXPORT void obs_display_set_enabled(obs_display_t *display, bool enable);
826 
828  uint32_t color);
829 
830 EXPORT void obs_display_size(obs_display_t *display, uint32_t *width,
831  uint32_t *height);
832 
833 /* ------------------------------------------------------------------------- */
834 /* Sources */
835 
837 EXPORT const char *obs_source_get_display_name(const char *id);
838 
845 EXPORT obs_source_t *obs_source_create(const char *id, const char *name,
846  obs_data_t *settings,
847  obs_data_t *hotkey_data);
848 
849 EXPORT obs_source_t *obs_source_create_private(const char *id, const char *name,
850  obs_data_t *settings);
851 
852 /* if source has OBS_SOURCE_DO_NOT_DUPLICATE output flag set, only returns a
853  * reference */
855  const char *desired_name,
856  bool create_private);
863 
866 
870 
872  obs_source_t *source);
873 
876 
879 
882 
884 EXPORT uint32_t obs_get_source_output_flags(const char *id);
885 
888 
891 
893 EXPORT bool obs_is_source_configurable(const char *id);
894 
896 
902 
905 
908 
911 
914 
921 
928 
931 
934 
937  obs_source_t *filter);
938 
941  obs_source_t *filter,
942  enum obs_order_movement movement);
943 
946 
948 EXPORT const char *obs_source_get_name(const obs_source_t *source);
949 
951 EXPORT void obs_source_set_name(obs_source_t *source, const char *name);
952 
955 
957 EXPORT const char *obs_source_get_id(const obs_source_t *source);
959 
963 
966 
968 EXPORT void obs_source_set_volume(obs_source_t *source, float volume);
969 
972 
973 /* Gets speaker layout of a source */
975 
977 EXPORT void obs_source_set_balance_value(obs_source_t *source, float balance);
978 
981 
983 EXPORT void obs_source_set_sync_offset(obs_source_t *source, int64_t offset);
984 
987 
990  obs_source_enum_proc_t enum_callback,
991  void *param);
992 
995  obs_source_enum_proc_t enum_callback,
996  void *param);
997 
1000 
1005 
1007 #define OBS_SOURCE_FLAG_UNUSED_1 (1 << 0)
1008 
1009 #define OBS_SOURCE_FLAG_FORCE_MONO (1 << 1)
1010 
1016 EXPORT void obs_source_set_flags(obs_source_t *source, uint32_t flags);
1017 
1019 EXPORT uint32_t obs_source_get_flags(const obs_source_t *source);
1020 
1025 EXPORT void obs_source_set_audio_mixers(obs_source_t *source, uint32_t mixers);
1026 
1029 
1036 
1048 
1055 
1066 
1069  obs_source_enum_proc_t callback,
1070  void *param);
1071 
1074  const char *name);
1075 
1077 
1079 EXPORT void obs_source_set_enabled(obs_source_t *source, bool enabled);
1080 
1082 EXPORT void obs_source_set_muted(obs_source_t *source, bool muted);
1083 
1086 
1089  uint64_t delay);
1090 
1093 
1096  uint64_t delay);
1097 
1098 typedef void (*obs_source_audio_capture_t)(void *param, obs_source_t *source,
1099  const struct audio_data *audio_data,
1100  bool muted);
1101 
1103  obs_source_t *source, obs_source_audio_capture_t callback, void *param);
1105  obs_source_t *source, obs_source_audio_capture_t callback, void *param);
1106 
1117 };
1118 
1122 };
1123 
1125  enum obs_deinterlace_mode mode);
1129  obs_source_t *source, enum obs_deinterlace_field_order field_order);
1132 
1137 };
1138 
1140  enum obs_monitoring_type type);
1143 
1147 
1148 /* ------------------------------------------------------------------------- */
1149 /* Functions used by sources */
1150 
1152 
1165 EXPORT void
1166 obs_source_draw_set_color_matrix(const struct matrix4 *color_matrix,
1167  const struct vec3 *color_range_min,
1168  const struct vec3 *color_range_max);
1169 
1181 EXPORT void obs_source_draw(gs_texture_t *image, int x, int y, uint32_t cx,
1182  uint32_t cy, bool flip);
1183 
1192  const struct obs_source_frame *frame);
1194  const struct obs_source_frame2 *frame);
1195 
1197 
1206  const struct obs_source_frame *frame);
1208  const struct obs_source_frame2 *frame);
1209 
1212 
1215  const struct obs_source_audio *audio);
1216 
1219 
1222 
1225  struct obs_source_frame *frame);
1226 
1238 EXPORT bool
1240  enum gs_color_format format,
1241  enum obs_allow_direct_render allow_direct);
1242 
1251  gs_effect_t *effect, uint32_t width,
1252  uint32_t height);
1253 
1262  gs_effect_t *effect,
1263  uint32_t width, uint32_t height,
1264  const char *tech_name);
1265 
1268 
1277  obs_source_t *child);
1278 
1285  obs_source_t *child);
1286 
1289  const struct obs_mouse_event *event,
1290  int32_t type, bool mouse_up,
1291  uint32_t click_count);
1292 
1295  const struct obs_mouse_event *event,
1296  bool mouse_leave);
1297 
1300  const struct obs_mouse_event *event,
1301  int x_delta, int y_delta);
1302 
1304 EXPORT void obs_source_send_focus(obs_source_t *source, bool focus);
1305 
1308  const struct obs_key_event *event,
1309  bool key_up);
1310 
1312 EXPORT void obs_source_set_default_flags(obs_source_t *source, uint32_t flags);
1313 
1316 
1319 
1323  struct obs_source_audio_mix *audio);
1324 
1326  bool unbuffered);
1328 
1334 
1337 
1339 
1352 
1353 /* ------------------------------------------------------------------------- */
1354 /* Transition-specific functions */
1358 };
1359 
1362  enum obs_transition_target target);
1364 
1366 
1370 };
1371 
1373  enum obs_transition_mode mode,
1374  uint32_t duration_ms, obs_source_t *dest);
1375 
1377 
1380  float torque, float clamp);
1381 
1386 };
1387 
1389  enum obs_transition_scale_type type);
1391 obs_transition_get_scale_type(const obs_source_t *transition);
1392 
1394  uint32_t alignment);
1396 
1397 EXPORT void obs_transition_set_size(obs_source_t *transition, uint32_t cx,
1398  uint32_t cy);
1400  uint32_t *cx, uint32_t *cy);
1401 
1402 /* function used by transitions */
1403 
1408 EXPORT void obs_transition_enable_fixed(obs_source_t *transition, bool enable,
1409  uint32_t duration_ms);
1411 
1413  gs_texture_t *a,
1414  gs_texture_t *b, float t,
1415  uint32_t cx,
1416  uint32_t cy);
1417 typedef float (*obs_transition_audio_mix_callback_t)(void *data, float t);
1418 
1420 
1422 
1423 EXPORT void
1426 
1429 EXPORT bool
1431  enum obs_transition_target target);
1432 
1433 EXPORT bool
1434 obs_transition_audio_render(obs_source_t *transition, uint64_t *ts_out,
1435  struct obs_source_audio_mix *audio, uint32_t mixers,
1436  size_t channels, size_t sample_rate,
1437  obs_transition_audio_mix_callback_t mix_a_callback,
1438  obs_transition_audio_mix_callback_t mix_b_callback);
1439 
1440 /* swaps transition sources and textures as an optimization and to reduce
1441  * memory usage when switching between transitions */
1443  obs_source_t *tr_source);
1445  obs_source_t *tr_source);
1446 
1447 /* ------------------------------------------------------------------------- */
1448 /* Scenes */
1449 
1457 
1459 
1465 };
1466 
1471  enum obs_scene_duplicate_type type);
1472 
1475 
1478 
1481 
1484  const char *name);
1485 
1487  const char *name);
1488 
1490  int64_t id);
1491 
1494  bool (*callback)(obs_scene_t *,
1495  obs_sceneitem_t *, void *),
1496  void *param);
1497 
1499  obs_sceneitem_t *const *item_order,
1500  size_t item_order_size);
1501 
1505 };
1506 
1507 EXPORT bool
1509  struct obs_sceneitem_order_info *item_order,
1510  size_t item_order_size);
1511 
1514 
1515 typedef void (*obs_scene_atomic_update_func)(void *, obs_scene_t *scene);
1518  void *data);
1519 
1522 
1525 
1528 
1531 
1532 /* FIXME: The following functions should be deprecated and replaced with a way
1533  * to specify saveable private user data. -Jim */
1538 
1539 /* Functions for getting/setting specific orientation of a scene item */
1541  const struct vec2 *pos);
1542 EXPORT void obs_sceneitem_set_rot(obs_sceneitem_t *item, float rot_deg);
1544  const struct vec2 *scale);
1546  uint32_t alignment);
1548  enum obs_order_movement movement);
1550  int position);
1552  enum obs_bounds_type type);
1554  uint32_t alignment);
1556  const struct vec2 *bounds);
1557 
1559 
1561  struct vec2 *pos);
1564  struct vec2 *scale);
1566 
1571  struct vec2 *bounds);
1572 
1574  struct obs_transform_info *info);
1576  const struct obs_transform_info *info);
1577 
1579  struct matrix4 *transform);
1581  struct matrix4 *transform);
1583  struct vec2 *scale);
1584 
1587 
1589  int left;
1590  int top;
1591  int right;
1592  int bottom;
1593 };
1594 
1596  const struct obs_sceneitem_crop *crop);
1598  struct obs_sceneitem_crop *crop);
1599 
1601  enum obs_scale_type filter);
1604 
1606 
1609 
1613 
1615  const char *name);
1617  const char *name,
1618  obs_sceneitem_t **items,
1619  size_t count);
1620 
1622  const char *name, bool signal);
1624  const char *name,
1625  obs_sceneitem_t **items,
1626  size_t count, bool signal);
1627 
1629  const char *name);
1630 
1632 
1634 
1637 
1639  obs_sceneitem_t *item);
1641  obs_sceneitem_t *item);
1642 
1644  obs_sceneitem_t *item);
1645 
1648 
1650  bool (*callback)(obs_scene_t *,
1651  obs_sceneitem_t *,
1652  void *),
1653  void *param);
1654 
1657 
1660 
1661 /* ------------------------------------------------------------------------- */
1662 /* Outputs */
1663 
1664 EXPORT const char *obs_output_get_display_name(const char *id);
1665 
1672 EXPORT obs_output_t *obs_output_create(const char *id, const char *name,
1673  obs_data_t *settings,
1674  obs_data_t *hotkey_data);
1675 
1682 
1685 
1689 
1691  obs_output_t *output);
1692 
1693 EXPORT const char *obs_output_get_name(const obs_output_t *output);
1694 
1697 
1700 
1706 #define OBS_OUTPUT_DELAY_PRESERVE (1 << 0)
1707 
1715 EXPORT void obs_output_set_delay(obs_output_t *output, uint32_t delay_sec,
1716  uint32_t flags);
1717 
1719 EXPORT uint32_t obs_output_get_delay(const obs_output_t *output);
1720 
1723 
1726 
1729 
1731 EXPORT uint32_t obs_output_get_flags(const obs_output_t *output);
1732 
1734 EXPORT uint32_t obs_get_output_flags(const char *id);
1735 
1738 
1741 
1747 
1750 
1753 
1755 EXPORT bool obs_output_pause(obs_output_t *output, bool pause);
1756 
1759 
1760 /* Gets the current output settings string */
1762 
1766 
1769 
1775  audio_t *audio);
1776 
1779 
1782 
1784 EXPORT void obs_output_set_mixer(obs_output_t *output, size_t mixer_idx);
1785 
1788 
1790 EXPORT void obs_output_set_mixers(obs_output_t *output, size_t mixers);
1791 
1794 
1800  obs_encoder_t *encoder);
1801 
1811  obs_encoder_t *encoder, size_t idx);
1812 
1815 
1824  size_t idx);
1825 
1828  obs_service_t *service);
1829 
1832 
1837  int retry_count, int retry_sec);
1838 
1842 
1852  uint32_t height);
1853 
1855 EXPORT uint32_t obs_output_get_width(const obs_output_t *output);
1856 
1859 
1860 EXPORT const char *obs_output_get_id(const obs_output_t *output);
1861 
1862 #if BUILD_CAPTIONS
1863 EXPORT void obs_output_output_caption_text1(obs_output_t *output,
1864  const char *text);
1865 EXPORT void obs_output_output_caption_text2(obs_output_t *output,
1866  const char *text,
1867  double display_duration);
1868 #endif
1869 
1872 
1874 
1877  const char *message);
1879 
1880 EXPORT const char *
1882 EXPORT const char *
1884 
1885 /* ------------------------------------------------------------------------- */
1886 /* Functions used by outputs */
1887 
1889 
1891 EXPORT void
1893  const struct video_scale_info *conversion);
1894 
1896 EXPORT void
1898  const struct audio_convert_info *conversion);
1899 
1902  uint32_t flags);
1903 
1906  uint32_t flags);
1907 
1920 EXPORT bool obs_output_begin_data_capture(obs_output_t *output, uint32_t flags);
1921 
1924 
1932 
1934 
1935 /* ------------------------------------------------------------------------- */
1936 /* Encoders */
1937 
1938 EXPORT const char *obs_encoder_get_display_name(const char *id);
1939 
1948 EXPORT obs_encoder_t *obs_video_encoder_create(const char *id, const char *name,
1949  obs_data_t *settings,
1950  obs_data_t *hotkey_data);
1951 
1961 EXPORT obs_encoder_t *obs_audio_encoder_create(const char *id, const char *name,
1962  obs_data_t *settings,
1963  size_t mixer_idx,
1964  obs_data_t *hotkey_data);
1965 
1972 
1975 
1979 
1981  obs_encoder_t *encoder);
1982 
1983 EXPORT void obs_encoder_set_name(obs_encoder_t *encoder, const char *name);
1984 EXPORT const char *obs_encoder_get_name(const obs_encoder_t *encoder);
1985 
1987 EXPORT const char *obs_get_encoder_codec(const char *id);
1988 
1991 
1993 EXPORT const char *obs_encoder_get_codec(const obs_encoder_t *encoder);
1994 
1997 
2003 EXPORT void obs_encoder_set_scaled_size(obs_encoder_t *encoder, uint32_t width,
2004  uint32_t height);
2005 
2008 
2010 EXPORT uint32_t obs_encoder_get_width(const obs_encoder_t *encoder);
2011 
2014 
2017 
2027  enum video_format format);
2030 
2034 
2037 
2043 
2049 
2052  uint8_t **extra_data, size_t *size);
2053 
2056 
2059 
2062 
2068 
2074 
2077 
2079 
2080 EXPORT const char *obs_encoder_get_id(const obs_encoder_t *encoder);
2081 
2082 EXPORT uint32_t obs_get_encoder_caps(const char *encoder_id);
2083 EXPORT uint32_t obs_encoder_get_caps(const obs_encoder_t *encoder);
2084 
2085 #ifndef SWIG
2086 
2089  const struct encoder_packet *src);
2090 
2093 #endif
2094 
2096  struct encoder_packet *src);
2098 
2100  const char *reroute_id);
2101 
2104 
2107  const char *message);
2108 
2109 /* ------------------------------------------------------------------------- */
2110 /* Stream Services */
2111 
2112 EXPORT const char *obs_service_get_display_name(const char *id);
2113 
2114 EXPORT obs_service_t *obs_service_create(const char *id, const char *name,
2115  obs_data_t *settings,
2116  obs_data_t *hotkey_data);
2117 
2119  const char *name,
2120  obs_data_t *settings);
2121 
2128 
2131 
2135 
2137  obs_service_t *service);
2138 
2139 EXPORT const char *obs_service_get_name(const obs_service_t *service);
2140 
2143 
2146 
2152 
2154 EXPORT const char *obs_service_get_type(const obs_service_t *service);
2155 
2158 
2161 
2163 EXPORT const char *obs_service_get_url(const obs_service_t *service);
2164 
2166 EXPORT const char *obs_service_get_key(const obs_service_t *service);
2167 
2169 EXPORT const char *obs_service_get_username(const obs_service_t *service);
2170 
2172 EXPORT const char *obs_service_get_password(const obs_service_t *service);
2173 
2180 EXPORT void
2182  obs_data_t *video_encoder_settings,
2183  obs_data_t *audio_encoder_settings);
2184 
2186 
2187 EXPORT const char *obs_service_get_id(const obs_service_t *service);
2188 
2189 /* NOTE: This function is temporary and should be removed/replaced at a later
2190  * date. */
2192 
2193 /* ------------------------------------------------------------------------- */
2194 /* Source frame allocation functions */
2196  enum video_format format, uint32_t width,
2197  uint32_t height);
2198 
2199 static inline void obs_source_frame_free(struct obs_source_frame *frame)
2200 {
2201  if (frame) {
2202  bfree(frame->data[0]);
2203  memset(frame, 0, sizeof(*frame));
2204  }
2205 }
2206 
2207 static inline struct obs_source_frame *
2208 obs_source_frame_create(enum video_format format, uint32_t width,
2209  uint32_t height)
2210 {
2211  struct obs_source_frame *frame;
2212 
2213  frame = (struct obs_source_frame *)bzalloc(sizeof(*frame));
2215  return frame;
2216 }
2217 
2218 static inline void obs_source_frame_destroy(struct obs_source_frame *frame)
2219 {
2220  if (frame) {
2221  bfree(frame->data[0]);
2222  bfree(frame);
2223  }
2224 }
2225 
2227  const struct obs_source_frame *src);
2228 
2229 /* ------------------------------------------------------------------------- */
2230 /* Get source icon type */
2232 
2233 #ifdef __cplusplus
2234 }
2235 #endif
obs_source
Definition: obs-internal.h:568
obs_deinterlace_field_order
obs_deinterlace_field_order
Definition: obs.h:1119
obs_order_movement
obs_order_movement
Definition: obs.h:97
obs_source_frame::width
uint32_t width
Definition: obs.h:231
OBS_DEINTERLACE_MODE_BLEND
@ OBS_DEINTERLACE_MODE_BLEND
Definition: obs.h:1111
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_sceneitem_get_rot
EXPORT float obs_sceneitem_get_rot(const obs_sceneitem_t *item)
obs_sceneitem_remove
EXPORT void obs_sceneitem_remove(obs_sceneitem_t *item)
obs_source_frame2::width
uint32_t width
Definition: obs.h:250
obs_source_set_muted
EXPORT void obs_source_set_muted(obs_source_t *source, bool muted)
OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT
@ OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT
Definition: obs.h:1136
obs_sceneitem_set_visible
EXPORT bool obs_sceneitem_set_visible(obs_sceneitem_t *item, bool visible)
obs_sceneitem_get_draw_transform
EXPORT void obs_sceneitem_get_draw_transform(const obs_sceneitem_t *item, struct matrix4 *transform)
obs_leave_graphics
EXPORT void obs_leave_graphics(void)
video_colorspace
video_colorspace
Definition: video-io.h:73
obs_output_get_video_encoder
EXPORT obs_encoder_t * obs_output_get_video_encoder(const obs_output_t *output)
obs_get_frame_interval_ns
EXPORT uint64_t obs_get_frame_interval_ns(void)
obs_set_audio_monitoring_device
EXPORT bool obs_set_audio_monitoring_device(const char *name, const char *id)
obs_sceneitem_get_id
EXPORT int64_t obs_sceneitem_get_id(const obs_sceneitem_t *item)
obs_set_output_source
EXPORT void obs_set_output_source(uint32_t channel, obs_source_t *source)
obs_video_info::base_height
uint32_t base_height
Definition: obs.h:164
obs_source_get_output_flags
EXPORT uint32_t obs_source_get_output_flags(const obs_source_t *source)
obs_transition_target
obs_transition_target
Definition: obs.h:1355
obs_mouse_event
Definition: obs-interaction.h:44
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)
OBS_OBJ_TYPE_SOURCE
@ OBS_OBJ_TYPE_SOURCE
Definition: obs.h:696
obs_sceneitem_set_pos
EXPORT void obs_sceneitem_set_pos(obs_sceneitem_t *item, const struct vec2 *pos)
obs_get_version_string
EXPORT const char * obs_get_version_string(void)
obs_source_frame::color_range_min
float color_range_min[3]
Definition: obs.h:238
obs_sceneitem_get_alignment
EXPORT uint32_t obs_sceneitem_get_alignment(const obs_sceneitem_t *item)
obs_transition_audio_mix_callback_t
float(* obs_transition_audio_mix_callback_t)(void *data, float t)
Definition: obs.h:1417
obs_output_audio
EXPORT audio_t * obs_output_audio(const obs_output_t *output)
obs_encoder_get_weak_encoder
EXPORT obs_weak_encoder_t * obs_encoder_get_weak_encoder(obs_encoder_t *encoder)
graphics.h
obs_sceneitem_set_order_position
EXPORT void obs_sceneitem_set_order_position(obs_sceneitem_t *item, int position)
OBS_BOUNDS_NONE
@ OBS_BOUNDS_NONE
Definition: obs.h:129
OBS_BOUNDS_SCALE_TO_WIDTH
@ OBS_BOUNDS_SCALE_TO_WIDTH
Definition: obs.h:133
obs_display_remove_draw_callback
EXPORT void obs_display_remove_draw_callback(obs_display_t *display, void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
obs_transition_set_scale_type
EXPORT void obs_transition_set_scale_type(obs_source_t *transition, enum obs_transition_scale_type type)
obs_source_removed
EXPORT bool obs_source_removed(const obs_source_t *source)
obs_source_frame2::color_matrix
float color_matrix[16]
Definition: obs.h:256
obs_filter_get_parent
EXPORT obs_source_t * obs_filter_get_parent(const obs_source_t *filter)
obs_source_set_default_flags
EXPORT void obs_source_set_default_flags(obs_source_t *source, uint32_t flags)
obs_deinterlace_mode
obs_deinterlace_mode
Definition: obs.h:1107
obs_video_info::fps_den
uint32_t fps_den
Definition: obs.h:161
obs_source_set_async_decoupled
EXPORT void obs_source_set_async_decoupled(obs_source_t *source, bool decouple)
obs_source_frame::refs
volatile long refs
Definition: obs.h:243
obs_enum_source_types
EXPORT bool obs_enum_source_types(size_t idx, const char **id)
obs_view_create
EXPORT obs_view_t * obs_view_create(void)
obs_display_set_enabled
EXPORT void obs_display_set_enabled(obs_display_t *display, bool enable)
gs_effect
Definition: effect.h:150
obs_get_encoder_type
EXPORT enum obs_encoder_type obs_get_encoder_type(const char *id)
OBS_DEINTERLACE_MODE_LINEAR_2X
@ OBS_DEINTERLACE_MODE_LINEAR_2X
Definition: obs.h:1114
obs_encoder_video
EXPORT video_t * obs_encoder_video(const obs_encoder_t *encoder)
obs_transition_swap_begin
EXPORT void obs_transition_swap_begin(obs_source_t *tr_dest, obs_source_t *tr_source)
obs_service_get_name
EXPORT const char * obs_service_get_name(const obs_service_t *service)
obs_source_release_frame
EXPORT void obs_source_release_frame(obs_source_t *source, struct obs_source_frame *frame)
obs_source_set_async_rotation
EXPORT void obs_source_set_async_rotation(obs_source_t *source, long rotation)
obs_obj_type
obs_obj_type
Definition: obs.h:694
obs_get_active_fps
EXPORT double obs_get_active_fps(void)
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)
obs_source_muted
EXPORT bool obs_source_muted(const obs_source_t *source)
obs_scene_addref
EXPORT void obs_scene_addref(obs_scene_t *scene)
OBS_MONITORING_TYPE_NONE
@ OBS_MONITORING_TYPE_NONE
Definition: obs.h:1134
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)
obs_source_default_render
EXPORT void obs_source_default_render(obs_source_t *source)
obs_scene
Definition: obs-scene.h:87
obs_remove_main_render_callback
EXPORT void obs_remove_main_render_callback(void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
obs-defs.h
obs_scene_find_source_recursive
EXPORT obs_sceneitem_t * obs_scene_find_source_recursive(obs_scene_t *scene, const char *name)
obs_enum_output_types
EXPORT bool obs_enum_output_types(size_t idx, const char **id)
obs_task_t
void(* obs_task_t)(void *param)
Definition: obs.h:748
obs_sceneitem_set_rot
EXPORT void obs_sceneitem_set_rot(obs_sceneitem_t *item, float rot_deg)
obs_source_frame2::range
enum video_range_type range
Definition: obs.h:255
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_source_output_video
EXPORT void obs_source_output_video(obs_source_t *source, const struct obs_source_frame *frame)
obs_weak_service_addref
EXPORT void obs_weak_service_addref(obs_weak_service_t *weak)
OBS_SCENE_DUP_PRIVATE_REFS
@ OBS_SCENE_DUP_PRIVATE_REFS
Definition: obs.h:1463
obs_scene_duplicate
EXPORT obs_scene_t * obs_scene_duplicate(obs_scene_t *scene, const char *name, enum obs_scene_duplicate_type type)
obs_encoder_packet_ref
EXPORT void obs_encoder_packet_ref(struct encoder_packet *dst, struct encoder_packet *src)
obs_video_info::scale_type
enum obs_scale_type scale_type
Definition: obs.h:179
obs_enum_audio_monitoring_devices
EXPORT void obs_enum_audio_monitoring_devices(obs_enum_audio_device_cb cb, void *data)
obs_scene_item
Definition: obs-scene.h:31
obs_enum_audio_device_cb
bool(* obs_enum_audio_device_cb)(void *data, const char *name, const char *id)
Definition: obs.h:707
obs_source_media_set_time
EXPORT void obs_source_media_set_time(obs_source_t *source, int64_t ms)
obs_sceneitem_get_scale
EXPORT void obs_sceneitem_get_scale(const obs_sceneitem_t *item, struct vec2 *scale)
obs_output_defaults
EXPORT obs_data_t * obs_output_defaults(const char *id)
obs_source_update
EXPORT void obs_source_update(obs_source_t *source, obs_data_t *settings)
obs_sceneitem_set_info
EXPORT void obs_sceneitem_set_info(obs_sceneitem_t *item, const struct obs_transform_info *info)
obs_output_signal_stop
EXPORT void obs_output_signal_stop(obs_output_t *output, int code)
obs_audio_data::frames
uint32_t frames
Definition: obs.h:196
obs_scene_add
EXPORT obs_sceneitem_t * obs_scene_add(obs_scene_t *scene, obs_source_t *source)
obs_source_get_balance_value
EXPORT float obs_source_get_balance_value(const obs_source_t *source)
gs_color_format
gs_color_format
Definition: graphics.h:56
obs_encoder_set_scaled_size
EXPORT void obs_encoder_set_scaled_size(obs_encoder_t *encoder, uint32_t width, uint32_t height)
obs_source_get_deinterlace_mode
EXPORT enum obs_deinterlace_mode obs_source_get_deinterlace_mode(const obs_source_t *source)
obs_render_main_texture_src_color_only
EXPORT void obs_render_main_texture_src_color_only(void)
OBS_ORDER_MOVE_BOTTOM
@ OBS_ORDER_MOVE_BOTTOM
Definition: obs.h:101
obs_source_dec_active
EXPORT void obs_source_dec_active(obs_source_t *source)
obs_cmdline_args
Definition: obs.h:263
obs_volmeter_t
struct obs_volmeter obs_volmeter_t
Definition: obs.h:64
obs_source_media_get_duration
EXPORT int64_t obs_source_media_get_duration(obs_source_t *source)
obs_source_set_sync_offset
EXPORT void obs_source_set_sync_offset(obs_source_t *source, int64_t offset)
obs_sceneitem_defer_update_end
EXPORT void obs_sceneitem_defer_update_end(obs_sceneitem_t *item)
obs_sceneitem_set_order
EXPORT void obs_sceneitem_set_order(obs_sceneitem_t *item, enum obs_order_movement movement)
obs_sceneitem_addref
EXPORT void obs_sceneitem_addref(obs_sceneitem_t *item)
audio_convert_info
Definition: audio-io.h:104
obs_scene_atomic_update_func
void(* obs_scene_atomic_update_func)(void *, obs_scene_t *scene)
Definition: obs.h:1515
obs_set_private_data
EXPORT void obs_set_private_data(obs_data_t *settings)
obs_sceneitem_get_source
EXPORT obs_source_t * obs_sceneitem_get_source(const obs_sceneitem_t *item)
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_get_output_source
EXPORT obs_source_t * obs_get_output_source(uint32_t channel)
obs_scale_type
obs_scale_type
Definition: obs.h:114
obs_enum_encoders
EXPORT void obs_enum_encoders(bool(*enum_proc)(void *, obs_encoder_t *), void *param)
obs_source_output_video2
EXPORT void obs_source_output_video2(obs_source_t *source, const struct obs_source_frame2 *frame)
OBS_EFFECT_LANCZOS
@ OBS_EFFECT_LANCZOS
Definition: obs.h:625
obs_output_get_type_data
EXPORT void * obs_output_get_type_data(obs_output_t *output)
OBS_TASK_UI
@ OBS_TASK_UI
Definition: obs.h:751
obs_source_audio::speakers
enum speaker_layout speakers
Definition: obs.h:208
obs_video_info::colorspace
enum video_colorspace colorspace
Definition: obs.h:176
obs_source_frame2
Definition: obs.h:247
obs_transition_get_active_source
EXPORT obs_source_t * obs_transition_get_active_source(obs_source_t *transition)
obs_display
Definition: obs-internal.h:201
obs_source_set_push_to_talk_delay
EXPORT void obs_source_set_push_to_talk_delay(obs_source_t *source, uint64_t delay)
obs_set_cmdline_args
EXPORT void obs_set_cmdline_args(int argc, const char *const *argv)
obs_source_get_proc_handler
EXPORT proc_handler_t * obs_source_get_proc_handler(const obs_source_t *source)
obs_source_inc_showing
EXPORT void obs_source_inc_showing(obs_source_t *source)
obs_encoder_update
EXPORT void obs_encoder_update(obs_encoder_t *encoder, obs_data_t *settings)
obs_set_master_volume
EXPORT void obs_set_master_volume(float volume)
obs_encoder_set_audio
EXPORT void obs_encoder_set_audio(obs_encoder_t *encoder, audio_t *audio)
obs_view
Definition: obs-internal.h:190
obs_source_skip_video_filter
EXPORT void obs_source_skip_video_filter(obs_source_t *filter)
obs_sceneitem_group_get_scene
EXPORT obs_scene_t * obs_sceneitem_group_get_scene(const obs_sceneitem_t *group)
obs_source_get_type
EXPORT enum obs_source_type obs_source_get_type(const obs_source_t *source)
obs_cmdline_args::argc
int argc
Definition: obs.h:264
obs_get_output_properties
EXPORT obs_properties_t * obs_get_output_properties(const char *id)
obs_output_start
EXPORT bool obs_output_start(obs_output_t *output)
OBS_EFFECT_SOLID
@ OBS_EFFECT_SOLID
Definition: obs.h:623
video-io.h
obs-source.h
header for modules implementing sources.
obs_sceneitem_group_ungroup2
EXPORT void obs_sceneitem_group_ungroup2(obs_sceneitem_t *group, bool signal)
obs_get_audio_monitoring_device
EXPORT void obs_get_audio_monitoring_device(const char **name, const char **id)
obs_find_module_file
EXPORT char * obs_find_module_file(obs_module_t *module, const char *file)
obs_output_get_mixers
EXPORT size_t obs_output_get_mixers(const obs_output_t *output)
matrix4
Definition: matrix4.h:32
obs_reset_video
EXPORT int obs_reset_video(struct obs_video_info *ovi)
obs_get_total_frames
EXPORT uint32_t obs_get_total_frames(void)
obs_audio_data::timestamp
uint64_t timestamp
Definition: obs.h:197
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_enum_transition_types
EXPORT bool obs_enum_transition_types(size_t idx, const char **id)
obs_source_get_monitoring_type
EXPORT enum obs_monitoring_type obs_source_get_monitoring_type(const obs_source_t *source)
obs-encoder.h
header for modules implementing encoders.
obs_source_preload_video
EXPORT void obs_source_preload_video(obs_source_t *source, const struct obs_source_frame *frame)
gs_init_data
Definition: graphics.h:484
obs_audio_info::speakers
enum speaker_layout speakers
Definition: obs.h:187
OBS_OBJ_TYPE_ENCODER
@ OBS_OBJ_TYPE_ENCODER
Definition: obs.h:698
obs_source_dec_showing
EXPORT void obs_source_dec_showing(obs_source_t *source)
obs_source_enable_push_to_mute
EXPORT void obs_source_enable_push_to_mute(obs_source_t *source, bool enabled)
obs_service_get_username
EXPORT const char * obs_service_get_username(const obs_service_t *service)
obs_output_stop
EXPORT void obs_output_stop(obs_output_t *output)
obs_view_get_source
EXPORT obs_source_t * obs_view_get_source(obs_view_t *view, uint32_t channel)
OBS_DEINTERLACE_FIELD_ORDER_BOTTOM
@ OBS_DEINTERLACE_FIELD_ORDER_BOTTOM
Definition: obs.h:1121
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_add_data_path
EXPORT void obs_add_data_path(const char *path)
obs_module_info::bin_path
const char * bin_path
Definition: obs.h:463
OBS_DEINTERLACE_MODE_DISABLE
@ OBS_DEINTERLACE_MODE_DISABLE
Definition: obs.h:1108
obs_scene_find_sceneitem_by_id
EXPORT obs_sceneitem_t * obs_scene_find_sceneitem_by_id(obs_scene_t *scene, int64_t id)
obs_data_t
struct obs_data obs_data_t
Definition: obs-data.h:42
obs_source_set_volume
EXPORT void obs_source_set_volume(obs_source_t *source, float volume)
obs_source_async_unbuffered
EXPORT bool obs_source_async_unbuffered(const obs_source_t *source)
obs_source_frame::flip
bool flip
Definition: obs.h:240
obs_source_get_filter_by_name
EXPORT obs_source_t * obs_source_get_filter_by_name(obs_source_t *source, const char *name)
obs_service_properties
EXPORT obs_properties_t * obs_service_properties(const obs_service_t *service)
obs_encoder_get_ref
EXPORT obs_encoder_t * obs_encoder_get_ref(obs_encoder_t *encoder)
obs_add_tick_callback
EXPORT void obs_add_tick_callback(void(*tick)(void *param, float seconds), void *param)
obs_source_frame2::timestamp
uint64_t timestamp
Definition: obs.h:252
obs_output_set_service
EXPORT void obs_output_set_service(obs_output_t *output, obs_service_t *service)
obs_source_get_ref
EXPORT obs_source_t * obs_source_get_ref(obs_source_t *source)
obs_module
Definition: obs-internal.h:83
obs_source_get_display_name
EXPORT const char * obs_source_get_display_name(const char *id)
obs_weak_encoder_get_encoder
EXPORT obs_encoder_t * obs_weak_encoder_get_encoder(obs_weak_encoder_t *weak)
obs_queue_task
EXPORT void obs_queue_task(enum obs_task_type type, obs_task_t task, void *param, bool wait)
obs_weak_output_addref
EXPORT void obs_weak_output_addref(obs_weak_output_t *weak)
OBS_MONITORING_TYPE_MONITOR_ONLY
@ OBS_MONITORING_TYPE_MONITOR_ONLY
Definition: obs.h:1135
obs_source_get_flags
EXPORT uint32_t obs_source_get_flags(const obs_source_t *source)
obs_obj_get_type
EXPORT enum obs_obj_type obs_obj_get_type(void *obj)
bfree
EXPORT void bfree(void *ptr)
obs_find_data_file
EXPORT char * obs_find_data_file(const char *file)
obs_source_frame::color_range_max
float color_range_max[3]
Definition: obs.h:239
obs_sceneitem_get_bounds_type
EXPORT enum obs_bounds_type obs_sceneitem_get_bounds_type(const obs_sceneitem_t *item)
obs_get_service_by_name
EXPORT obs_service_t * obs_get_service_by_name(const char *name)
obs_output_get_pause_offset
EXPORT uint64_t obs_output_get_pause_offset(obs_output_t *output)
obs_transform_info::scale
struct vec2 scale
Definition: obs.h:141
obs_output_get_settings
EXPORT obs_data_t * obs_output_get_settings(const obs_output_t *output)
OBS_OBJ_TYPE_OUTPUT
@ OBS_OBJ_TYPE_OUTPUT
Definition: obs.h:697
EXPORT
#define EXPORT
Definition: c99defs.h:37
obs_weak_encoder_release
EXPORT void obs_weak_encoder_release(obs_weak_encoder_t *weak)
obs_transition_get_alignment
EXPORT uint32_t obs_transition_get_alignment(const obs_source_t *transition)
obs_display_resize
EXPORT void obs_display_resize(obs_display_t *display, uint32_t cx, uint32_t cy)
obs_get_base_effect
EXPORT gs_effect_t * obs_get_base_effect(enum obs_base_effect effect)
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)
obs_source_media_next
EXPORT void obs_source_media_next(obs_source_t *source)
obs_weak_service_release
EXPORT void obs_weak_service_release(obs_weak_service_t *weak)
OBS_TRANSITION_SOURCE_A
@ OBS_TRANSITION_SOURCE_A
Definition: obs.h:1356
obs-properties.h
libobs header for the properties system used in libobs
obs_source_send_focus
EXPORT void obs_source_send_focus(obs_source_t *source, bool focus)
OBS_SCALE_BILINEAR
@ OBS_SCALE_BILINEAR
Definition: obs.h:118
obs_scene_add_group2
EXPORT obs_sceneitem_t * obs_scene_add_group2(obs_scene_t *scene, const char *name, bool signal)
obs_service_get_id
EXPORT const char * obs_service_get_id(const obs_service_t *service)
obs_source_duplicate
EXPORT obs_source_t * obs_source_duplicate(obs_source_t *source, const char *desired_name, bool create_private)
obs_sceneitem_set_scale_filter
EXPORT void obs_sceneitem_set_scale_filter(obs_sceneitem_t *item, enum obs_scale_type filter)
obs_render_main_view
OBS_DEPRECATED EXPORT void obs_render_main_view(void)
obs_output_get_frames_dropped
EXPORT int obs_output_get_frames_dropped(const obs_output_t *output)
obs_output_get_width
EXPORT uint32_t obs_output_get_width(const obs_output_t *output)
obs_sceneitem_get_bounds
EXPORT void obs_sceneitem_get_bounds(const obs_sceneitem_t *item, struct vec2 *bounds)
obs_output_get_total_frames
EXPORT int obs_output_get_total_frames(const obs_output_t *output)
OBS_TRANSITION_MODE_MANUAL
@ OBS_TRANSITION_MODE_MANUAL
Definition: obs.h:1369
obs_source_set_name
EXPORT void obs_source_set_name(obs_source_t *source, const char *name)
obs_transform_info::rot
float rot
Definition: obs.h:140
obs_sceneitem_order_info::item
obs_sceneitem_t * item
Definition: obs.h:1504
obs_video_info
Definition: obs.h:152
obs_get_main_texture
EXPORT gs_texture_t * obs_get_main_texture(void)
obs_source_frame::data
uint8_t * data[MAX_AV_PLANES]
Definition: obs.h:229
obs_source_frame::format
enum video_format format
Definition: obs.h:235
obs_sceneitem_order_info
Definition: obs.h:1502
obs_get_output_by_name
EXPORT obs_output_t * obs_get_output_by_name(const char *name)
obs_source_get_speaker_layout
EXPORT enum speaker_layout obs_source_get_speaker_layout(obs_source_t *source)
obs_set_ui_task_handler
EXPORT void obs_set_ui_task_handler(obs_task_handler_t handler)
obs_sceneitem_get_crop
EXPORT void obs_sceneitem_get_crop(const obs_sceneitem_t *item, struct obs_sceneitem_crop *crop)
obs_module_get_config_path
EXPORT char * obs_module_get_config_path(obs_module_t *module, const char *file)
obs_encoder_set_name
EXPORT void obs_encoder_set_name(obs_encoder_t *encoder, const char *name)
obs_source_frame
Definition: obs.h:228
obs_source_media_play_pause
EXPORT void obs_source_media_play_pause(obs_source_t *source, bool pause)
obs_weak_source_get_source
EXPORT obs_source_t * obs_weak_source_get_source(obs_weak_source_t *weak)
obs_source_type
obs_source_type
Definition: obs-source.h:33
obs_encoder_get_extra_data
EXPORT bool obs_encoder_get_extra_data(const obs_encoder_t *encoder, uint8_t **extra_data, size_t *size)
vec2.h
obs_source_set_balance_value
EXPORT void obs_source_set_balance_value(obs_source_t *source, float balance)
obs_audio_info
Definition: obs.h:185
obs_source_frame2::data
uint8_t * data[MAX_AV_PLANES]
Definition: obs.h:248
obs_filter_get_target
EXPORT obs_source_t * obs_filter_get_target(const obs_source_t *filter)
obs-data.h
obs_encoder_defaults
EXPORT obs_data_t * obs_encoder_defaults(const char *id)
obs_remove_raw_video_callback
EXPORT void obs_remove_raw_video_callback(void(*callback)(void *param, struct video_data *frame), void *param)
obs_add_main_render_callback
EXPORT void obs_add_main_render_callback(void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
obs_transition_mode
obs_transition_mode
Definition: obs.h:1367
obs_source_get_private_settings
EXPORT obs_data_t * obs_source_get_private_settings(obs_source_t *item)
obs_transform_info
Definition: obs.h:138
obs_bounds_type
obs_bounds_type
Definition: obs.h:128
obs_weak_encoder_addref
EXPORT void obs_weak_encoder_addref(obs_weak_encoder_t *weak)
obs_source_get_height
EXPORT uint32_t obs_source_get_height(obs_source_t *source)
OBS_TRANSITION_MODE_AUTO
@ OBS_TRANSITION_MODE_AUTO
Definition: obs.h:1368
vec3.h
OBS_SCALE_AREA
@ OBS_SCALE_AREA
Definition: obs.h:120
obs_transition_fixed
EXPORT bool obs_transition_fixed(obs_source_t *transition)
obs_monitoring_type
obs_monitoring_type
Definition: obs.h:1133
obs_display_set_background_color
EXPORT void obs_display_set_background_color(obs_display_t *display, uint32_t color)
obs_output_can_begin_data_capture
EXPORT bool obs_output_can_begin_data_capture(const obs_output_t *output, uint32_t flags)
OBS_EFFECT_DEFAULT_RECT
@ OBS_EFFECT_DEFAULT_RECT
Definition: obs.h:621
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)
obs_get_encoder_by_name
EXPORT obs_encoder_t * obs_get_encoder_by_name(const char *name)
obs_audio_data::data
uint8_t * data[MAX_AV_PLANES]
Definition: obs.h:195
obs_output_active
EXPORT bool obs_output_active(const obs_output_t *output)
obs_encoder_get_display_name
EXPORT const char * obs_encoder_get_display_name(const char *id)
obs_get_video_info
EXPORT bool obs_get_video_info(struct obs_video_info *ovi)
obs_sceneitem_force_update_transform
EXPORT void obs_sceneitem_force_update_transform(obs_sceneitem_t *item)
obs_transition_set_manual_torque
EXPORT void obs_transition_set_manual_torque(obs_source_t *transition, float torque, float clamp)
signal_handler_t
struct signal_handler signal_handler_t
Definition: signal.h:35
obs_weak_encoder_references_encoder
EXPORT bool obs_weak_encoder_references_encoder(obs_weak_encoder_t *weak, obs_encoder_t *encoder)
obs_source_media_restart
EXPORT void obs_source_media_restart(obs_source_t *source)
obs_transition_force_stop
EXPORT void obs_transition_force_stop(obs_source_t *transition)
OBS_SCALE_POINT
@ OBS_SCALE_POINT
Definition: obs.h:116
obs_weak_service_get_service
EXPORT obs_service_t * obs_weak_service_get_service(obs_weak_service_t *weak)
obs_obj_get_id
EXPORT const char * obs_obj_get_id(void *obj)
obs-interaction.h
obs_output_get_height
EXPORT uint32_t obs_output_get_height(const obs_output_t *output)
obs_encoder_get_sample_rate
EXPORT uint32_t obs_encoder_get_sample_rate(const obs_encoder_t *encoder)
obs_source_get_frame
EXPORT struct obs_source_frame * obs_source_get_frame(obs_source_t *source)
obs_get_module_author
EXPORT const char * obs_get_module_author(obs_module_t *module)
OBS_TRANSITION_SCALE_ASPECT
@ OBS_TRANSITION_SCALE_ASPECT
Definition: obs.h:1384
text-lookup.h
obs_sceneitem_release
EXPORT void obs_sceneitem_release(obs_sceneitem_t *item)
obs_source_audio::samples_per_sec
uint32_t samples_per_sec
Definition: obs.h:210
obs_source_frame::full_range
bool full_range
Definition: obs.h:237
OBS_ALLOW_DIRECT_RENDERING
@ OBS_ALLOW_DIRECT_RENDERING
Definition: obs.h:111
obs_sceneitem_selected
EXPORT bool obs_sceneitem_selected(const obs_sceneitem_t *item)
obs_source_frame2::height
uint32_t height
Definition: obs.h:251
obs_scene_get_group
EXPORT obs_sceneitem_t * obs_scene_get_group(obs_scene_t *scene, const char *name)
obs_encoder_active
EXPORT bool obs_encoder_active(const obs_encoder_t *encoder)
obs_transform_info::bounds_alignment
uint32_t bounds_alignment
Definition: obs.h:145
profiler.h
obs_sceneitem_crop::top
int top
Definition: obs.h:1590
obs_transition_set
EXPORT void obs_transition_set(obs_source_t *transition, obs_source_t *source)
obs_sceneitem_group_ungroup
EXPORT void obs_sceneitem_group_ungroup(obs_sceneitem_t *group)
obs_sceneitem_defer_update_begin
EXPORT void obs_sceneitem_defer_update_begin(obs_sceneitem_t *item)
obs_service_create_private
EXPORT obs_service_t * obs_service_create_private(const char *id, const char *name, obs_data_t *settings)
OBS_DEINTERLACE_MODE_BLEND_2X
@ OBS_DEINTERLACE_MODE_BLEND_2X
Definition: obs.h:1112
obs_video_info::gpu_conversion
bool gpu_conversion
Definition: obs.h:174
obs_source_inc_active
EXPORT void obs_source_inc_active(obs_source_t *source)
gs_texture_t
struct gs_texture gs_texture_t
Definition: graphics.h:266
obs_output_get_service
EXPORT obs_service_t * obs_output_get_service(const obs_output_t *output)
obs_get_source_output_flags
EXPORT uint32_t obs_get_source_output_flags(const char *id)
obs_enum_encoder_types
EXPORT bool obs_enum_encoder_types(size_t idx, const char **id)
obs_output_get_audio_encoder
EXPORT obs_encoder_t * obs_output_get_audio_encoder(const obs_output_t *output, size_t idx)
obs_output_addref
EXPORT void obs_output_addref(obs_output_t *output)
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)
audio_data
Definition: audio-io.h:78
obs_source_set_enabled
EXPORT void obs_source_set_enabled(obs_source_t *source, bool enabled)
obs_output_force_stop
EXPORT void obs_output_force_stop(obs_output_t *output)
obs_source_get_audio_mix
EXPORT void obs_source_get_audio_mix(const obs_source_t *source, struct obs_source_audio_mix *audio)
obs_render_main_texture
EXPORT void obs_render_main_texture(void)
OBS_DEINTERLACE_MODE_DISCARD
@ OBS_DEINTERLACE_MODE_DISCARD
Definition: obs.h:1109
obs_sceneitem_visible
EXPORT bool obs_sceneitem_visible(const obs_sceneitem_t *item)
c99defs.h
obs_output_end_data_capture
EXPORT void obs_output_end_data_capture(obs_output_t *output)
obs_output_get_name
EXPORT const char * obs_output_get_name(const obs_output_t *output)
obs_sceneitem_set_alignment
EXPORT void obs_sceneitem_set_alignment(obs_sceneitem_t *item, uint32_t alignment)
OBS_BOUNDS_SCALE_OUTER
@ OBS_BOUNDS_SCALE_OUTER
Definition: obs.h:132
obs_source_push_to_mute_enabled
EXPORT bool obs_source_push_to_mute_enabled(obs_source_t *source)
obs_sceneitem_get_scene
EXPORT obs_scene_t * obs_sceneitem_get_scene(const obs_sceneitem_t *item)
obs_scene_get_source
EXPORT obs_source_t * obs_scene_get_source(const obs_scene_t *scene)
obs_add_raw_video_callback
EXPORT void obs_add_raw_video_callback(const struct video_scale_info *conversion, void(*callback)(void *param, struct video_data *frame), void *param)
obs_service_get_url
EXPORT const char * obs_service_get_url(const obs_service_t *service)
obs_scene_from_source
EXPORT obs_scene_t * obs_scene_from_source(const obs_source_t *source)
obs_encoder_get_last_error
EXPORT const char * obs_encoder_get_last_error(obs_encoder_t *encoder)
obs_sceneitem_group_remove_item
EXPORT void obs_sceneitem_group_remove_item(obs_sceneitem_t *group, obs_sceneitem_t *item)
obs_source_frame2::linesize
uint32_t linesize[MAX_AV_PLANES]
Definition: obs.h:249
obs_source_get_weak_source
EXPORT obs_weak_source_t * obs_source_get_weak_source(obs_source_t *source)
obs_transition_video_render
EXPORT void obs_transition_video_render(obs_source_t *transition, obs_transition_video_render_callback_t callback)
OBS_BOUNDS_MAX_ONLY
@ OBS_BOUNDS_MAX_ONLY
Definition: obs.h:135
obs_output_get_active_delay
EXPORT uint32_t obs_output_get_active_delay(const obs_output_t *output)
obs_startup
EXPORT bool obs_startup(const char *locale, const char *module_config_path, profiler_name_store_t *store)
obs_source_async_decoupled
EXPORT bool obs_source_async_decoupled(const 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_signal_handler
EXPORT signal_handler_t * obs_source_get_signal_handler(const obs_source_t *source)
obs-audio-controls.h
header for audio controls
OBS_EFFECT_OPAQUE
@ OBS_EFFECT_OPAQUE
Definition: obs.h:622
obs_output_can_pause
EXPORT bool obs_output_can_pause(const obs_output_t *output)
OBS_SCENE_DUP_COPY
@ OBS_SCENE_DUP_COPY
Definition: obs.h:1462
obs_output_paused
EXPORT bool obs_output_paused(const obs_output_t *output)
obs_enum_modules
EXPORT void obs_enum_modules(obs_enum_module_callback_t callback, void *param)
obs_transition_get_scale_type
EXPORT enum obs_transition_scale_type obs_transition_get_scale_type(const obs_source_t *transition)
obs_get_module_name
EXPORT const char * obs_get_module_name(obs_module_t *module)
obs_source_preload_video2
EXPORT void obs_source_preload_video2(obs_source_t *source, const struct obs_source_frame2 *frame)
obs_enum_service_types
EXPORT bool obs_enum_service_types(size_t idx, const char **id)
obs_transition_clear
EXPORT void obs_transition_clear(obs_source_t *transition)
obs_load_sources
EXPORT void obs_load_sources(obs_data_array_t *array, obs_load_source_cb cb, void *private_data)
obs_get_encoder_properties
EXPORT obs_properties_t * obs_get_encoder_properties(const char *id)
obs_output_pause
EXPORT bool obs_output_pause(obs_output_t *output, bool pause)
obs_source_get_settings
EXPORT obs_data_t * obs_source_get_settings(const obs_source_t *source)
obs_sceneitem_set_crop
EXPORT void obs_sceneitem_set_crop(obs_sceneitem_t *item, const struct obs_sceneitem_crop *crop)
obs_encoder_paused
EXPORT bool obs_encoder_paused(const obs_encoder_t *output)
obs_audio_info::samples_per_sec
uint32_t samples_per_sec
Definition: obs.h:186
lookup_t
struct text_lookup lookup_t
Definition: text-lookup.h:35
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)
obs_source_frame2::format
enum video_format format
Definition: obs.h:254
obs_output_reconnecting
EXPORT bool obs_output_reconnecting(const obs_output_t *output)
obs_source_enum_proc_t
void(* obs_source_enum_proc_t)(obs_source_t *parent, obs_source_t *child, void *param)
Definition: obs-source.h:191
obs_source_audio
Definition: obs.h:204
obs_get_locale
EXPORT const char * obs_get_locale(void)
obs_video_info::output_height
uint32_t output_height
Definition: obs.h:167
obs_source_get_name
EXPORT const char * obs_source_get_name(const obs_source_t *source)
obs_sceneitem_defer_group_resize_begin
EXPORT void obs_sceneitem_defer_group_resize_begin(obs_sceneitem_t *item)
obs_save_source
EXPORT obs_data_t * obs_save_source(obs_source_t *source)
obs_output_properties
EXPORT obs_properties_t * obs_output_properties(const obs_output_t *output)
obs_output_get_mixer
EXPORT size_t obs_output_get_mixer(const obs_output_t *output)
obs_source_get_audio_timestamp
EXPORT uint64_t obs_source_get_audio_timestamp(const obs_source_t *source)
obs_output_set_media
EXPORT void obs_output_set_media(obs_output_t *output, video_t *video, audio_t *audio)
obs_get_video
EXPORT video_t * obs_get_video(void)
obs_get_audio
EXPORT audio_t * obs_get_audio(void)
obs_sceneitem_defer_group_resize_end
EXPORT void obs_sceneitem_defer_group_resize_end(obs_sceneitem_t *item)
obs_weak_output_get_output
EXPORT obs_output_t * obs_weak_output_get_output(obs_weak_output_t *weak)
obs_load_source
EXPORT obs_source_t * obs_load_source(obs_data_t *data)
obs_source_media_stop
EXPORT void obs_source_media_stop(obs_source_t *source)
obs_view_set_source
EXPORT void obs_view_set_source(obs_view_t *view, uint32_t channel, obs_source_t *source)
obs_source_set_monitoring_type
EXPORT void obs_source_set_monitoring_type(obs_source_t *source, enum obs_monitoring_type type)
obs_source_frame::timestamp
uint64_t timestamp
Definition: obs.h:233
profiler_name_store_t
struct profiler_name_store profiler_name_store_t
Definition: profiler.h:39
obs_get_encoder_codec
EXPORT const char * obs_get_encoder_codec(const char *id)
obs_weak_output
Definition: obs-internal.h:863
obs_source_filter_remove
EXPORT void obs_source_filter_remove(obs_source_t *source, obs_source_t *filter)
obs_output_set_preferred_size
EXPORT void obs_output_set_preferred_size(obs_output_t *output, uint32_t width, uint32_t height)
obs_service
Definition: obs-internal.h:1118
obs_source_frame::color_matrix
float color_matrix[16]
Definition: obs.h:236
OBS_OBJ_TYPE_SERVICE
@ OBS_OBJ_TYPE_SERVICE
Definition: obs.h:699
obs_encoder_get_type
EXPORT enum obs_encoder_type obs_encoder_get_type(const obs_encoder_t *encoder)
obs_save_sources
EXPORT obs_data_array_t * obs_save_sources(void)
obs_encoder_get_name
EXPORT const char * obs_encoder_get_name(const obs_encoder_t *encoder)
obs_source_enabled
EXPORT bool obs_source_enabled(const obs_source_t *source)
obs_transition_set_manual_time
EXPORT void obs_transition_set_manual_time(obs_source_t *transition, float t)
OBS_EFFECT_BICUBIC
@ OBS_EFFECT_BICUBIC
Definition: obs.h:624
vec3
Definition: vec3.h:34
obs_get_default_rect_effect
OBS_DEPRECATED EXPORT gs_effect_t * obs_get_default_rect_effect(void)
speaker_layout
speaker_layout
Definition: audio-io.h:67
obs_sceneitem_set_scale
EXPORT void obs_sceneitem_set_scale(obs_sceneitem_t *item, const struct vec2 *scale)
obs_output_get_total_bytes
EXPORT uint64_t obs_output_get_total_bytes(const obs_output_t *output)
obs_source_get_base_width
EXPORT uint32_t obs_source_get_base_width(obs_source_t *source)
obs_audio_data
Definition: obs.h:194
obs_initialized
EXPORT bool obs_initialized(void)
obs_sceneitem_locked
EXPORT bool obs_sceneitem_locked(const obs_sceneitem_t *item)
obs_weak_source
Definition: obs-internal.h:558
obs_output_get_last_error
EXPORT const char * obs_output_get_last_error(obs_output_t *output)
obs_encoder_get_width
EXPORT uint32_t obs_encoder_get_width(const obs_encoder_t *encoder)
OBS_EFFECT_PREMULTIPLIED_ALPHA
@ OBS_EFFECT_PREMULTIPLIED_ALPHA
Definition: obs.h:627
obs_remove_tick_callback
EXPORT void obs_remove_tick_callback(void(*tick)(void *param, float seconds), void *param)
OBS_SCALE_DISABLE
@ OBS_SCALE_DISABLE
Definition: obs.h:115
OBS_OBJ_TYPE_INVALID
@ OBS_OBJ_TYPE_INVALID
Definition: obs.h:695
obs_source_set_audio_active
EXPORT void obs_source_set_audio_active(obs_source_t *source, bool show)
obs_scene_find_source
EXPORT obs_sceneitem_t * obs_scene_find_source(obs_scene_t *scene, const char *name)
obs_output_get_flags
EXPORT uint32_t obs_output_get_flags(const obs_output_t *output)
obs_source_output_audio
EXPORT void obs_source_output_audio(obs_source_t *source, const struct obs_source_audio *audio)
signal.h
OBS_NO_DIRECT_RENDERING
@ OBS_NO_DIRECT_RENDERING
Definition: obs.h:110
obs_transform_info::bounds_type
enum obs_bounds_type bounds_type
Definition: obs.h:144
obs_source_set_async_unbuffered
EXPORT void obs_source_set_async_unbuffered(obs_source_t *source, bool unbuffered)
obs_source_save
EXPORT void obs_source_save(obs_source_t *source)
obs_source_set_deinterlace_mode
EXPORT void obs_source_set_deinterlace_mode(obs_source_t *source, enum obs_deinterlace_mode mode)
obs_source_configurable
EXPORT bool obs_source_configurable(const obs_source_t *source)
obs_log_loaded_modules
EXPORT void obs_log_loaded_modules(void)
obs_view_destroy
EXPORT void obs_view_destroy(obs_view_t *view)
obs_video_info::output_format
enum video_format output_format
Definition: obs.h:168
vec2
Definition: vec2.h:27
obs_service_get_key
EXPORT const char * obs_service_get_key(const obs_service_t *service)
obs_source_properties
EXPORT obs_properties_t * obs_source_properties(const obs_source_t *source)
obs_transition_swap_end
EXPORT void obs_transition_swap_end(obs_source_t *tr_dest, obs_source_t *tr_source)
obs_get_module_description
EXPORT const char * obs_get_module_description(obs_module_t *module)
obs_source_get_last_obs_version
EXPORT uint32_t obs_source_get_last_obs_version(const obs_source_t *source)
obs_remove_data_path
EXPORT bool obs_remove_data_path(const char *path)
obs_nv12_tex_active
EXPORT bool obs_nv12_tex_active(void)
obs_output_get_id
EXPORT const char * obs_output_get_id(const obs_output_t *output)
obs_sceneitem_set_locked
EXPORT bool obs_sceneitem_set_locked(obs_sceneitem_t *item, bool lock)
obs_video_info::graphics_module
const char * graphics_module
Definition: obs.h:157
obs_get_service_properties
EXPORT obs_properties_t * obs_get_service_properties(const char *id)
obs_sceneitem_set_bounds_alignment
EXPORT void obs_sceneitem_set_bounds_alignment(obs_sceneitem_t *item, uint32_t alignment)
obs_scene_duplicate_type
obs_scene_duplicate_type
Definition: obs.h:1460
obs_scene_enum_items
EXPORT void obs_scene_enum_items(obs_scene_t *scene, bool(*callback)(obs_scene_t *, obs_sceneitem_t *, void *), void *param)
obs_task_handler_t
void(* obs_task_handler_t)(obs_task_t task, void *param, bool wait)
Definition: obs.h:758
OBS_BOUNDS_STRETCH
@ OBS_BOUNDS_STRETCH
Definition: obs.h:130
obs_properties_t
struct obs_properties obs_properties_t
Definition: obs-properties.h:110
obs_encoder_release
EXPORT void obs_encoder_release(obs_encoder_t *encoder)
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)
obs_transition_get_source
EXPORT obs_source_t * obs_transition_get_source(obs_source_t *transition, enum obs_transition_target target)
obs_get_encoder_caps
EXPORT uint32_t obs_get_encoder_caps(const char *encoder_id)
obs_source_audio_mix
Definition: obs-source.h:194
OBS_SCENE_DUP_REFS
@ OBS_SCENE_DUP_REFS
Definition: obs.h:1461
obs_fader_t
struct obs_fader obs_fader_t
Definition: obs.h:63
obs_output_set_reconnect_settings
EXPORT void obs_output_set_reconnect_settings(obs_output_t *output, int retry_count, int retry_sec)
obs_display_size
EXPORT void obs_display_size(obs_display_t *display, uint32_t *width, uint32_t *height)
obs_encoder_type
obs_encoder_type
Definition: obs-encoder.h:38
OBS_DEINTERLACE_MODE_YADIF_2X
@ OBS_DEINTERLACE_MODE_YADIF_2X
Definition: obs.h:1116
obs_transform_info::alignment
uint32_t alignment
Definition: obs.h:142
obs_load_all_modules
EXPORT void obs_load_all_modules(void)
bmem.h
obs_source_add_active_child
EXPORT bool obs_source_add_active_child(obs_source_t *parent, obs_source_t *child)
OBS_DEINTERLACE_MODE_RETRO
@ OBS_DEINTERLACE_MODE_RETRO
Definition: obs.h:1110
obs_encoder_create_rerouted
EXPORT void * obs_encoder_create_rerouted(obs_encoder_t *encoder, const char *reroute_id)
obs_enum_input_types
EXPORT bool obs_enum_input_types(size_t idx, const char **id)
obs_source_filter_add
EXPORT void obs_source_filter_add(obs_source_t *source, obs_source_t *filter)
obs_source_media_get_time
EXPORT int64_t obs_source_media_get_time(obs_source_t *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_audio_mixers
EXPORT void obs_source_set_audio_mixers(obs_source_t *source, uint32_t mixers)
obs_source_load
EXPORT void obs_source_load(obs_source_t *source)
obs_output_video
EXPORT video_t * obs_output_video(const obs_output_t *output)
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_sceneitem_crop::bottom
int bottom
Definition: obs.h:1592
obs_source_get_sync_offset
EXPORT int64_t obs_source_get_sync_offset(const obs_source_t *source)
obs_enum_outputs
EXPORT void obs_enum_outputs(bool(*enum_proc)(void *, obs_output_t *), void *param)
obs_output_set_delay
EXPORT void obs_output_set_delay(obs_output_t *output, uint32_t delay_sec, uint32_t flags)
obs_service_get_type
EXPORT const char * obs_service_get_type(const obs_service_t *service)
obs_get_lagged_frames
EXPORT uint32_t obs_get_lagged_frames(void)
obs_encoder_get_id
EXPORT const char * obs_encoder_get_id(const obs_encoder_t *encoder)
obs_source_frame2::color_range_max
float color_range_max[3]
Definition: obs.h:258
audio-io.h
obs_encoder_set_preferred_video_format
EXPORT void obs_encoder_set_preferred_video_format(obs_encoder_t *encoder, enum video_format format)
obs_display_enabled
EXPORT bool obs_display_enabled(obs_display_t *display)
obs_output_set_last_error
EXPORT void obs_output_set_last_error(obs_output_t *output, const char *message)
obs_encoder_get_type_data
EXPORT void * obs_encoder_get_type_data(obs_encoder_t *encoder)
obs_set_locale
EXPORT void obs_set_locale(const char *locale)
obs_weak_output_references_output
EXPORT bool obs_weak_output_references_output(obs_weak_output_t *weak, obs_output_t *output)
obs_scene_is_group
EXPORT bool obs_scene_is_group(const obs_scene_t *scene)
obs_sceneitem_get_box_transform
EXPORT void obs_sceneitem_get_box_transform(const obs_sceneitem_t *item, struct matrix4 *transform)
obs_sceneitem_group_add_item
EXPORT void obs_sceneitem_group_add_item(obs_sceneitem_t *group, obs_sceneitem_t *item)
obs_scene_release
EXPORT void obs_scene_release(obs_scene_t *scene)
obs_encoder_addref
EXPORT void obs_encoder_addref(obs_encoder_t *encoder)
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)
OBS_BOUNDS_SCALE_TO_HEIGHT
@ OBS_BOUNDS_SCALE_TO_HEIGHT
Definition: obs.h:134
OBS_BOUNDS_SCALE_INNER
@ OBS_BOUNDS_SCALE_INNER
Definition: obs.h:131
obs_sceneitem_crop::left
int left
Definition: obs.h:1589
obs_source_push_to_talk_enabled
EXPORT bool obs_source_push_to_talk_enabled(obs_source_t *source)
proc_handler_t
struct proc_handler proc_handler_t
Definition: proc.h:36
obs_output_get_delay
EXPORT uint32_t obs_output_get_delay(const obs_output_t *output)
obs_output_get_ref
EXPORT obs_output_t * obs_output_get_ref(obs_output_t *output)
obs_sceneitem_order_info::group
obs_sceneitem_t * group
Definition: obs.h:1503
obs_source_audio::timestamp
uint64_t timestamp
Definition: obs.h:212
obs_output_get_proc_handler
EXPORT proc_handler_t * obs_output_get_proc_handler(const obs_output_t *output)
obs_source_addref
EXPORT void obs_source_addref(obs_source_t *source)
proc.h
encoder_packet
Definition: obs-encoder.h:44
obs_cmdline_args::argv
char ** argv
Definition: obs.h:265
obs_load_source_cb
void(* obs_load_source_cb)(void *private_data, obs_source_t *source)
Definition: obs.h:681
obs_find_module_callback_t
void(* obs_find_module_callback_t)(void *param, const struct obs_module_info *info)
Definition: obs.h:467
obs_service_update
EXPORT void obs_service_update(obs_service_t *service, obs_data_t *settings)
obs_obj_invalid
EXPORT bool obs_obj_invalid(void *obj)
obs_sceneitem_crop::right
int right
Definition: obs.h:1591
OBS_TRANSITION_SCALE_MAX_ONLY
@ OBS_TRANSITION_SCALE_MAX_ONLY
Definition: obs.h:1383
obs_add_module_path
EXPORT void obs_add_module_path(const char *bin, const char *data)
obs_encoder_get_defaults
EXPORT obs_data_t * obs_encoder_get_defaults(const obs_encoder_t *encoder)
video_range_type
video_range_type
Definition: video-io.h:80
OBS_DEINTERLACE_MODE_YADIF
@ OBS_DEINTERLACE_MODE_YADIF
Definition: obs.h:1115
obs_sceneitem_get_info
EXPORT void obs_sceneitem_get_info(const obs_sceneitem_t *item, struct obs_transform_info *info)
obs_data_array_t
struct obs_data_array obs_data_array_t
Definition: obs-data.h:44
obs_sceneitem_get_group
EXPORT obs_sceneitem_t * obs_sceneitem_get_group(obs_scene_t *scene, obs_sceneitem_t *item)
obs_source_media_started
EXPORT void obs_source_media_started(obs_source_t *source)
obs_weak_source_addref
EXPORT void obs_weak_source_addref(obs_weak_source_t *weak)
obs_get_module_binary_path
EXPORT const char * obs_get_module_binary_path(obs_module_t *module)
OBS_ORDER_MOVE_DOWN
@ OBS_ORDER_MOVE_DOWN
Definition: obs.h:99
obs_output
Definition: obs-internal.h:889
obs_output_set_video_conversion
EXPORT void obs_output_set_video_conversion(obs_output_t *output, const struct video_scale_info *conversion)
obs_post_load_modules
EXPORT void obs_post_load_modules(void)
obs_source_get_unversioned_id
EXPORT const char * obs_source_get_unversioned_id(const obs_source_t *source)
obs_source_get_base_height
EXPORT uint32_t obs_source_get_base_height(obs_source_t *source)
obs_encoder_set_last_error
EXPORT void obs_encoder_set_last_error(obs_encoder_t *encoder, const char *message)
obs_output_set_mixer
EXPORT void obs_output_set_mixer(obs_output_t *output, size_t mixer_idx)
obs_transition_get_size
EXPORT void obs_transition_get_size(const obs_source_t *transition, uint32_t *cx, uint32_t *cy)
obs_get_master_volume
EXPORT float obs_get_master_volume(void)
obs_encoder_set_video
EXPORT void obs_encoder_set_video(obs_encoder_t *encoder, video_t *video)
obs_service_get_settings
EXPORT obs_data_t * obs_service_get_settings(const obs_service_t *service)
obs_source_media_get_state
EXPORT enum obs_media_state obs_source_media_get_state(obs_source_t *source)
obs_output_get_supported_audio_codecs
EXPORT const char * obs_output_get_supported_audio_codecs(const obs_output_t *output)
obs_output_set_video_encoder
EXPORT void obs_output_set_video_encoder(obs_output_t *output, obs_encoder_t *encoder)
obs_source_frame::prev_frame
bool prev_frame
Definition: obs.h:244
obs_task_type
obs_task_type
Definition: obs.h:750
obs_sceneitem_is_group
EXPORT bool obs_sceneitem_is_group(obs_sceneitem_t *item)
obs_weak_source_release
EXPORT void obs_weak_source_release(obs_weak_source_t *weak)
obs-config.h
obs_allow_direct_render
obs_allow_direct_render
Definition: obs.h:109
obs_weak_source_references_source
EXPORT bool obs_weak_source_references_source(obs_weak_source_t *weak, obs_source_t *source)
obs_service_get_output_type
EXPORT const char * obs_service_get_output_type(const obs_service_t *service)
OBS_TRANSITION_SCALE_STRETCH
@ OBS_TRANSITION_SCALE_STRETCH
Definition: obs.h:1385
obs_video_info::fps_num
uint32_t fps_num
Definition: obs.h:160
obs_transition_set_alignment
EXPORT void obs_transition_set_alignment(obs_source_t *transition, uint32_t alignment)
obs_output_begin_data_capture
EXPORT bool obs_output_begin_data_capture(obs_output_t *output, uint32_t flags)
obs_enum_services
EXPORT void obs_enum_services(bool(*enum_proc)(void *, obs_service_t *), void *param)
obs_enum_filter_types
EXPORT bool obs_enum_filter_types(size_t idx, const char **id)
obs_output_get_supported_video_codecs
EXPORT const char * obs_output_get_supported_video_codecs(const obs_output_t *output)
obs_source_frame::linesize
uint32_t linesize[MAX_AV_PLANES]
Definition: obs.h:230
obs_encoder
Definition: obs-internal.h:1017
video_data
Definition: video-io.h:86
obs_source_update_properties
EXPORT void obs_source_update_properties(obs_source_t *source)
OBS_SCALE_BICUBIC
@ OBS_SCALE_BICUBIC
Definition: obs.h:117
obs_module_info::data_path
const char * data_path
Definition: obs.h:464
obs_get_module_file_name
EXPORT const char * obs_get_module_file_name(obs_module_t *module)
obs_source_set_flags
EXPORT void obs_source_set_flags(obs_source_t *source, uint32_t flags)
obs_display_add_draw_callback
EXPORT void obs_display_add_draw_callback(obs_display_t *display, void(*draw)(void *param, uint32_t cx, uint32_t cy), void *param)
OBS_EFFECT_AREA
@ OBS_EFFECT_AREA
Definition: obs.h:629
obs_get_source_by_name
EXPORT obs_source_t * obs_get_source_by_name(const char *name)
OBS_SCENE_DUP_PRIVATE_COPY
@ OBS_SCENE_DUP_PRIVATE_COPY
Definition: obs.h:1464
OBS_ORDER_MOVE_UP
@ OBS_ORDER_MOVE_UP
Definition: obs.h:98
obs_output_get_connect_time_ms
EXPORT int obs_output_get_connect_time_ms(obs_output_t *output)
obs_service_get_type_data
EXPORT void * obs_service_get_type_data(obs_service_t *service)
obs_key_event
Definition: obs-interaction.h:50
obs_output_release
EXPORT void obs_output_release(obs_output_t *output)
obs_sceneitem_get_pos
EXPORT void obs_sceneitem_get_pos(const obs_sceneitem_t *item, struct vec2 *pos)
obs_source_get_push_to_mute_delay
EXPORT uint64_t obs_source_get_push_to_mute_delay(obs_source_t *source)
obs_encoder_get_codec
EXPORT const char * obs_encoder_get_codec(const obs_encoder_t *encoder)
obs_source_get_deinterlace_field_order
EXPORT enum obs_deinterlace_field_order obs_source_get_deinterlace_field_order(const obs_source_t *source)
obs_weak_output_release
EXPORT void obs_weak_output_release(obs_weak_output_t *weak)
obs_source_enable_push_to_talk
EXPORT void obs_source_enable_push_to_talk(obs_source_t *source, bool enabled)
video_format
video_format
Definition: video-io.h:33
obs_output_get_display_name
EXPORT const char * obs_output_get_display_name(const char *id)
obs_base_effect
obs_base_effect
Definition: obs.h:619
OBS_EFFECT_REPEAT
@ OBS_EFFECT_REPEAT
Definition: obs.h:628
obs_source_showing
EXPORT bool obs_source_showing(const obs_source_t *source)
audio_format
audio_format
Definition: audio-io.h:44
obs_sceneitem_get_scale_filter
EXPORT enum obs_scale_type obs_sceneitem_get_scale_filter(obs_sceneitem_t *item)
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_get_private_data
EXPORT obs_data_t * obs_get_private_data(void)
OBS_DEINTERLACE_FIELD_ORDER_TOP
@ OBS_DEINTERLACE_FIELD_ORDER_TOP
Definition: obs.h:1120
obs_source_release
EXPORT void obs_source_release(obs_source_t *source)
obs_find_modules
EXPORT void obs_find_modules(obs_find_module_callback_t callback, void *param)
obs_service_get_ref
EXPORT obs_service_t * obs_service_get_ref(obs_service_t *service)
obs_open_module
EXPORT int obs_open_module(obs_module_t **module, const char *path, const char *data_path)
audio_t
struct audio_output audio_t
Definition: audio-io.h:42
obs_get_latest_input_type_id
EXPORT const char * obs_get_latest_input_type_id(const char *unversioned_id)
obs_encoder_get_settings
EXPORT obs_data_t * obs_encoder_get_settings(const obs_encoder_t *encoder)
obs_source_remove
EXPORT void obs_source_remove(obs_source_t *source)
obs_reset_audio
EXPORT bool obs_reset_audio(const struct obs_audio_info *oai)
obs_source_audio::format
enum audio_format format
Definition: obs.h:209
obs_get_proc_handler
EXPORT proc_handler_t * obs_get_proc_handler(void)
video_t
struct video_output video_t
Definition: video-io.h:31
obs_source_draw
EXPORT void obs_source_draw(gs_texture_t *image, int x, int y, uint32_t cx, uint32_t cy, bool flip)
obs_enum_sources
EXPORT void obs_enum_sources(bool(*enum_proc)(void *, obs_source_t *), void *param)
obs_output_update
EXPORT void obs_output_update(obs_output_t *output, obs_data_t *settings)
obs_group_from_source
EXPORT obs_scene_t * obs_group_from_source(const obs_source_t *source)
obs_get_output_flags
EXPORT uint32_t obs_get_output_flags(const char *id)
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_encoder_properties
EXPORT obs_properties_t * obs_encoder_properties(const obs_encoder_t *encoder)
obs_get_source_defaults
EXPORT obs_data_t * obs_get_source_defaults(const char *id)
obs_view_render
EXPORT void obs_view_render(obs_view_t *view)
obs_enum_module_callback_t
void(* obs_enum_module_callback_t)(void *param, obs_module_t *module)
Definition: obs.h:474
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)
MAX_AV_PLANES
#define MAX_AV_PLANES
Definition: media-io-defs.h:20
obs-output.h
obs_enter_graphics
EXPORT void obs_enter_graphics(void)
obs_init_module
EXPORT bool obs_init_module(obs_module_t *module)
obs_sceneitem_select
EXPORT void obs_sceneitem_select(obs_sceneitem_t *item, bool select)
obs_video_info::adapter
uint32_t adapter
Definition: obs.h:171
obs_output_set_audio_encoder
EXPORT void obs_output_set_audio_encoder(obs_output_t *output, obs_encoder_t *encoder, size_t idx)
OBS_ORDER_MOVE_TOP
@ OBS_ORDER_MOVE_TOP
Definition: obs.h:100
obs_sceneitem_get_box_scale
EXPORT void obs_sceneitem_get_box_scale(const obs_sceneitem_t *item, struct vec2 *scale)
obs_source_get_audio_mixers
EXPORT uint32_t obs_source_get_audio_mixers(const obs_source_t *source)
obs_get_module_data_path
EXPORT const char * obs_get_module_data_path(obs_module_t *module)
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)
obs_get_signal_handler
EXPORT signal_handler_t * obs_get_signal_handler(void)
obs_output_get_congestion
EXPORT float obs_output_get_congestion(obs_output_t *output)
bounds
Definition: bounds.h:39
obs-hotkey.h
obs_service_defaults
EXPORT obs_data_t * obs_service_defaults(const char *id)
obs_source_audio::frames
uint32_t frames
Definition: obs.h:206
video_scale_info
Definition: video-io.h:213
obs_get_audio_info
EXPORT bool obs_get_audio_info(struct obs_audio_info *oai)
obs_source_audio::data
const uint8_t * data[MAX_AV_PLANES]
Definition: obs.h:205
obs_transition_set_size
EXPORT void obs_transition_set_size(obs_source_t *transition, uint32_t cx, uint32_t cy)
OBS_EFFECT_BILINEAR_LOWRES
@ OBS_EFFECT_BILINEAR_LOWRES
Definition: obs.h:626
obs_enum_input_types2
EXPORT bool obs_enum_input_types2(size_t idx, const char **id, const char **unversioned_id)
obs_source_frame2::flip
bool flip
Definition: obs.h:259
obs_source_get_width
EXPORT uint32_t obs_source_get_width(obs_source_t *source)
obs_transition_video_render_callback_t
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)
Definition: obs.h:1412
obs_source_get_volume
EXPORT float obs_source_get_volume(const obs_source_t *source)
obs_source_show_preloaded_video
EXPORT void obs_source_show_preloaded_video(obs_source_t *source)
obs_output_set_mixers
EXPORT void obs_output_set_mixers(obs_output_t *output, size_t mixers)
obs_get_video_frame_time
EXPORT uint64_t obs_get_video_frame_time(void)
OBS_DEPRECATED
#define OBS_DEPRECATED
Definition: c99defs.h:30
obs_scene_add_group
EXPORT obs_sceneitem_t * obs_scene_add_group(obs_scene_t *scene, const char *name)
OBS_EFFECT_DEFAULT
@ OBS_EFFECT_DEFAULT
Definition: obs.h:620
obs_encoder_get_height
EXPORT uint32_t obs_encoder_get_height(const obs_encoder_t *encoder)
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)
obs_weak_encoder
Definition: obs-internal.h:1006
obs_scene_create
EXPORT obs_scene_t * obs_scene_create(const char *name)
obs_display_destroy
EXPORT void obs_display_destroy(obs_display_t *display)
obs_sceneitem_get_private_settings
EXPORT obs_data_t * obs_sceneitem_get_private_settings(obs_sceneitem_t *item)
obs_sceneitem_crop
Definition: obs.h:1588
obs_video_info::output_width
uint32_t output_width
Definition: obs.h:166
obs_service_get_weak_service
EXPORT obs_weak_service_t * obs_service_get_weak_service(obs_service_t *service)
obs_source_media_ended
EXPORT void obs_source_media_ended(obs_source_t *source)
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)
OBS_TASK_GRAPHICS
@ OBS_TASK_GRAPHICS
Definition: obs.h:752
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)
obs_source_remove_active_child
EXPORT void obs_source_remove_active_child(obs_source_t *parent, obs_source_t *child)
obs-service.h
header for modules implementing services.
obs_transition_scale_type
obs_transition_scale_type
Definition: obs.h:1382
obs_output_initialize_encoders
EXPORT bool obs_output_initialize_encoders(obs_output_t *output, uint32_t flags)
obs_service_get_password
EXPORT const char * obs_service_get_password(const obs_service_t *service)
obs_service_get_display_name
EXPORT const char * obs_service_get_display_name(const char *id)
obs_encoder_scaling_enabled
EXPORT bool obs_encoder_scaling_enabled(const obs_encoder_t *encoder)
obs_output_get_weak_output
EXPORT obs_weak_output_t * obs_output_get_weak_output(obs_output_t *output)
obs_sceneitem_set_bounds_type
EXPORT void obs_sceneitem_set_bounds_type(obs_sceneitem_t *item, enum obs_bounds_type type)
OBS_DEINTERLACE_MODE_LINEAR
@ OBS_DEINTERLACE_MODE_LINEAR
Definition: obs.h:1113
obs_source_audio_active
EXPORT bool obs_source_audio_active(const obs_source_t *source)
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_reorder_items
EXPORT bool obs_scene_reorder_items(obs_scene_t *scene, obs_sceneitem_t *const *item_order, size_t item_order_size)
obs_obj_get_data
EXPORT void * obs_obj_get_data(void *obj)
obs_shutdown
EXPORT void obs_shutdown(void)
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)
obs_source_copy_filters
EXPORT void obs_source_copy_filters(obs_source_t *dst, obs_source_t *src)
obs_sceneitem_get_bounds_alignment
EXPORT uint32_t obs_sceneitem_get_bounds_alignment(const obs_sceneitem_t *item)
obs_source_media_previous
EXPORT void obs_source_media_previous(obs_source_t *source)
obs_is_source_configurable
EXPORT bool obs_is_source_configurable(const char *id)
obs_encoder_get_caps
EXPORT uint32_t obs_encoder_get_caps(const obs_encoder_t *encoder)
obs_transform_info::pos
struct vec2 pos
Definition: obs.h:139
obs_source_enum_filters
EXPORT void obs_source_enum_filters(obs_source_t *source, obs_source_enum_proc_t callback, void *param)
obs_source_audio_capture_t
void(* obs_source_audio_capture_t)(void *param, obs_source_t *source, const struct audio_data *audio_data, bool muted)
Definition: obs.h:1098
obs_duplicate_encoder_packet
OBS_DEPRECATED EXPORT void obs_duplicate_encoder_packet(struct encoder_packet *dst, const struct encoder_packet *src)
obs_output_get_signal_handler
EXPORT signal_handler_t * obs_output_get_signal_handler(const obs_output_t *output)
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_get_cmdline_args
EXPORT struct obs_cmdline_args obs_get_cmdline_args(void)
obs_video_info::range
enum video_range_type range
Definition: obs.h:177
obs_media_state
obs_media_state
Definition: obs-source.h:63
obs_weak_service
Definition: obs-internal.h:1113
obs_transition_video_render_direct
EXPORT bool obs_transition_video_render_direct(obs_source_t *transition, enum obs_transition_target target)
obs_transition_get_time
EXPORT float obs_transition_get_time(obs_source_t *transition)
obs_video_active
EXPORT bool obs_video_active(void)
obs_module_info
Definition: obs.h:462
obs_get_version
EXPORT uint32_t obs_get_version(void)
obs_get_average_frame_time_ns
EXPORT uint64_t obs_get_average_frame_time_ns(void)
OBS_SCALE_LANCZOS
@ OBS_SCALE_LANCZOS
Definition: obs.h:119
obs_source_get_type_data
EXPORT void * obs_source_get_type_data(obs_source_t *source)
obs_get_profiler_name_store
EXPORT profiler_name_store_t * obs_get_profiler_name_store(void)
obs_source_video_render
EXPORT void obs_source_video_render(obs_source_t *source)
obs_encoder_get_preferred_video_format
EXPORT enum video_format obs_encoder_get_preferred_video_format(const obs_encoder_t *encoder)
obs_save_sources_filtered
EXPORT obs_data_array_t * obs_save_sources_filtered(obs_save_source_filter_cb cb, void *data)
obs_enum_scenes
EXPORT void obs_enum_scenes(bool(*enum_proc)(void *, obs_source_t *), void *param)
obs_source_frame_copy
EXPORT void obs_source_frame_copy(struct obs_source_frame *dst, const struct obs_source_frame *src)
obs_source_create_private
EXPORT obs_source_t * obs_source_create_private(const char *id, const char *name, obs_data_t *settings)
obs_save_source_filter_cb
bool(* obs_save_source_filter_cb)(void *data, obs_source_t *source)
Definition: obs.h:690
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)
obs_icon_type
obs_icon_type
Definition: obs-source.h:46
obs_source_get_id
EXPORT const char * obs_source_get_id(const obs_source_t *source)
OBS_TRANSITION_SOURCE_B
@ OBS_TRANSITION_SOURCE_B
Definition: obs.h:1357
obs_source_frame2::color_range_min
float color_range_min[3]
Definition: obs.h:257
obs_service_release
EXPORT void obs_service_release(obs_service_t *service)
obs_encoder_audio
EXPORT audio_t * obs_encoder_audio(const obs_encoder_t *encoder)
obs_weak_service_references_service
EXPORT bool obs_weak_service_references_service(obs_weak_service_t *weak, obs_service_t *service)
obs-ui.h
obs_sceneitem_set_bounds
EXPORT void obs_sceneitem_set_bounds(obs_sceneitem_t *item, const struct vec2 *bounds)
obs_apply_private_data
EXPORT void obs_apply_private_data(obs_data_t *settings)
obs_source_get_icon_type
EXPORT enum obs_icon_type obs_source_get_icon_type(const char *id)
obs_transition_enable_fixed
EXPORT void obs_transition_enable_fixed(obs_source_t *transition, bool enable, uint32_t duration_ms)
obs_video_info::base_width
uint32_t base_width
Definition: obs.h:163
obs_module_load_locale
EXPORT lookup_t * obs_module_load_locale(obs_module_t *module, const char *default_locale, const char *locale)
obs_scene_create_private
EXPORT obs_scene_t * obs_scene_create_private(const char *name)
obs_free_encoder_packet
OBS_DEPRECATED EXPORT void obs_free_encoder_packet(struct encoder_packet *packet)
obs_output_set_audio_conversion
EXPORT void obs_output_set_audio_conversion(obs_output_t *output, const struct audio_convert_info *conversion)
obs_source_audio_pending
EXPORT bool obs_source_audio_pending(const obs_source_t *source)
obs_source_is_group
EXPORT bool obs_source_is_group(const obs_source_t *source)
obs_sceneitem_group_enum_items
EXPORT void obs_sceneitem_group_enum_items(obs_sceneitem_t *group, bool(*callback)(obs_scene_t *, obs_sceneitem_t *, void *), void *param)
obs_scene_atomic_update
EXPORT void obs_scene_atomic_update(obs_scene_t *scene, obs_scene_atomic_update_func func, void *data)
obs_service_addref
EXPORT void obs_service_addref(obs_service_t *service)
obs_encoder_packet_release
EXPORT void obs_encoder_packet_release(struct encoder_packet *packet)
obs_source_frame::height
uint32_t height
Definition: obs.h:232
obs_display_create
EXPORT obs_display_t * obs_display_create(const struct gs_init_data *graphics_data, uint32_t backround_color)
obs_get_source_properties
EXPORT obs_properties_t * obs_get_source_properties(const char *id)
obs_source_active
EXPORT bool obs_source_active(const obs_source_t *source)