3308 Commits
Author SHA1 Message Date
jp9000 b65ee7e7fb virtualcam-module: Revert changes since 27.1.3 (for now)
This reverts commit 4b0767741a,
3f3f9ed7e6,
0e7c17bd6e, and
865eecb739.
2022-03-02 17:36:49 -08:00
jp9000 399636847d virtualcam-module: Prevent placeholder memory leak 2022-03-02 05:05:13 -08:00
jp9000 9f0650658d virtualcam-module: Only initialize placeholder once 2022-03-02 05:04:47 -08:00
jp9000 fc20e7a71b virtualcam-module: Fix incorrect correct res/fps
Apparently the testing that was done was not sufficient enough or did
not check all test cases, so resolution/fps does not get set properly on
the virtualcam.
2022-03-02 04:20:27 -08:00
jp9000andMatt Gajownik c1ff655dfe virtualcam-module: Remove unnecessarily inlines 2022-03-01 23:29:04 +11:00
jp9000andMatt Gajownik 91759c2a2e virtualcam-module: Stop thread on Stop call
This causes the thread to only start when the IMediaFilter::Run/Pause
calls have been made, and stop whenever either the IMediaFilter::Stop
call has been made, or on destruction, whichever comes first.

This potentially will work around a suspected race condition that
appears to be in the WebRTC library where the filter's library will be
released while the filter is in the process of being destroyed, which
can take longer than usual if the join takes too long. Basically, fixes
a reported crash (that doesn't appear to technically be our fault) when
the filter is used with browsers when the virtualcam is deactivating in
web browsers.
2022-03-01 23:28:59 +11:00
jp9000andMatt Gajownik d23cb52796 win-dshow: Ensure thread is joinable before joining
This may have been the issue behind the reported firefox crashes, but
strangely, the thread should always be joinable here because it's
explicitly always created in the constructor and joined in the
destructor.
2022-03-01 23:28:37 +11:00
obiwacandMatt Gajownik c09429aa8c linux-v4l2: scandir with alphasort on non-Linux
Sort video device entries with `alphasort` on non-Linux platforms,
as opposed to `versionsort` on Linux.
(`versionsort` is a GNU extension, unavailable on e.g. FreeBSD.)

UI: Fix call to `to_string` on FreeBSD
2022-02-28 22:21:46 +11:00
Kurt KartaltepeandMatt Gajownik eff0148dd7 linux-v4l2: Fix warnings in mjpeg
Previously the switch did not catch all cases issuing a quite large
warning. Also there was a const-ness warning for codecs on ffmpeg 5.0
that this addresses.
2022-02-28 22:21:14 +11:00
Richard StanwayandMatt Gajownik bad7edd051 win-wasapi: Fall back to old code if RTWQ fails
Fixes a crash if RTWQ is unavailable, e.g. if the mmcss service is not
running.
2022-02-28 22:20:45 +11:00
Richard StanwayandMatt Gajownik bfcc066099 obs-outputs: Set a fixed size socket buffer on Windows 7
Auto tuning apparently doesn't work very well on this version and
af6844f5c2 caused throughput
regressions.
2022-02-21 11:21:20 +11:00
jp9000 0f97427ef2 obs-browser: Add support for custom OBS CEF
Our version fixes the system freeze issue, reduces resource usage, and
improves performance back to 3770 levels.

See obsproject/cef@36fdac16a7 for detailed information.
2022-02-20 13:31:05 -08:00
jp9000 3eec65d127 obs-browser: Fix texture recreating every frame 2022-02-20 13:31:05 -08:00
Matt Gajownik a0c37e7aa9 obs-browser: Fix issues with rendering on Linux/macOS 2022-02-20 17:33:02 +11:00
Kurt KartaltepeandMatt Gajownik 8ad7d1b08d linux-v4l2: Use decoded MJPEG pixel format
Previously we assumed mjpeg was always decoded to 422 but it seems some
cameras provide frames that decode to different pixel formats such as
420.

This change delays setting the obs frame pixel format until after we
have decoded the v4l2 frame.

fixes #5821
2022-02-20 14:40:20 +11:00
Matt GajownikandMatt Gajownik 9c42e9f752 win-wasapi: Only enable work queue on Windows 10+
Fixes #5967
2022-02-20 12:04:56 +11:00
pkvandMatt Gajownik 92bf2ebe93 obs-ffmpeg: Force mpegts format & disable restart on activate for srt & rist
This fixes crashes in media Source when :
- the user forgets to set the input format for srt or rist URLs;
- disabling / enabling / disabling etc Media source with a rist URL.

Signed-off-by: pkv <pkv@obsproject.com>
2022-02-20 12:04:48 +11:00
Florian ZwochandMatt Gajownik b6366757c0 linux-capture: Fix for pipewire capture leaking texture handles
Enter the graphics context before calling gs_texture_destroy() or
else the call will fail causing the texture handles to leak.
2022-02-20 12:04:41 +11:00
jp9000 5643e9cbbf obs-browser: Fix sRGB rendering 2022-02-15 23:52:44 -08:00
jp9000 e43f75fc92 obs-browser: Update version to 2.17.10 2022-02-15 23:21:59 -08:00
jp9000 f2628de7f2 obs-browser: Acquire, copy, and release immediately
Instead of holding onto an acquire over the duration of an entire frame,
acquire, copy to a texture, and immediately release the lock.

(Note from Jim: When it comes to synchronization, the idea of acquiring
a lock, and then releasing all the way in the next frame just feels a
bit worrisome. Especially when it's a GPU object. But at this point, I'm
just making shots in the dark in an attempt to eliminate any possible
things that might even have a remote chance to trigger latent bugs in a
GPU driver or the kernel. You know, that whole system freeze thing. This
probably doesn't have anything to do with it, at this point I have
nothing but wild geese to chase. Whatever.)
2022-02-15 23:21:59 -08:00
ThulinmaandJim 9c504f4d35 rtmp-services: Update Picarto ingests 2022-02-12 15:02:10 -08:00
Translation UpdaterandTranslation Updater 25b58f0417 Update translations from Crowdin 2022-02-11 00:34:08 +00:00
jp9000 109b54fd66 obs-ffmpeg: Fix svt-av1 rate control settings
For SVT-AV1, rate control is explicitly set via an "rc" option, so set
those options manually for SVT-AV1. CBR doesn't seem to be fully
supported, but it's sort of supported via CVBR (constrained variable
bitrate), which seems to be specific to each GOP size, which is about as
close to CBR as we can get.
2022-02-07 13:11:34 -08:00
Translation UpdaterandTranslation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
Cenk UluisikandGeorges Basile Stavracas Neto f52f34b614 linux-capture: Fix missing parameter for pipewire capture
Commit a3a6710 introduced the obs_pipewire_save() function in the
PipeWire code, but only set it to the monitor capture source. This
was an oversight, it should have been set to the window capture
source as well.

