3373 Commits

Author SHA1 Message Date
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
Lovecast Neil
60753fbfaf rtmp-services: Add "Lovecast" 2021-07-31 15:25:52 -07:00
Matt Gajownik
a5878e1caa obs-ffmpeg: Translate VAAPI property names 2021-07-31 15:09:29 -07:00
jpark37
ffac4c3733 obs-filters: Sample mask/blend texture linearly
Makes behavior of blend addition more reasonable.
2021-07-30 23:39:02 -07:00
Matt Gajownik
f2cae6195b obs-browser: Update version to 2.15.0
- Simplify JS function registration/definition
 - Enable Ctrl+R on Linux and Cmd+R on macOS for Browser Panels
 - Fix keyboard support in Interact dialog on macOS
 - Remove fractional scaling ifdefs
 - Remove unused variable definition
 - Remap semi-transparent colors for linear blend
 - Set user_agent_product in CEF >=91
 - browser-panel: Manually unset XdndProxy
2021-07-28 10:16:16 +10:00
Richard Stanway
ff0350b515 win-capture: Fix formatting 2021-07-24 23:21:02 +02:00
Richard Stanway
5d54cc36a7 obs-filters: Minor NVAFX cleanup
Remove some unused variables, fix incorrect mutex initializer, fix
exporting NVAFX functions via dllexport.
2021-07-24 23:15:45 +02:00
Richard Stanway
320177926d win-capture: Use better defaults in thread_is_suspended
On my system with ~250 processes running, this loop has to run over 500
times before allocating enough memory. Use better initial and increment
values to avoid thrashing the heap.
2021-07-24 23:15:45 +02:00
Richard Stanway
b2e30c955d win-capture: Move NT functions to shared file
Having them declared statically in a header included by multiple
compilation units results in duplicate functions being created.
2021-07-24 23:15:45 +02:00
Richard Stanway
e7df070438 decklink: Add destructor for OBSVideoFrame, initialize flags
Fixes a memory leak and potential access to undefined variable.
Detected by Coverity Scan.
2021-07-24 22:34:44 +02:00
jpark37
31c488f0d0 decklink: Fix truncation warnings
Also simplify DeckLinkDeviceMode::IsEqualFrameRate using cross-multiply.
2021-07-23 21:37:43 -07:00
tt2468
0698eeda94 decklink: Don't show incompatible formats
Changes the formats dropdown for decklink output to only show formats
using the same framerate as OBS does. OBS cannot perform framerate
conversions, meaning that if OBS's framerate is set to 45fps, and
decklink output is set to 60fps, the output will either lag heavily
or simply not function.
2021-07-15 07:29:13 -07:00
jpark37
bf27941f5f libobs-winrt, win-capture: Linear SRGB support
Update window, display, and game capture to always bilinear filter in
linear space, even if the source texture is not SRGB typed. This helps
resolve confusion in situations where we were filtering in nonlinear
space vs. linear space, like when toggling an empty crop filter.
2021-07-11 08:26:30 -07:00
Bruce Zhang
7baf08e917 rtmp-services: add bilibili live 2021-07-08 09:44:28 -07:00
Georges Basile Stavracas Neto
ec3e8146b2 pipewire: Properly pass sizes to gs_draw_sprite_subregion
The gs_draw_sprite_subregion() function is used when a cropping
rectangle is received from PipeWire. It is usually used by
compositors to implement window screencast - where a large and
mostly empty frame is sent, the window contents are only a small
part of it, and the crop rectangle tells us that.

Recently the wlroots implementation of portals started to use it
to implement cropping, and it exposed a bug in the PipeWire code
in OBS Studio. The gs_draw_sprite_subregion() function takes a pair
of integers representing position (x, y) and a pair of integers
representing size (width, height). The PipeWire code, however,
passes a second pair of positions (x2, y2) instead of sizes, and
it causes overrendering the crop area.

This bug wasn't hit yet because both GNOME and KDE implementations
always send (0, 0) as position, which practically never trigger
this condition.

Pass only width and height to gs_draw_sprite_subregion(), instead
of adding x and y to them.

Fixes https://github.com/obsproject/obs-studio/issues/4982
2021-07-08 08:32:55 -07:00
jpark37
4d9d7b7070 obs-filters: Fix comparison type mismatch 2021-07-06 14:08:28 -07:00
jpark37
880eac5b24 obs-ffmpeg: Fix comparison type mismatch 2021-07-06 14:08:28 -07:00