When loading a new Python script, the GIL might be released while
importing the module, allowing the tick to run and change and reset the
cur_python_script state variable. Use the busy_script variable to save
and restore the value if not null.
The callback missing_file_callback will get an empty string when a user
decided to remove the file on the missing file dialog.
Avoid the empty string to be held in files array and remove it.
Also avoid passing an empty file name from the property to internal
functions.
A prior patch made the button to show/hide a VST check the current
status of a loaded VST. This lead to situation where upon first
selection a VST might be loaded but the button's visibility is not
changed.
This change will reevaluate the status of a loaded VST upon selection
in the drop-down menu and trigger button visibility accordingly.
Ask the PA server to kindly not migrate our streams to the default
device unless the user chose the default device for input/output
captures.
Fixes#3211
Casting a floating point type to an integer type has undefined behaviour
if the value does not fit into the destination type.
As the volume meter is initialized with floats values representing +inf
(as makes sense for a dB meter), values should be explicitly clamped
to integer boundaries.
While the inject-helper tries to hook an application, the source is
set to `active` until the inject-helper reports being unable to hook.
If the graphics thread updates the transformations of every source in
that time frame, the game-capture source will report the width and
height used from the last valid capture, leading to its selection box
flickering in and out of view.
Ensuring that width and height are only reported when the source is not
only made active but is also capturing content fixes the flickering
issue.
The CI build script is useful to build OBS Studio even outside the CI
environment. However, the current script hard codes adding the 'amd64'
architecture to dpkg, the Debian/Ubuntu package management database.
This breaks the system when run on non-x86 machines. e.g., a
linux-aarch64 VM running on an Apple silicon macbook. Fixing the system
requires telling dpkg to remove 'amd64' again with 'sudo dpkg
--remove-architecture amd64'
As the CI build always runs on an amd64 machine, adding amd64 is not
necessary and can be safely removed.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
When the Advanced Output configuration is set to use custom FFmpeg
output, automatic remuxing is disabled. Unfortunately this check will
also take place even if Simple Output is used (as the value is set in
the configuration data, but is not "active").
This check ensures that the check for custom FFmpeg output is only
applied when Advanced Output is enabled.
Due to the timeout detection, we need to factor in the current pause
offset to prevent pause from affecting the timeout.
Closesobsproject/obs-studio#7313
In the scene tree, we currently prevent deselecting items by
automatically reselecting a new one to workaround a regression in Qt 6.2
that would let users unselect items even in SingleSelection QItemViews.
When clearing however, we explicitly want to unselect the currently
selected item, so we should avoid reselecting it in the SceneTree.
There were a couple mistakes here that caused the fallback checks other
than window ID to fail to ever return valid results. This restores this
functionality that was broken since the c++/c transition.
fixes#7404
The AMF docs specify that the maximum value for TARGET_BITRATE and
PEAK_BITRATE is 100,000,000 bit/s. Trying to set values above this
maximum value results in AMF choosing from its defaults instead of
capping at the maximum value. Let's cap at 100,000 Kbps in the UI to
prevent users from running in to this.
Fixes GitHub Issue obsproject/obs-studio#7423.
The icons had the wrong name in the qss files. The docks were missing
the icons on at least Linux. I have no idea why the dock icons still
worked on Windows though.
This updates the model when swapping effects with NVIDIA Audio Effects.
This fixes a bug where the model was not updated. :(
Signed-off-by: pkv <pkv@obsproject.com>
In obsproject/obs-studio#6963, a crash was fixed when retrying NVENC
without psycho aq. Unfortunately, the code forgot to reinitialize the
session, and thus the retry always failed. This reinitializes the
session as it was likely meant to.