Commit Graph

4364 Commits

Author SHA1 Message Date
PatTheMav
914392fcc0 mac-virtualcam: Fix crash on macOS when starting virtualcam output 2023-08-10 17:53:59 -04:00
PatTheMav
7628265099 Update .clang-format rules for ObjC files for version 16 2023-08-10 17:12:30 -04:00
Ryan Foster
64139a6bbd CI: Update to clang-format 16
This commit also modifies UI, libobs, and plugins.
2023-08-10 16:07:25 -04:00
aggresss
c81f531edb obs-webrtc: Improve WHIP compliance
Location header is now required. Support relative and absolute URLs
2023-08-10 12:04:18 -05:00
aggresss
34e57a0496 obs-webrtc: Follow HTTP redirects 2023-08-10 12:04:18 -05:00
Ryan Foster
046560eadc obs-qsv11: Fix adapter enumeration in test app
MFXEnumImplementations expects the adapter index to be within a range of
valid Intel adapters produced by MFXLoad and the config filter. If a
system has one non-Intel high performance GPU and one Intel iGPU, OBS
and the test app will see the Intel iGPU as index 1 due to high
performance hints, but MFXEnumImplementations will expect only one valid
index, 0. In this scenario, passing a value of 1 to
MFXEnumImplementations will cause it to abort and return
MFX_ERR_NOT_FOUND (Provided index is out of possible range). This causes
subsequent capabilities testing to fail.

