Commit Graph
11964 Commits
Author SHA1 Message Date
Jim e62759a3fa libobs-d3d11: Make sure libobs knows the new adapter index
Because Intel has wonderful code which forces it to run on the iGPU if
there are both an Intel iGPU and an Intel dGPU on the same system, the
adapter index OBS is set to internally will no longer be valid, thus if
anyone calls `obs_get_video_info()` to try to find out what adapter
index OBS is running on, it will be invalid on those computers.
Wonderful.

So, basically, this code here just fixe it so if you want to call
`obs_get_video_info()`, it'll actually have a valid adapter index now,
that way we can reference the adapter index when determining what GPU
we're actually running on without having to like, do anything super
complicated and silly like comparing adapter GUIDs just to figure out
what adapter OBS is actually runing on. I don't want the code to be a
mess anymore.

(I like how in any other situation on the face of the planet, there's no
need to force OBS to run on an integrated adapter. *Normally* OBS
*should* run on the dedicated adapter, that way it can actually capture
games properly. You can probably guess as to why they're forcing it to
run on the integrated adapter rather than the dedicated adapter. But you
know what? Whatever. I don't really care anymore I guess. Just...
whatever. Here we are I guess. Also I was in a bad mood while writing
this just as a disclaimer.)

(I hate that this commit exist. I hate that the commit c83eaaa51c exists
even more.)
2022-11-21 08:47:36 -08:00
Matt Gajownik 0716e8b482 obs-ffmpeg: Fix building without HEVC on Windows 2022-11-21 18:54:09 +11:00
Richard Stanway 510f0116a6 cmake: Specify utf-8 for MSVC builds
If there is no BOM, MSVC defaults to the user's code page which can
result in errors if UTF-8 characters are present in the source files.
2022-11-20 17:38:23 -05:00
tytan652 723ca8f034 CI,obs-vst: Update Flatpak KDE Runtime to version 6.4
The 6.4 runtime rely on Freedesktop 22.08 which provide a more recent
version of Mesa and PipeWire.

The switch to 22.08 also requires to migrate paths of VST 2 plugins.
2022-11-20 17:16:02 -05:00
Clayton Groeneveld cfcad30e3e UI, image-source: Add slide counter to slideshow toolbar
This shows the current slide and total number of slides in the
slideshow toolbar.
2022-11-20 03:07:27 -05:00
Richard Stanway 02c6ce8b58 obs-vst: Improve some string handling
- Use constant references where appropriate
- Avoid unnecessary use of strcmp / strlen
- Clear std::string with clear()

