Certain services have custom server lits handling which I had forgotten
about, so although it would have been nice to have this refactor, we'll
have to live with relying on the plugin properties object directly for a
while.
This also reverts obsproject/obs-studio#6530 and
obsproject/obs-studio#6683 because that change depended on this
problematic refactor code.
This reverts commits:
f2e6122881e6b8be3470d5574235afa32a4badc5,
bc80d0ca95a3c79cf1f4bc24df437f4ace125e30,
050a29da1a7ad620f05fbd2927786da2f36d85b9,
22ffc04f735830de19a654cd94839504313afb0a,
275e510aad8161bdcd101828f45584a0430ac65e,
2fa5ffe4dfdb50acaa7df4b7f4f80cf1d12cf913.
cfad34d - Use auto release refs
64c1796 - Handle SSL cert date invalid error in browser panels
394d6f7 - Back up then restore POSIX signal handlers on CefInitialize
161ffd2 - Replace type mismatch with range-based for loop
Add aja-source version 2 to differentiate buffering settings, which is
implemented in a255b0f74.
To register two versions, remove to return obs_source_info and register
the source inside aja-source.cpp.
Also revise aja-output.cpp to register aja-output to keep consistency of
function type.
malloc(0) is implementation defined and almost always a mistake. I
believe we should be more like malloc and treat bmalloc(0) as an error
instead of tying to handle it. For now we can log an error in case 3rd
party plugins are broken, in the future I would suggest this becomes a
crash-worthy error.
Hopefully nothing is actually using this in the first place. As a
library libobs has alignment requirements so we should probably not
allow an application to replace our aligned mallocs with something else.
This also allows more aggressive optimizations inside libobs as the call
can be completely inlined into a libc malloc.
This commit rounds the timestamp to the integer multiple of fps_den.
Prior to this change, since the timestamp in MFX is defined in units of
90 kHz, timestamps for 60000/1001 fps is not accurately expressed. Also
the encoder sometimes returns the decode time stamp slightly off.
Hence, the timestamp in OBS becomes not a multiple of fps_den after
converting back from the timestamp in MFX.
bbeafeabdd1c00affa73657a0ac992dd9295fc15 change how the combobox is filled.
`UpdateColorFormatSpaceWarning` did not get the required change to use
the combobox data rather than the text.
Notable changes:
* Windows: Add Qt 5 and 6 builds
* Windows: Remove nasm native build
* Windows: Update srt from 1.4.2 to 1.4.4
* Windows: Update SWIG from 3.0.12 to 4.1.0-git
* macOS: Update libvpx from 1.10.0 to 1.11.0
* macOS: Update srt from 1.4.1 to 1.4.4
* macOS: Update SWIG from 3.0.12 to 4.1.0-git
* macOS: Update x264 from r3059 to r3060
Fixes issues introduced by https://github.com/swig/swig/pull/2238. As
obs-scripting is not compatible with the SWIGPYTHON_BUILTIN, obspython
needs to disable this feature.
When changing a subproject (e.g. graphics-hook), the generated binaries
are not installed without also building win-capture. This commit enables
the subprojects to be treated as "plugins" which are installed to rundir
and also the installation directory without any additional workarounds.
The `EXCLUDE_FROM_ALL` token, which is responsible for excluding
components from a "unspecified" installation (which we use to create
the distributed package) needs to be specified for _every_ destination
specified in an `install` call.
This commit remedies the issue of missing tokens in these calls.
Add a job where the tag is checked if it is valid, it also checks if the
release should be published to Flathub beta and/or Flathub by
dynamically setting the matrix.
`absolutePathForAppBundleWithIdentifier` and `openFile` have both been
deprecated since macOS 11.0. This pr uses the correct modern APIs when
OBS is compiled for macOS 11.0 or more recent and falls back to the
legacy APIs when either compiled against or run on older macOS versions.
This makes the scene/source tooltips easier to
understand.
Add -> Add Scene, Add Source
Remove -> Remove Selected Scene, Remove Selected Source(s)
MoveUp -> Move Scene Up, Move Source(s) Up
MoveDown -> Move Scene Down, Move Sources(s) Down
Properties -> Open Source Properties
Filters -> Open Source Filters
Adds the Apple Silicon hardware encoder as a simple mode option. For
recordings this only requires being on Apple Silicon (since we use the
Constant Quality setting), while for streaming it requires the user to
be on macOS 13 or newer (since we're using CBR).
Both rate control methods only work on hardware encoders and will error
out when selected for software encoders, so we shouldn't show them there
Co-Authored-By: Sebastian Beckmann <beckmann.sebastian@outlook.de>
The session_set_bitrate method already returns an OSStatus to confirm
that everything has been successful. As such, a second check to make
sure that the bitrate has indeed changed is redundant and only adds
unnecessary code.