2700 Commits
Author SHA1 Message Date
Lain e15a92e16f libobs: Update version to 29.1.2 2023-05-27 14:50:49 -07:00
PatTheMavandRyan Foster 11dd933b8d libobs: Adds obs.hpp to exported header files
Required for plugins built using C++ linking against libobs.
2023-05-26 14:47:09 -04:00
derrodandRyan Foster 347fc668c6 libobs: Remove registry-based HAGS logging 2023-05-26 14:47:09 -04:00
JimandRyan Foster 40f7c7923c libobs: Prevent setting invalid scene item scale values
Fixes obsproject/obs-studio#7962
2023-05-26 14:47:09 -04:00
Jonathan BennettandRyan Foster 8110211a20 libobs: Rework logic for detecting monitoring feedback in PulseAudio
The option of default device or specified device for audio input
and monitoring device made for a matrix of four possible combinations.
Not all combinations were properly detecting feedback potential.
This reworks the logic so we properly detect in all four cases.
2023-05-26 14:47:09 -04:00
Jonathan BennettandRyan Foster cfc65650f9 libobs: Fix PulseAudio monitoring when device is set to default
When the monitoring device is set to default, this bit of code was
appending the no-longer-needed ".monitor" to the device name.

Fixes #8877
2023-05-26 14:47:09 -04:00
jp9000 abb8057135 libobs: Update version to 29.1.1 2023-05-08 22:31:59 -07:00
jpark37andJim fba8618675 libobs: Fix luma sampling for packed 4:2:2 sources
(cherry picked from commit 7ff5dd63b9)
2023-05-08 15:49:34 -07:00
jp9000 34e3d64158 libobs: Update version to 29.1.0 2023-05-02 01:54:35 -07:00
jpark37andJim 901986cbf4 libobs,obs-filters: Align HDR to SDR disparity
Adjust colors from BT.1886 to sRGB.
2023-04-23 23:43:09 -07:00
Kasin SparksandJim b645ea6c5f libobs: Fix mouse button push to talk for linux
Fixes issue with mouse buttons 4 and 5 not working for push to talk
when using linux
2023-04-23 23:41:41 -07:00
tt2468andJim 681093616a libobs: Check for extension validity in os_generate_formatted_filename
In some cases (ffmpeg_mux), the extension and format values are a
direct passthrough from arbitrary data. Instead of always postfixing
a `.` at the end of a generated path if the extension is invalid,
don't postfix the `.` at all.

Before: `my_formatted_string.`
After: `my_formatted_string`
2023-04-22 16:29:30 -07:00
derrodandJim 3bb101d7a2 libobs: Finalise source creation before firing signal
Fixes a possible crash when renaming a source during the source_create
signal callback as it has not been added to the hash table yet.
2023-04-22 16:13:17 -07:00
Ryan Foster ba263ee4fa Revert "libobs: Improve util_mul_div64 outside MSVC"
This reverts commit c977417747.

Reverted due to a regression.
2023-04-16 20:29:47 -04:00
jpark37andJim c977417747 libobs: Improve util_mul_div64 outside MSVC
Use inline assembly for x86_64 speed/accuracy.

Sacrifice speed for accuracy on other processors.

Continue to use original implementation for ARM on Windows.
2023-04-15 17:08:04 -07:00
Norihiro KamaeandJim 593fb3d12d libobs: Remove newly introduced PRAGMA_WARN_STRINGOP_OVERFLOW macro
The macro PRAGMA_WARN_STRINGOP_OVERFLOW was introduced to suppress a
warning -Wstringop-overflow caused by a macro da_push_back_new calling
darray_push_back_new.
Extract the function in the macro to avoid the warning.
This will also enables checking the type check of the returned pointer.
2023-04-15 16:03:10 -07:00
PatTheMavandRyan Foster b2e66bb401 libobs: Add missing headers for framework export 2023-04-12 17:17:00 +00:00
derrodandRyan Foster b3cf98f230 libobs: Fix compiling in ISO C17 mode 2023-04-08 19:30:12 -04:00
cg2121andJim 6254e031d9 libobs: Fix transition lookup by uuid
The obs_get_transition_by_uuid function would return a valid source
even if it wasn't a transition.
2023-04-05 16:52:46 -07:00
jpark37andRodney 5a46c1e513 libobs: Fix v210 display name 2023-04-05 21:54:25 +02:00
jpark37andRodney 504cc76e93 libobs: Ensure v210 preserves precision 2023-04-05 21:54:25 +02:00
PatTheMavandRyan Foster 6e07b86729 cmake: Remove EXCLUDE_FROM_ALL directive from interface libraries 2023-04-04 17:27:54 +00:00
gxalphaandJim caccd86092 cmake: Sort libobs target_sources alphabetically 2023-04-01 16:15:41 -07:00
Simon RostandRyan Foster a144a736f9 libobs: Remove dependency on Visual Studio 2019+
In util_uint64.h the intrinsic function _udiv128 is used.
The implementation is only available in Visual Studio 2019+
2023-03-30 19:51:08 -04:00
Ryan Foster bfb8fba066 Revert "libobs: Enable fast clear on Windows always"
This reverts commit c2afa58125.
2023-03-27 15:24:52 -04:00
Norihiro KamaeandRyan Foster 050d2e69b3 libobs: Log when libobs data file is not found
When an effect file is not found while initializing graphics, only one
line error below is logged. To clarify the reason why the initialization
was failed, also log when the file was not found.
Failed to initialize video. Your GPU may not be supported, or your
graphics drivers may need to be updated.
2023-03-27 15:20:56 -04:00
Norihiro KamaeandRodney e4eeecf3df cmake: Fix OBS_INSTALL_PREFIX
Before 349372b3b3, OBS_INSTALL_PREFIX contained trailing slash so that
it can concatinate with further paths.
2023-03-27 15:30:05 +02:00
36409f01cf libobs/media-io: Use inputs_mutex during close
This code assumed that no one would be racing after we stopped the input
thread, however the obs output thread also races and can free the inputs
during disconnect before we finish closing the video mix.