Issues detected by PVS Studio.
2022-11-20 17:25:33 +11:00
Richard Stanway fe9c3748ce obs-vst: Use libobs memory allocation functions 2022-11-20 17:25:33 +11:00
cg2121 0df774cd01 UI: Disable toolbar buttons when no source is selected
When no source is selected, disable the toolbar buttons so the user
knows the buttons can't be clicked. They would just do nothing
before.
2022-11-20 00:06:17 -05:00
tt2468 24d7bea41f obs-ffmpeg: Improve RIST/SRT log messages
Overall improvements to match behavior of other log sources.
2022-11-19 18:16:05 -08:00
tt2468 e141def61b UI: Use blog for "Attempted path" log messages
These use printf for some reason. Instead of always printing them and
having them clutter the log, blog them with debug level. They don't
appear in log files anyway.
2022-11-19 18:16:05 -08:00
Chris a463326e37 ffmpeg: fix cqp rate control on svtav1
global_quality does not get respected. Specifying via priv_data does
work however
2022-11-19 20:55:42 -05:00
Chris 777a8f8c47 ffmpeg: fix "cqp" mode for libaom
change from global_quality to setting crf via priv_data, as
global_quality does not get respect. There is no cqp param in
ffmpeg 5.0.1
2022-11-19 20:55:42 -05:00
gxalpha 34e6a5b73f libobs: Deprecate obs_get/set_master_volume
These methods were never implemented to do anything.
2022-11-19 20:37:22 -05:00
Matt Gajownik 8dcc536edb obs-browser: Don't use QPointF for pointer position 2022-11-20 11:55:46 +11:00
Matt Gajownik accc866203 obs-browser: Update version to 2.19.0
8985c0f - Add ability to mute individual browser docks/panels
c9d1e37 - Don't use app binary directory for logging
7142b21 - Add ability to directly open Dev Tools for Panels
2022-11-20 11:43:06 +11:00
Matt Gajownik 27e3f9718f libdshowcapture: Support more capture cards with uncoupled audio
Also disable clang-format for the submodule.
2022-11-20 11:39:46 +11:00
tytan652 74b245431c obs-ffmpeg: Use Libva in FFmpeg VA-API
Libva is directly used to check if DRI devices support H264 encoding.
2022-11-20 11:30:40 +11:00
cg2121 14bd880822 UI: Add filters button to scenes toolbar
Makes it easier to access scene filters.
2022-11-20 11:07:22 +11:00
Jim 572407a928 Merge pull request #7809 from obsproject/amf-av1-rebased
Add Hardware AMD AV1 Encoder
2022-11-19 15:52:16 -08:00
gxalpha aceeed3430 UI: Remove Qt taskbar overlay
This is no longer needed with the native integration.
2022-11-19 18:48:27 -05:00
Ryan Foster 46e17a1160 obs-ffmpeg: Fix SVT-AV1 rate control mode selection
In updated versions of FFmpeg (5.1.x) and SVT-AV1 (1.2.0/1.3.0), the
rate contol mode selection mechanism has changed, causing CBR to throw
an "Invalid Parameter" error and the encoder will fail to start. This
appears to be caused by us specifying rc_max_rate, which will also fail
on FFmpeg CLI. Adjust how we manage rate control methods, appropriately
version-gated, to work with both our current dependency versions and the
versions that we'd like to use.
2022-11-19 15:44:12 -08:00
Antti Tapaninen c7f4c78a69 libobs: Allow overriding video resolution per view 2022-11-19 15:34:54 -08:00
jpark37 0c4e7c4142 decklink: Always output BGRA 2022-11-19 15:24:26 -08:00
jpark37 34a43aa4f1 UI: Clarify that RGB output format is BGRA 2022-11-19 15:20:03 -08:00
tytan652 688ac3e1a5 flatpak: Add Jansson to modules 2022-11-20 10:11:35 +11:00
gxalpha 838446082e mac-videotoolbox: Default to High profile 2022-11-19 15:05:05 -08:00
gxalpha 3838b088e3 UI: Add Apple Hardware Encoder to AutoConfig
Starting with macOS 13 the VT hardware encoder has all the capabilities
it needs for both streaming and recording, so we can start recommending
it in AutoConfig.
2022-11-19 17:38:22 -05:00
Matt Gajownik 80d393bb75 win-dshow: Recognise higher FPS values from devices 2022-11-19 07:37:15 -08:00
Matt Gajownik ea2cbb6f65 CI: Name Docs zip based on commit/tag 2022-11-19 15:00:13 +11:00
Roman Huts 341f288b57 obs-ffmpeg: Fix encoder preset quality fallbacks for AVC/HEVC/AV1
(Jim note: The missing description of this commit is that basically, the
CAP_MAX_THROUGHPUT value returns a different result based upon what the
other settings are currently set to. It didn't operate the way it was
originally programmed.)
2022-11-18 18:18:08 -08:00
Roman Huts 49e5f7783f obs-ffmpeg: Suggest docs to reference for AMF/FFmpeg options 2022-11-18 18:18:08 -08:00
Roman Huts 8a831e2da5 UI: Add AMD AV1 to simple output mode 2022-11-18 18:18:08 -08:00
Roman Huts 927733240c obs-ffmpeg: Add AMF AV1 encoder 2022-11-18 18:18:08 -08:00
Roman Huts a8fc9226f8 obs-ffmpeg: Use codec enum for AMF texture encode check 2022-11-18 18:18:08 -08:00
Roman Huts 8b386a6417 obs-ffmpeg: Make AMF AVC encoder name consistent w/ others 2022-11-18 18:18:08 -08:00
Roman Huts ef1a9c46e3 obs-ffmpeg: Only show b-frames AMF property for AVC 2022-11-18 18:18:08 -08:00
Roman Huts 1948ddf2fa obs-ffmpeg: Only allow AMF high/baseline profiles for AVC 2022-11-18 18:18:08 -08:00
Roman Huts 535ced04d5 obs-ffmpeg: Allow 0-51 for CQP property
0-51 makes it consistent with other encoder implementations (At least
for AVC/HEVC)
2022-11-18 18:18:08 -08:00
Roman Huts 21d079fdcc obs-ffmpeg: Use codec enum for amf_properties_internal 2022-11-18 18:18:08 -08:00
Roman Huts acfad45ead obs-ffmpeg: Fix transcoding API typo 2022-11-18 18:18:08 -08:00
Roman Huts 48b5fd5a3b obs-ffmpeg: Update AMF SDK for AV1 support 2022-11-18 18:18:08 -08:00
Ryan Foster 90f7a08237 UI: Change Simple Output NVENC default preset to P5
To avoid the user having lookahead enabled with no way to disable it,
change the Simple Output Mode NVENC Preset from P6 to P5.

