Commit Graph

11758 Commits

Author SHA1 Message Date
PatTheMav
0af8bdb350 obs-scripting: Fix script state variable being reset by tick callback
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.
2022-10-10 02:07:02 +02:00
gxalpha
dd06fe44ad mac-videotoolbox: Remove "None" profile
Selecting this would actually fall back to "main", so we should just use
main as the default.
2022-10-09 16:58:30 -07:00
Service Checker
98199315e0 rtmp-services: Remove defunct servers/services 2022-10-09 16:54:48 -07:00
gxalpha
767d6dafd0 UI: Move "Always On Top" into View menu 2022-10-09 16:53:54 -07:00
gxalpha
e4a9c7da9c UI: Add multiview menus to UI file 2022-10-09 16:53:54 -07:00
Norihiro Kamae
ba77ca6592 vlc-video: Fix crash at removing files from missing-file dialog
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.
2022-10-09 16:40:06 -07:00
Alex Kosenko
39111dab3d rtmp-services: Update ingest list for Restream.io 2022-10-09 16:38:05 -07:00
PatTheMav
e76fbaa016 obs-vst: Toggle properties button visibility upon VST selection
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.
2022-10-09 16:33:27 -07:00
Kurt Kartaltepe
84687813e3 linux-pulseaudio: Use DONT_MOVE for non-default devices
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
2022-10-09 16:31:00 -07:00
tytan652
47fcaed8d3 UI: Fix NVENC AV1 preset while resetting encoders 2022-10-09 16:26:29 -07:00
derrod
a372c1c0b3 win-capture: Update D3D9 signature for Win 11 22H2 2022-10-09 16:21:02 -07:00
PatTheMav
8f362fe508 UI: Clamp float values possibly representing infinity to integer size
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.
2022-10-09 16:20:03 -07:00
PatTheMav
992d18b66c win-capture: Fix reporting valid width and height if not capturing
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.
2022-10-09 16:17:05 -07:00
jpark37
e119a7024d libobs: Sample video at default chroma location
Expect left for 4:2:0 SDR and 4:2:2, and top-left for 4:2:0 HDR.

MJPEG will be a half-pixel off, but we'll live with that for now.
2022-10-09 16:15:16 -07:00
Luke Strickland
046b95dac9 rtmp-services: Update Glimesh to add RTMP ingests 2022-10-08 22:44:50 +02:00
jp9000
614bf960d9 UI: Add NVENC AV1 to simple output mode 2022-10-07 14:34:39 -07:00
jp9000
53f4627b0c obs-ffmpeg: Add NVENC AV1 support 2022-10-07 14:34:39 -07:00
jpark37
2a76ffaf02 libobs/graphics: Precompute more accurate matrix
This is generated with .NET BigInteger fractions, and late divide.
2022-10-05 08:36:29 -07:00
jpark37
51c452e937 libobs: Precompute more accurate matrices
These are generated with .NET BigInteger fractions, and late divide.
2022-10-05 08:36:29 -07:00
jp9000
77b11c16f1 libobs: Update version to 28.0.3 2022-10-01 17:39:24 -07:00
cg2121
193d48f5d9 UI: Fix alignment of volume sliders
With the Yami themes, the volume sliders wouldn't
be aligned in the center of the layout.
2022-10-02 10:31:26 +11:00
gxalpha
ff0f5ca681 mac-videotoolbox: Remove unused defines 2022-10-01 16:25:05 -07:00
Norihiro Kamae
d69fbccae2 UI: Fix tabstop on settings dialog 2022-10-01 16:24:32 -07:00
Norihiro Kamae
9875cde6c4 UI: Remove unnecessary styles 2022-10-01 16:18:26 -07:00
Matt Gajownik
77d810148d obs-scripting: Enable Python autodoc
This provides more useful information in auto-complete, complete with
parameter summaries.

Example:

