3089 Commits

Author SHA1 Message Date
jpark37
cadd83f786 obs-browser: Filter textures in linear space 2021-10-01 10:00:09 -07:00
jp9000
9deb8fe292 win-capture: Update graphics hook version to 1.7.1
Makes sure that OBS updates its graphics hook version
2021-09-28 10:08:55 -07:00
Kurt Kartaltepe
3e2ad118b9 linux-capture: Fail when libdrm missing
I forgot to extend the FATAL_ERROR messages to include libdrm.
2021-09-25 15:27:51 -07:00
Matt Gajownik
79f98f8fb8 obs-browser: Update translations from Crowdin 2021-09-25 17:31:24 +10:00
Matt Gajownik
cc2831e8b3 obs-browser: Update version to 2.16.2
Translate common SSL error codes on browser panel load failure
2021-09-25 09:27:41 +10:00
Vainock
11a690b038 Update translations from Crowdin 2021-09-24 09:42:08 -07:00
Kurt Kartaltepe
7384f6f061
linux-capture: Add libdrm dependency check (#5326)
We require libdrm for its header so add the cmake module and header path
to the build. We don't need to link libdrm though so we dont add it to
libraries.
2021-09-23 13:05:53 -05:00
columbarius
7bc06e0db6 linux-capture: Omit implicit modifier token when creating texture
DRM_FORMAT_MOD_INVALID is a token for implicit modifier. When importing
a DMA-BUF with implicit modifier we should call
gs_texture_create_from_dmabuf() without modifier.
2021-09-21 12:57:49 -03:00
Thomas Schnitzler
22f5e68121 win-dshow: Don't buffer Elgato Facecam device by default
Buffering should be disabled for Elgato Facecam in "Auto-detect" mode to
prevent latency changes over time
2021-09-20 18:42:36 -07:00
Georges Basile Stavracas Neto
ef0540c0d7 linux-capture: Lookup session handle without typechecks
g_variant_lookup() obligatorily receives the type of the variant to
lookup. This function is used when retrieving the session handle
from the portal's response, and the variant type passed is "s" (a
string).

However, xdg-desktop-portal had a bug: the documentation explicitly
mentions that the session handle is an object path (of variant type
"o"), but it passed a string (of variant type "s"). This mismatch
was fixed in the xdg-desktop-portal release 1.10 [1], but that broke
the PipeWire capture code, which was passing specifically the "s"
value to the variant lookup.

Fix this by not checking the variant type at all. Object paths ("o")
are simply strings with a few extra checks, and we don't actually need
to perform these checks.