Follow up to 8806738a04.
2022-11-18 20:51:40 -05:00
Ryan Foster dd5745c66e CI: Re-enable scripting in Windows builds
In dfccb26bb2, in my haste to fix Windows
CI, I accidentally included a change to disable Windows scripting which
I had been using locally. Reverse that change to re-enable scripting in
Windows builds.
2022-11-18 20:46:32 -05:00
Jim 8806738a04 obs-ffmpeg: Change default nvenc preset to P5
P6 seems to invoke lookahead, which causes lag for some older GPUs and
interferes with game performance. So let's just use P5 by default for
now. Shouldn't really affect recording anyway.
2022-11-18 12:38:54 -08:00
jpark37 803fcc4c3e win-capture,UI: Look up display by id, not index
The index is not reliable. The id persists better, so use that.

Also remove matching against the first monitor if the expected monitor
is not available. That feature seems like a good way to get doxxed by
accident.
2022-11-18 15:15:13 -05:00
Jim 6693f39288 Revert "virtualcam-module: Don't send frames on initial pause"
This reverts commit bcb73cb599.

Annoyingly, this breaks WebEx, likely due to their own bug. This only
breaks Discord under very specific circumstances due to their own bug,
so if I'm going to choose between Discord breaking under very specific
circumstances that rarely occur versus choosing WebEx not working at
all, I'm going to just let Discord be broken under specific/rare
circumstances.

I hate DirectShow.
2022-11-18 05:47:14 -08:00
tt2468 53ffaf56c1 obs-websocket: Update version to 5.1.0
See 31f9845b6132e6c1529401292bc1125401e2a324 for changelog.
2022-11-18 02:31:32 -08:00
tytan652 c8a01f92ee obs-ffmpeg: Fix SRT error type comparison (#7802) 2022-11-18 03:17:54 -06:00
Caelan Sayler 95f434c591 win-capture: Invert output when drawing monochrome cursors 2022-11-17 23:54:48 -05:00
pkv 88ac8098a1 rtmp-services: Add ffmpeg-mpegts-muxer in schema v4
This adds ffmpeg-mpegts-muxer to the enum of output modules in schema.
Updates schema to v4.

Signed-off-by: pkv <pkv@obsproject.com>
2022-11-17 21:56:38 -05:00