Set the .save vfunc of the window capture source as well.

Closes obsproject/obs-studio#5906
2022-02-04 13:09:12 -03:00
Paul HindtandColin Edwards 95020dd629 aja: Fix off-by-one output frame index calculation 2022-02-02 11:20:05 -06:00
Roman SivriverandJim e6a55e7763 rtmp-services: Update YouNow ingest 2022-02-01 13:42:08 -08:00
Matt GajownikandJim 3aa90f7076 obs-transitions: Fix All Files option for Stingers
On Windows, All Files was added by default with (*), but on macOS and
Linux this appeared as an empty option in the dropdown and treated as a
Video Files filter rather than All Files.

This also adds proper translation handling for 'Video Files', matching
the obs-ffmpeg-source.

Fixes #5870
2022-01-29 19:53:31 -08:00
Jim 3e4e8d2fd0 vlc-video: Set channel limit to 8 instead of 2
17c069e1d0 changed to add support for surround sound, but the limit
should really just be 8 channels as pointed out by tt
2022-01-29 15:28:36 -08:00
Francisco OltraandGitHub 5f5355a813 rtmp-services: Update nanoStream Cloud / bintu ingests (#5884)
* rtmp-services: Update nanoStream Cloud / bintu ingests

 - fix transcoding rtmp urls
 - add information and dashboard links
2022-01-29 15:24:46 -08:00
pkvandJim 17c069e1d0 vlc-video: Enable surround sound support
The vlc plugin was keeping only up to two audio channels. It was overlooked when surround sound support was added to obs-studio. This commit remedies this oversight.

Signed-off-by: pkv <pkv@obsproject.com>
2022-01-29 15:22:29 -08:00
ChrisandJim 306e23292d win-dshow: Log buffered state 2022-01-29 15:14:58 -08:00
jpark37andJim 9f41531541 win-dshow: Use OBS_SOURCE_FRAME_LINEAR_ALPHA
This flag leads to a cheaper technique, "Draw" instead of
"DrawNonlinearAlpha", and all the paths are opaque anyway.
2022-01-29 15:10:53 -08:00
Matt Gajownik 364f102561 obs-browser: Fix Windows crash if shared texture is unavailable 2022-01-29 18:05:25 +11:00
Paul HindtandColin Edwards 29b835b20f aja: Disable Analog In/Out selections in the UI
Analog capture/display for supported cards will be added in the future.
2022-01-28 23:58:53 -06:00
Paul HindtandColin Edwards ba875377d0 aja: Fix Kona1 simultaneous capture/output 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 3fbd5d9179 aja: Adjust whitespace for consistency 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 8d051c6a1c aja: Use SDI Transport selection to engage Auto detection
Otherwise use Video and Pixel format selections to engage Auto detection for HDMI
2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 0ef3b29cad aja: Show/Hide SDI Transport/4K lists and options
Only show SDI Transport options if IOSelection is SDI and

only show 12G selection in Capture plugin
2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards f559287723 aja: Fix 2xSDI UHD/4K YCbCr 2SI VPID lookup 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 0d15bb0b94 aja: Hide duplicate HDMI IN entry for Kona HDMI 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards a4c0996d59 aja: Filter 6G/12G SDI Transport depending device/plugin type 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards d2515170e1 aja: Disable UHD/4K high-framerate for Output
A fix for UHD/4K HFR modes will be added in a future plugin release.
2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 5f81d4117f aja: Clear previous crosspoints when signal changes
Fix for a bug where stale crosspoint connections could result in

video glitches upon next connection.
2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards d18b805aee aja: Remove unfinished 2x4K Squares support
Support for 2x4K Square Division will be added in a future update
2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards eafe588bd3 aja: Re-work HDMI routing and add missing presets 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 4650cf4574 aja: Fix HDMI RGB crosspoint indices 2022-01-28 20:23:40 -06:00
Paul HindtandColin Edwards 71e3fcc5de aja: Add framestore index helpers to Source/OutputProps 2022-01-28 20:23:40 -06:00
Ryan FosterandJim 5bbb36acf8 mac-vth264: Set RealTime property to False
While the Apple documentation currently seems to indicate that we should
set RealTime to True, it appears that this may be causing issues with
the encoder not being able to meet the target frame rate. Both FFmpeg
and Handbrake have recently explicitly set this value to False, and
preliminary tests seem to indicate that setting this to false in OBS has
favorable results.
2022-01-28 11:35:50 -08:00