This change probably broke other apps, and that makes me extremely sad :(

[1] https://github.com/flatpak/xdg-desktop-portal/pull/609
2021-09-17 08:36:56 -07:00
jpark37
40cea9ca50 win-capture: Remove dependency on psapi.lib 2021-09-12 14:10:36 -07:00
Tommy Vercetti
e075ad5bca obs-outputs: Add WIN32_LEAN_AND_MEAN to avoid symbol clash 2021-09-11 15:50:06 -07:00
kiwialec
dda48c99bc rtmp-services: Add Disciple Media 2021-09-08 06:58:25 -07:00
Richard Stanway
9411c548d3 obs-outputs: Disable Windows socket loop when using RTMPS
Since this is activated after starting the output, it assumes there is
no need to read anything from the connection as RTMP is send-only from
that point on. However with TLS, reading protocol messages is required
for proper operation, causing it to immediately fail on RTMPS
connections. This is a complex fix due to the way it interacts with
librtmp and mbedTLS so let's just disable it for now to avoid breaking
things for users.
2021-09-03 18:15:17 +02:00
Jim
9b6cc99828
Merge pull request #5180 from jpark37/leaks
Fix a bunch of pthread leaks
2021-08-27 22:55:58 -07:00
jpark37
c5e7a6f23b win-capture: Clear stale pointers for game capture
Fixes shmem crashes when using Alt+Tab.
2021-08-27 22:46:17 -07:00
Willy Liu(HQ ENG)
e276b23f94
rtmp-services: Remove 17LIVE 2021-08-26 13:55:37 +02:00
columbarius
ed5749e466 pipewire: Create textures from multiplanar DMA-BUF
The gs_texture_create_from_dmabuf function is able to create textures
from multiplanar DMA-BUF data. However, the only in-tree consumer of
this function - the PipeWire capture - does not use that.

Make PipeWire create textures from multiplanar buffers.
2021-08-25 19:48:22 -07:00
Colin Edwards
083461698d
Merge pull request #5166 from cg2121/decklink-activate-fix
decklink: Fix deactivate when not showing
2021-08-24 20:10:21 -05:00
Jim
84bf08c171
Merge pull request #4720 from jpark37/detours-integration
Finish Detours integration for remaining game capture APIs
2021-08-23 23:18:10 -07:00
jpark37
3d342cd1e1 obs-filters: Fix NvAFX mutex leak 2021-08-23 23:15:11 -07:00
Matt Gajownik
0b70b479a1 obs-browser: Disable Qt tooltip on old Qt versions 2021-08-24 12:08:21 +10:00
jp9000
b9e7ab9e68 obs-browser: Update version to 2.16.0
Render web tooltips in browser source Interact using Qt, and expose OBS
controls to browser sources
2021-08-23 18:31:18 -07:00
Richard Stanway
1444ead812 Revert "obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support"
This reverts commit 1b29bfc88419515fa423804fac4411794c4df745.
2021-08-23 18:26:37 -07:00
Clayton Groeneveld
cb317f2b3b image-source: Fix gif not working in studio mode
GIFs wouldn't render on the preview side in studio mode.
2021-08-23 08:01:21 -07:00
Clayton Groeneveld
5fd40b3feb decklink: Cleanup hide/show code
The obs_source_showing calls are unnecessary in these
functions.
2021-08-21 12:53:28 -05:00
Clayton Groeneveld
d83f45992a decklink: Fix deactivate when not showing
If the option to deactivate when not showing was on, the Decklink
input device wouldn't deactivate/activate when hiding/showing.
2021-08-20 23:39:12 -05:00
Richard Stanway
1b29bfc884 obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support
Unfortunately these encoders tend to crash or freeze after after
multiple bitrate changes. Users with dynamic bitrate enabled
experience a random encoder freeze which manifests as OBS dropping to
0kb/sec and disconnecting and it's not at all obvious that dynamic
bitrate is the cause. Disable it for now until we can figure out if
there is any workaround or bug on our end.
2021-08-20 14:51:16 -07:00
Richard Stanway
4bf81e9bf6 win-dshow: Avoid redundant string conversions
We were going from wstring -> wchar_t * -> wstring. Issue detected by
PVS Studio.
2021-08-18 23:45:11 +02:00
Richard Stanway
486380e2c3 win-dshow: Use constant references for resolution check
Avoids unnecessary creation of a new VideoDevice. Issue detected by
PVS Studio.
2021-08-18 23:45:08 +02:00
kokole
dd6dd4e104 win-capture: Fix D3D12 third party overlay capture
Doesn't make sense to grab the oldest frame when not capturing overlays,
because the overlay was already rendered in it. This will grab the
latest frame (before the overlay is rendered).
2021-08-17 08:24:57 -07:00
gxalpha
0d755c3691 mac-virtualcam: Move DAL plugin to plugin data directory
Moves the DAL plugin to the data directory of the mac-virtualcam. Until
now, it was just lying in the top-level data directory
2021-08-17 08:21:32 -07:00
Ryan Foster
97e1d6ebf1 rtmp-services: Add stream key link URLs
This commit adds the stream key link URLs to services that have them
from UI/window-basic-auto-config.cpp and
UI/window-basic-settings-stream.cpp. This will enable querying these
values from services.json and remove service-specific code from UI code.
2021-08-16 09:48:14 -07:00
Ryan Foster
6bdea81823 rtmp-services: Change "stream key link" key to "stream_key_link"
This change is to be consistent with an upcoming commit where
"stream_key_link" is used for the key. While the JSON spec allows spaces
in keys, it isn't widely exercised. Having spaces in keys may introduce
other issues if the JSON data were processed in JavaScript (e.g., dot
notation vs. bracket notation), so let's just replace the spaces with
underscores.
2021-08-16 09:48:14 -07:00
gxalpha
c9302d13ce UI,obs-transitions: Enable missing files dialog for stinger transition
Adds transitions to the missing files check, allowing for stinger
transitions to be shown in the dialog
2021-08-16 08:29:54 -07:00
jp9000
1abf7ae3cf rtmp-services: Add BoxCast 2021-08-16 07:37:38 -07:00
jp9000
33130d7d15 Revert "mac-virtualcam: Move DAL plugin to plugin data directory"
This reverts commit 4d1764036fdc05c4534468f22894baf299d24b2f.
2021-08-16 07:36:54 -07:00
gxalpha
4d1764036f mac-virtualcam: Move DAL plugin to plugin data directory
Moves the DAL plugin to the data directory of the mac-virtualcam. Until
now, it was just lying in the top-level data directory
2021-08-16 06:52:50 -07:00
jpark37
0f2c1447ab graphics-hook: Fix D3D11On12 usages
Use D3D12_RESOURCE_STATE_PRESENT for CreateWrappedResource arguments. We
should assume the application will set the backbuffer to PRESENT, and
expect that to be preserved across the Present() call.

Remove unnecessary calls to ReleaseWrappedResources.

Clean up (void**) casts with modern patterns.
2021-08-15 15:58:09 -07:00
Kazuki Yamaguchi
fb7a037bc8 obs-outputs: Fix binding to IPv6 addresses on *nix
Fix inet_ntop()/inet_pton() being called with an incorrect argument for
IPv6 addresses.

On Linux, the offset of the sin_addr and sin6_addr fields differ and
the confusion on the inet_ntop() call produces an erroneous IPv6 string
representation such as "0:0:2001:db8::". This is visible on the UI,
Settings -> Advanced -> Network -> Bind to IP.

The same goes for the inet_pton() call.
2021-08-15 02:50:32 -07:00
Georges Basile Stavracas Neto
09b5290c7b linux-capture: Load XSHM capture on EGL/X11
Unlike Xcomposite, the XSHM plugin does not use GLX code, and thus
can be used on when EGL renderer is used. It still is X11-specific
though, and shouldn't be used on Wayland.

Rework the obs_module_load() function of linux-capture to use a
switch statement, and load XSHM both on EGL/X11 and GLX/X11.

Fixes https://github.com/obsproject/obs-studio/issues/5122
2021-08-15 00:13:00 -07:00
jp9000
f487954395 obs-transitions: Fix desync of stinger track matte
Although obs_source_add_active_child indicates to a child source that a
child source needs to activate, sources will not activate until the next
tick. However, because the transition start call is made from within the
UI thread, the time in which the media source renders is not guaranteed
to be activated by the time the stinger renders due to a potential race.
Thus he media source of a stinger is not guaranteed to be activated,
causing a brief flash. This also applies when stopping a stinger.

This problem normally doesn't really affect normal stingers; instead, it
affects track matte stingers because it is critical for them to be on
time in order to have the mask data.

In order to solve this, check to see if the underlying media source is
actually active and able to render when performing the masking.
2021-08-11 05:56:02 -07:00
jp9000
f0ab940282 rtmp-services: Fix comparison mismatch warning 2021-08-10 23:30:03 -07:00
Richard Stanway
7b9e22e207 rtmp-services: Fix typo'd "recommended" key for various services 2021-08-10 21:54:11 +02:00
Willy Liu(HQ ENG)
0d13d01921 rtmp-services: Add 17LIVE service
Closes obsproject/obs-studio#5110
2021-08-10 03:32:20 -07:00
sergey
ead931ed17 rtmp-services: Add Volume.com
Closes obsproject/obs-studio#4699
2021-08-10 03:26:25 -07:00
jp9000
30c264c8bf obs-transitions: Add "Mask only" track matte option 2021-08-08 15:45:14 -07:00
jp9000
884f707d31 obs-transitions: Fix missing newline at end of file 2021-08-08 15:40:13 -07:00
Ryan Foster
835ac0a556 obs-filters: Correct log prefix for noise suppression filter 2021-07-31 15:32:35 -07:00
Ryan Foster
41b3913793 obs-filters: Use correct NVIDIA capitalization 2021-07-31 15:32:35 -07:00