Instead keep the locks around after stop and use them during close to
avoid races.

Fixes crashes when stopping virtual webcam on linux.

Co-authored-by: Norihiro Kamae <norihiro@nagater.net>
2023-03-27 01:14:32 -07:00
PatTheMavandRyan Foster 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
JimandGitHub e233931dff Merge pull request #8522 from nquah/enhanced-rtmp
Enable AV1, HEVC via RTMP to YouTube
2023-03-26 14:07:37 -07:00
PatTheMavandRyan Foster 90f46a9d4d libobs: Add missing VIDEO_FORMAT_V210 handling in switch statements
Format was added to enum but not handled in all switch statement
handling the enum.
2023-03-26 13:48:01 -04:00
Yuriy Chumakandderrod 7dbc829c15 libobs,UI: Add output failure code for HDR being unsupported 2023-03-26 16:37:31 +02:00
Yuriy Chumakandderrod 31ba0973e5 libobs: Export HEVC NAL type enum 2023-03-26 14:47:22 +02:00
Norihiro KamaeandJim 94bf325dd9 libobs: Fix VIDEO_FORMAT_V210 shader for GLSL 2023-03-26 05:13:00 -07:00
jpark37andJim 97843dd7d7 libobs: Add VIDEO_FORMAT_V210
Support 10-bit packed format that DeckLink uses.
2023-03-26 01:52:44 -07:00
cg2121andJim d291830d23 libobs: Copy private scene item data when duplicating scenes
For example, this makes sure scene item colors are copied when
duplicating a scene. This also removed the now redundant private data
variable.
2023-03-25 18:30:31 -07:00
JimandGitHub 7a30d535aa Merge pull request #8289 from derrod/more-audio-codecs
libobs,obs-ffmpeg: Add option for recording lossless audio
2023-03-25 16:52:49 -07:00
cg2121andMatt Gajownik 1ac609f1ff UI, libobs: Fix not handled in switch warnings
These warnings were being spit out by GCC on Linux.
2023-03-26 10:47:01 +11:00
jpark37andJim 8f3bf0a0e3 libobs: Keep output as premultiplied alpha
Simplify code until someone needs straight alpha.
2023-03-25 03:19:26 -07:00
derrod dcee4fc61a libobs: Allow encoders to request unclamped audio mix
This is useful for formats such as 32-bit float PCM which providers
greater flexibility in editing by retaining information that would
otherwise be clipped.
2023-03-25 10:38:18 +01:00
jpark37andJim e32c2c1427 libobs: Add callback for main texture rendered
Useful for redirecting main texture to DeckLink output for example.
2023-03-24 15:18:45 -07:00
derrodandRyan Foster a73e13eeeb libobs: Keep mixer data for placeholder sources
Placeholder sources are created when a plugin providing a source type is
unavailable. Since they're not marked as having audio any audio track
settings for them get lost. With this change we retain mixer information
if the source owns its id to avoid that.
2023-03-24 12:16:32 -04:00
JimandGitHub e9ef38e3d3 Merge pull request #7978 from jpark37/dxgi-display-sdr-on-hdr
libobs-d3d11,win-capture: Add Force SDR for DXGI duplicator
2023-03-20 01:43:14 -07:00
JimandGitHub 0a9ed4569b Merge pull request #7814 from jpark37/decklink-preview-rescale
decklink: Move preview output rescaling to GPU
2023-03-20 01:42:36 -07:00
jpark37andJim c2afa58125 libobs: Enable fast clear on Windows always
NVIDIA driver 527.37 fixes flickering when multiple GPUs are installed.
2023-03-20 01:41:47 -07:00
tytan652 22ebed8d02 libobs,docs: Add connect infos check to the Services API
This new function allows to know if the service has all the info needed
to try to connect.
2023-03-19 17:38:02 +01:00
tytan652 ea4ac2d08d libobs,docs: Add connect infos to the Services API
This replace and deprecate url, key, username and password functions.
2023-03-19 17:38:02 +01:00
tytan652 aeab6b8fc4 libobs,docs,rtmps-services: Add supported audio codecs
Also remove Opus-only "supported audio codecs" in the services JSON.
2023-03-19 17:27:42 +01:00
tytan652 1e0f4a6ebf libobs,docs: Add preferred output type to Service API 2023-03-19 17:16:13 +01:00
tytan652 48dc6dde68 libobs,docs: Add supported codecs functions with output id 2023-03-19 16:49:56 +01:00