0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 21:13:04 +02:00
Commit Graph

1643 Commits

Author SHA1 Message Date
jp9000
b8a3ae1b10 libobs: Add multi-track support to non-encoded outputs 2018-10-04 20:32:35 -07:00
Michael Fabian 'Xaymar' Dirks
e55579e63d libobs: Add obs_enum_scenes for enumerating scenes
Closes obsproject/obs-studio#1507
2018-10-01 10:24:42 -07:00
Steve Wills
2f51abf994 libobs: Add pkgconfig support
Based on:

http://dailycommit.blogspot.com/2016/10/how-to-generate-pkg-config-file-with.html
https://people.freedesktop.org/~dbn/pkg-config-guide.html

Should allow third party plugins to find and use libobs more easily.

Closes obsproject/obs-studio#1467
2018-09-24 14:25:41 -07:00
Luke Yelavich
5fe5027630 libobs: Truncate thread names on Linux
The pthread_setname_np manpage states:

The thread name is a meaningful C language string, whose length is
restricted to 16 characters, including the terminating null byte ('\0').
2018-09-21 08:44:30 +10:00
Jim
31561b3231
Merge pull request #1428 from pantherrui/master
fix heap corruption when video capture thread release the frame before it push into source->async_frames.
2018-09-17 05:19:58 -07:00
wangrui05
26d3f42b89 libobs: Fix heap corruption in obs_source_output_video 2018-09-17 18:46:47 +08:00
Marvin Scholz
649fa7651b libobs/audio-monitoring: Use libobs CFString utils 2018-09-16 22:41:01 +02:00
Marvin Scholz
31f143e449 libobs: Add CFString utils 2018-09-16 22:41:01 +02:00
jp9000
f1aa71bef1 libobs: Don't call width/height funcs if context invalid
Don't allow calling a source's custom get_width or get_height callbacks
unless the context is valid.  Fixes a bug where a null pointer could be
passed to those functions.
2018-09-13 06:54:58 -07:00
Jim
118dbf9e67
Merge pull request #1481 from Andersama/patch-26
libobs: Export image-file to c
2018-09-12 02:05:26 -07:00
Jim
e615dffce5
Merge pull request #1323 from Andersama/effect-annotation-parsing
libobs: Add HLSL annotation parsing
2018-09-12 01:16:21 -07:00
Alex Anderson
b30c843622
libobs: Export image-file to c
Wraps image-file.h in extern "C" like rest of libobs api.

Prevents unresolved external errors when using in c++.
2018-09-11 13:31:45 -07:00
cg2121
0ae8a7c0ac UI: Add ability to style preview background color 2018-09-10 04:55:15 -05:00
Alex Anderson
e0cd45be9b libobs: Add additional gs_effect_get_ functions
Adds api functions to extract gs_eparam_t values, including
gs_effect_get_val(), gs_effect_get_val_size(),
gs_effect_get_default_val() and gs_effect_get_default_val_size()
2018-09-08 05:22:12 -07:00
Alex Anderson
af67086912 libobs: Add HLSL annotation parsing
Gives the ability to retrieve param annotations. Blocks wrapped in <>
following a parameter.

For example:
float slider < float max_value = 10.0; float min_value = 0.0; >;

These blocks are not for shading purposes but to help describe the
shader's gui as in the example above.

Adds graphics api functions for retrieving annotations:
size_t gs_param_get_num_annotations(const gs_eparam_t *param);

gs_eparam_t *gs_param_get_annotation_by_idx(const gs_eparam_t *param,
		size_t annotation);

gs_eparam_t *gs_param_get_annotation_by_name(const gs_eparam_t *param,
		const char *name);
2018-09-08 05:22:12 -07:00
Jim
78d940e0f4
Merge pull request #1346 from dtcooper/master
libobs/UI: Allow Access To argc/argv
2018-09-08 01:29:43 -07:00
Jim
413e8e6a7b
Merge pull request #1442 from cg2121/stereo-audio-balancing
UI: Implement stereo balancing
2018-09-07 21:28:56 -07:00
jp9000
e8eec22d15 libobs/util: Fix undefined behavior and optimize util_mul64_64
Shifting an integer larger than its bit width can have undefined
behavior.  This not only fixes that issue, but also optimizes the
shift functions.
2018-09-07 17:28:15 -07:00
cg2121
a4a7deeed6 UI: Implement stereo balancing 2018-09-07 09:27:14 -05:00
Shaolin
226d4cadf5 libobs: Remove VLA in pulse monitoring backend 2018-09-03 17:39:49 -03:00
jp9000
928ccab231 libobs: Update version to 22.0.3 2018-09-02 15:35:29 -07:00
jp9000
bfa568b750 libobs: Update version to 22.0.2 2018-08-29 09:49:34 -07:00
jp9000
deba492a2d libobs: Blacklist old obs-browser version on macOS
On macOS, the older version of the browser plugin used to reside in a
different directory.  This would cause two versions of obs-browser to
load if you installed the new version of OBS over the old version of
OBS.  This fixes that bug with an slightly unsightly hack by
blacklisting that older module if it tries to load an obs-module that
resides in that specific older directory.
2018-08-27 19:36:39 -07:00
jp9000
df75feb74a libobs: Update version to 22.0.1 2018-08-20 09:06:34 -07:00
jp9000
d180f19a5f libobs: Update to version 22.0.0 2018-08-19 19:52:48 -07:00
jp9000
2647da568f libobs: Revert version update to 22.0.0 (instead, do RC2)
This reverts commit 3d4b277a60.