To avoid this, let's track how many non-Intel adapters we see and
subtract that number from adapterIdx to only pass valid index to
MFXEnumImplementations.
2023-08-10 11:47:15 -04:00
Ryan Foster
8b85ecbec1 Revert "obs-outputs: Enable HDR for HEVC over RTMP"
This reverts commit 8137eb5f56.
2023-08-09 21:47:30 -04:00
Amin Mahmoudi
e77fc96cfa rtmp-services: Add MasterStream.iR to ingest list (#9330) 2023-08-09 20:26:13 -05:00
Gale
550ccc63f2 obs-qsv11: Fix RepeatPPS bug 2023-08-09 18:12:47 -04:00
Gale
5bfc2e5150 obs-qsv11: Remove AVBR, QVBR, and VCM 2023-08-09 18:12:47 -04:00
Gale
a790302dbd obs-qsv11: Refactor and tune Look-ahead settings
Enable Low Power Look-ahead (VDENC LA) after Intel Arc Graphics. Change
LA_DEPTH defaults (60 frames for normal latency and 30 frames for low
latency). Keep VME Look-ahead only for certain Intel platforms (ICL,
TGL, ADL, and RPL). Disable VME LA for HEVC
2023-08-09 18:12:47 -04:00
Gale
1d95575088 obs-qsv11: Update Target Usage options
Update target usage setting names from legacy names to VPL names.
2023-08-09 18:12:47 -04:00
Gale
c9fd128d74 obs-qsv11: Fix bitstream bug
Fix InitBufferSize and BufferSize bug: change Bit to Byte.
2023-08-09 18:12:47 -04:00
Gale
6533b3e138 obs-qsv11: Adjust Gop and keyint_sec parameters
* Change GopPicSize default to 240
 * Remove GopOptFlag
 * Change keyint_sec default from 3 to 0
 * Reduce keyint_sec minimum value from 1 to 0 (for auto)
2023-08-09 18:12:47 -04:00
Gale
6dada921c9 obs-qsv11: Adjust Subjective Video Enhancements
Disable MBBRC (macro block level bitrate control) because it can reduce
objective quality metrics like VMAF.

Use AdaptiveCQM for CBR and VBR.
2023-08-09 18:12:47 -04:00
Gale
99c456b777 obs-qsv11: Add AV1 meta data
Enable content light meta data over the AV1 stream.
2023-08-09 18:12:47 -04:00
Gale
5b6967c359 obs-qsv11: Improve AV1 quality parameters
Enable B-frames for AV1 for Intel Arc Graphics and Meteor Lake Platform.
2023-08-09 18:12:47 -04:00
gxalpha
57cda30bd3 obs-browser: Disable Bluetooth support 2023-08-08 21:36:10 -04:00
Gale
61a3e4365b obs-qsv11: Remove MSDK headers 2023-08-07 13:23:26 -04:00
Gale
dbbbcd8c57 obs-qsv11: Add VPL changes 2023-08-07 13:23:26 -04:00
Lain
796e2d5815 Merge pull request #9339 from tytan652/prevent_simde_contamination
Contain simde diagnostic pragmas and replace variable-length arrays
2023-08-05 17:10:33 -07:00
Ryan Foster
d00068cb6c plugins: Update CMake minimum to 3.22
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00
PatTheMav
57849bb0e7 obs-outputs: Refine certificate selection on macOS
Query for trusted and valid (based on datetime) certificates only.
2023-08-05 16:41:41 -07:00
tytan652
63a9d372bb mac-virtualcam: Replace variable-length arrays with NSMutableData
Co-authored-by: Patrick Heyer <PatTheMav@users.noreply.github.com>
2023-08-06 01:31:02 +02:00
tytan652
27630a8c0e linux-pipewire: Replace variable-length arrays with dynamic arrays
The in-tree simde is actually adding a pragma that makes -Wvla ignored
2023-08-06 01:31:02 +02:00
Lain
78cb2aa361 UI: Fix case where cef func may not be present
Due to a particular... plugin we all know and love, the new
QCefWidget::executeJavascript() function may not actually be present as
it should be. So, we have to verify that it's available, and only use it
in that case.
2023-08-05 04:35:31 -07:00
Lain
4af00587a6 obs-transitions: Fix stingers lingering on last frame
(This commit also modifies obs-ffmpeg)

This change was meant for track matte stingers to prevent the last frame
from having risk of flashing due to their transparent nature, but this
code had a negative side effect on normal stingers as well.

Fixes obsproject/obs-studio#8981
2023-08-04 11:13:31 -07:00
jpark37
b5c5f71cee graphics-hook: Handle VkImageViewUsageCreateInfo
Our solution for adding TRANSFER_SRC usage for imageless framebuffers
was triggering validation errors when combined with image view usage
overrides. Add TRANSFER_SRC onto usage overrides for swap chain image
views to fix mismatches.
2023-08-04 03:35:10 -07:00
Penwywern
182468b373 win-wasapi: Add hook signal and proc for process output capture 2023-07-30 14:06:53 -07:00
Penwywern
82beae249a win-capture: Add hook signal and proc for window capture 2023-07-30 14:06:53 -07:00
Penwywern
9d7a963386 win-capture: Add hook signal and proc for game capture 2023-07-30 14:06:53 -07:00
Penwywern
e9c12b7d9d linux-capture: Add hook signal and proc for Xcomposite window capture 2023-07-30 14:06:53 -07:00
jpark37
f5f7ae3e7f decklink: Support 10-bit RGB capture
Don't drop to YUV if a pure RGB signal is available.
2023-07-29 16:41:31 -07:00
tytan652
c6ce50c9a3 deps,libobs,plugins: Remove in-tree Jansson
Jansson is provided by other means on any supported platform.
2023-07-29 16:37:14 -07:00
Norihiro Kamae
9ca55eea43 obs-qsv11: Downgrade minimum required CMake version 2023-07-29 16:07:54 -07:00
Norihiro Kamae
df70743385 aja: Ignore return value from aja-common functions
The functions `aja::lower` and `aja::replace` overwrite the 1st argument
and just return the reference to the 1st argument. It is not necessary
to use the return value.
2023-07-29 16:04:16 -07:00
derrod
38d10934ee obs-outputs: Set videocodecid to HEVC/AV1 FourCC in E-RTMP 2023-07-26 05:13:43 -07:00
tytan652
cb5f65b529 obs-qsv11: Link against Libva on Linux 2023-07-25 15:29:52 -07:00
Carl Pédimina
b12ed3008b win-capture: Fix leaking framebuffers data
The wrong linked list was used when removing framebuffer data.
Furthermore, a pointer referenced an object on the stack that
was no more valid.
2023-07-25 10:48:10 -07:00
James Hurley
cca1cbf11b obs-outputs: Add log message on successful connection 2023-07-24 16:55:42 -07:00
James Hurley
ba41613ab8 obs-outputs: Adopt Happy Eyeballs in RTMP
This commit adopts the happy eyeballs utility in the RTMP
output module, replacing the existing TCP connection logic.
2023-07-24 16:55:13 -07:00
Lain
93609e3e72 rtmp-services: Fix package.json not using correct ver.
Also bump the services.json version
2023-07-24 13:07:58 -07:00
E Jikan
6255267a4d rtmp-services: Add "VStream" RTMP service (#9274) 2023-07-24 14:35:00 -05:00
derrod
edf2c8210c cmake,plugins,build-aux: Remove enc-amf 2023-07-22 18:06:26 -07:00
Ryan Foster
f7e6a5c8e7 obs-browser: Update version to 2.22.0
5292ff3 - Send events to all frames
5d74047 - Fix compilation on Windows and macOS
fbb9e84 - Remove obsolete translation RestartCEF
5e22a61 - Remove Qt 5 ifdef guards and code
72635d5 - Add JS interaction function, Fix "setStartupScript"
0f1ff75 - Replace json11 by Nlohmann JSON
2023-07-20 12:27:27 -04:00
gxalpha
9d611a064f cmake: Remove Qt version selection and Qt 5 support 2023-07-19 11:56:54 -04:00
pkv
b15fc60d63 obs-ffmpeg: Fix rendezvous mode with SRT
Rendezvous mode with SRT protocol is used to punch through firewalls.
Although caller or listener mode are much more widespread, it is
sometimes in use. The rendezvous mode was broken in obs because we
would bind to the remote IP, instead of a local IP. This fixes the bug.
Note that there is also a bug in libsrt preventing our code to work.
But Version 1.5.2+ of libsrt fixes that.

Signed-off-by: pkv <pkv@obsproject.com>
2023-07-18 15:55:22 -04:00
nquah
8137eb5f56 obs-outputs: Enable HDR for HEVC over RTMP
Removes flag guard to enable HDR streaming for HEVC over Enhanced RTMP.
This functionality is currently only supported by YouTube.
See github.com/veovera/enhanced-rtmp for the Enhanced RTMP spec.
2023-07-18 14:43:32 -04:00
Paul Gregoire
fc2f6e707f obs-webrtc: Add custom User-Agent and randomize SSRCs
Adds a custom User-Agent header to REST requests identifying OBS as the
client.

Randomizes SSRCs to avoid potential issues with servers that do not
rewrite them before forwarding.
2023-07-18 12:33:00 -04:00
CodeYan01
56b93c7601 obs-ffmpeg: Fix media source always STATE_ENDED
Previously would always end up with OBS_MEDIA_STATE_ENDED whether the
video reaches the end or the user stops the source (state is set to
STOPPED, but becomes ENDED right after). This fixes it so that if the
user stops the source, it will remain stopped.
2023-07-17 10:20:11 -07:00