"""
    obs_properties_add_path(props, name, description, type, filter, default_path) -> obs_property_t *

    Parameters
    ----------
    props: obs_properties_t *
    name: char const *
    description: char const *
    type: enum enum obs_path_type
    filter: char const *
    default_path: char const *

"""
2022-10-01 16:16:45 -07:00
Matt Gajownik
0c7abb7fca obs-scripting: Re-enable Python annotations
The default for this setting was changed in SWIG 4.
For more info see https://github.com/swig/swig/commit/2072ae19c
2022-10-01 16:16:45 -07:00
CodeYan01
81233c6dd4 docs: Add links to python functions 2022-10-01 16:09:29 -07:00
Grant Likely
8779f052fd CI: fix build on non-x86 Linux platforms
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>
2022-10-01 16:06:39 -07:00
jpark37
39183c76b5 win-wasapi: Fix Stop hang
Fix hang when audio capture is active in the background and stopped by
either closing OBS, or switching scene collections.
2022-10-01 10:36:08 -07:00
PatTheMav
8a4cf4b739 UI: Fix AutoRemux not working when FFmpeg output configured
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.
2022-10-01 07:07:32 -07:00
jpark37
cbb910a99c win-wasapi: Don't reconnect when inactive
Unnecessary reconnect attempts may cause noticeable hitches.
2022-10-01 07:06:56 -07:00
Exeldro
ddff584b46 obs-scripting: Fix compile when python is not found 2022-10-01 05:26:21 -07:00
jp9000
843fec57be obs-ffmpeg: Fix unpause causing certain encoders to fail
Due to the timeout detection, we need to factor in the current pause
offset to prevent pause from affecting the timeout.

Closes obsproject/obs-studio#7313
2022-09-30 13:09:29 -07:00
jp9000
4741a9aa50 libobs: Add function to get encoder pause offset 2022-09-30 13:07:19 -07:00
gxalpha
dc30cf0843 UI: Don't reselect SceneTree items if tree is clearing
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.
2022-09-30 05:41:35 -07:00
derrod
cc2ecbe89c UI: Remove executable bit from public key file 2022-09-30 01:57:24 +02:00
shinji3
9d7a6e7e8c obs-ffmpeg: Fix m3u8 recording in AMF 2022-09-29 15:47:26 -07:00
Aleix Pol
6fb83abaeb linux-pipewire: Close sessions as we are done with them
This way the stream can be cleaned up. Otherwise, we closed them all
when OBS closes which works but is not entirely correct.
2022-09-27 11:50:49 -03:00
jpark37
3dd0f895f8 libobs/media-io: Restore color range conversion
FFmpeg needs color range during context init to handle conversions.
sws_setColorspaceDetails after the fact is too late.
2022-09-26 21:26:01 -07:00
Matt Gajownik
743117f080 CI: Downgrade Sphinx to fix docs build error
This should be reverted once sphinx_rtd_theme is updated.

See https://github.com/readthedocs/sphinx_rtd_theme/issues/1343
2022-09-25 10:35:23 +10:00
jpark37
5af9c87e1b libobs/media-io: Avoid scaler for range diff
Green tint appears when using converting full NV12 to limited NV12 with
swscale, so just avoid creating scaler by color range for now.
2022-09-24 16:45:01 -07:00
Kurt Kartaltepe
1249ebe53d linux-capture: Fixup window name/class checking
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
2022-09-24 20:42:57 -03:00
Ryan Foster
c5f1446ab3 obs-ffmpeg: Cap AMF encoder at 100 Mbps
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.
2022-09-24 16:38:17 -07:00
cg2121
048b6524e3 UI: Fix color of popout icon
In the light theme, the dock popout icon was the wrong color,
basically making it invisible.
2022-09-25 09:29:32 +10:00
cg2121
3d1f4fc757 UI: Fix dock titlebar icons not loading
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.
2022-09-25 09:22:20 +10:00
jpark37
a34fae0327 libobs,UI: Swap red/blue render/output channels
Don't need to unswizzle channels for DeckLink output in the future.
2022-09-24 16:06:34 -07:00
Matt Gajownik
493270e022 frontend-tools: Display dialog when changing Python version
Runtime switching of Python version is not supported.
2022-09-23 12:08:11 +10:00
Matt Gajownik
1b2fc73021 frontend-tools: Display Python version in UI 2022-09-23 12:08:11 +10:00
pkv
dba3401ceb obs-filter: Update model for NVIDIA Audio FX
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>
2022-09-22 06:47:23 -07:00
jp9000
3df0c61c8c obs-ffmpeg: Fix when NVENC retries without psycho aq
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.
2022-09-22 02:42:32 -07:00