Reverting temporarily for the sake of completeness and confirming
testing results.
2018-08-18 04:56:42 -07:00
Ryan Foster
044aaee2e7 libobs: Fix typo in function names
Correct "regsiter" to "register" in a couple function names. These
functions are currently unused. Let's correct these names before they
start getting used.
2018-08-17 23:57:13 -04:00
jp9000
3d4b277a60 libobs: Update version to 22.0.0 2018-08-17 16:12:45 -07:00
jp9000
e6dd009386 libobs: Add function to force a sceneitem transform update
Useful when you need to modify transform properties of group sub-items
and have the transform available immediately (group sub-items always
automatically defer their transform update to the next frame).
2018-08-16 08:42:19 -07:00
jp9000
7afe99188e libobs: Fix applying group transform of flipped sources
Fixes a bug where sources that are flipped vertically and/or
horizontally would not maintain their flipped state.
2018-08-15 10:02:05 -07:00
jp9000
caceb62328 libobs: Initialize hotkey pair ID variable properly
The value of 0 can represent a valid hotkey ID, so make sure that when
we initialize a hotkey variable, that we use OBS_INVALID_HOTKEY_ID or
OBS_INVALID_HOTKEY_PAIR_ID and not 0.

This fixes a bug where scene item hotkey pair IDs would be initialized
to 0, and it would unregister valid unrelated hotkeys.  Particularly,
the start/stop streaming hotkey pair ID, which would commonly be the
first hotkey pair created, thus having the hotkey pair ID of 0.  The
start/streaming hotkey pair would unintentionally be unregistered via
code in obs-scene.c.
2018-08-14 13:06:05 -07:00
jp9000
e3c2202791 cmake: Add release candidate versions/cmake variables
Allows specifying a release candidate version, and outputs release
candidate version variables to libobs/obs-config.h.  Useful for using
cmake to specify a release candidate version.
2018-08-13 01:19:23 -07:00
Richard Stanway
41b7f85332
libobs/media-io: Prevent overwriting of remux input 2018-08-12 17:06:39 +02:00
jp9000
a2bc0f2e4f libobs: Update version from latest tag
Originally, the build numbers 21.1.1 and  21.1.2 weren't added to the
master branch -- only to the two bugfix tag branches.  This is being
added again in order to build some test builds that don't prompt for
update.
2018-08-11 07:09:49 -07:00
Richard Stanway
750f0f2ea4
libobs: Remove unnecessary null check 2018-08-11 01:56:08 +02:00
jp9000
fc37cbcca4 libobs: Add functions to get/set global private data
Allows the ability to set custom global OBS context private data for
allowing the frontend to communicate variables with plugins in an
indirect way.
2018-08-10 06:09:23 -07:00
jp9000
c43702e335 libobs: Move function declarations to correct spot
These function declarations were in the wrong section.
2018-08-10 06:09:23 -07:00
jp9000
8e5a618f03 libobs: When ungrouping groups, duplicate items
Because groups can now be used in multiple scenes at once, it's
important that if the user wishes to ungroup a group, that they must be
able to keep the group intact if it exists in other scenes.  This
requires duplicating all scene items (as well as their hotkey/private
data) instead of just reparenting the subitems.

This fixes an issue where if the user had the group referenced in
multiple scenes, the group would become empty in other scenes.
2018-08-05 04:21:42 -07:00
jp9000
ef40100c64 libobs: Add internal function to dup. scene item data
Adds an internal function to duplicate scene item data.
2018-08-05 04:21:42 -07:00
jp9000
ba4692622e libobs: Add function to save hotkey pair data 2018-08-05 04:21:42 -07:00
Ryan Foster
6c76e9a736 libobs: Log libobs bitness in crash logs 2018-07-31 11:49:35 -04:00
Jim
3fd33478f8
Merge pull request #1345 from TheMuso/fix-input-output-mac-audio-devices
libobs: Rework code for checking Mac audio device capabilities for mo…
2018-07-31 00:33:14 -07:00
jp9000
d13bbe6e59 libobs: Always try to update transform in current thread
Due to the recent change in which scene items now only update their
transforms during the next frame's tick, snapping sources would
sometimes jitter and have incorrect snapping.  This fixes that issue by
reverting to the behavior of updating the transform immediately rather
than deferring the update to the next frame tick, but only on non-group
items.

This should not be done on items that are sub-items of groups because we
rely on the obs_scene_item::update_transform variable to update the
parent group's transform in addition.
2018-07-24 02:41:31 -07:00
jp9000
593345a3b1 libobs: Only update scene item texture on frame tick
Instead of updating the scene item texture any time
update_item_transform() is called, only update it when
obs_scene_item::update_transform is called.  Prevents having to lock the
graphics mutex needlessly.
2018-07-24 02:41:31 -07:00
jp9000
8741bfcb8f libobs: Don't assign variables before if/return 2018-07-24 02:41:31 -07:00
Luke Yelavich
f29a4a8145 libobs: Copy the device uid string for mac audio monitor 2018-07-21 09:14:12 +10:00
Luke Yelavich
5c066ed48f libobs: Pass address of cf_uid rather than the contents of cf_uid 2018-07-21 09:14:12 +10:00
Luke Yelavich
ddc32aaf1c libobs: Fix setting of audio monitor device on Mac 2018-07-21 09:14:12 +10:00
Luke Yelavich
002696e795 libobs: Rework checking Mac audio device capabilities
As of commit 2eb5a22, CoreAudio devices that use one device handle for
both input and output can no longer be used for audio monitoring. This
commit fixes that.

Tested with the built-in output, a Magewell XI100DUSB-HDMI which is
input only, and a MOTU UltraLite audio interface, which shows as
output/input capable.
2018-07-21 09:14:12 +10:00
jp9000
621c519cc5 libobs: Add function to get encoder object's defaults
Rather than relying on the encoder's type identifier, additionally allow
the ability to get defaults via an encoder object.
2018-07-20 01:49:32 -07:00