It seems that the browser source works inside a Flatpak sandbox and/or
Wayland with CEF 4280, so let's try and reenable it.
This reverts commit e64c61710fb064ca87341f091ac55cb5861fc202.
My previous commits would rescale the placeholder for output on every
frame which was not CPU efficient. Now we store a copy of the scaled
placeholder and update it any time the resolution / FPS / format
changes.
A new function GetOutputBufferSize was added to allow calculating the
output size when needed. The existing code assumed a 12-bit format if
the placeholder didn't load, which could cause grey / green output.
An optimization was made to only load and scale the placeholder once
the virtual output starts, as many applications load and unload the
filter multiple times during enumeration of devices.
Various comments were also added to help clarify how the filter works.
Hides the DLog and DLogFunc macros behind the -DDEBUG flag, causing the
logs to only appear in testing environments.
On production build, calls to these macros will result in nothing
happening.
Helps ensure DLLs associated with game capture, virtual camera, and
other such files have their PDBs copied alongside them in any Windows
build, and allows the ability to trace crashes that may occur from
within those files more easily.
When setting the current scene and if it was the same as the previous,
the log would be spammed with switching scene messages.
This issue particularly happened when using undo/redo, as their
functions were setting the current scene.
This was changed to default on but is not exposed for ffmpeg nvenc.
Where cards without temporal AQ support will fail to initialize and we
cannot do checks beforehand. This exposes the parameter to allow users
to disable this feature when using the ffmpeg implementation.
The undo/redo functions are setting the current scene. Everytime
it would do this, it would actually transition to the scene.
This forces the current scene, so it fixes a bug where the
transition would be grayed out when undoing/redoing.
Holding references to sources is never a good idea. Instead, save and
restore the scene and its subsources on removal.
Co-authored-by: Jim <obs.jim@gmail.com>
Closesobsproject/obs-studio#4462
When running on Wayland, the browser docks look broken and sometimes
they crash OBS Studio. Interestingly, browser sources seem to work
just fine. Ideally we'd be able to dig into the issue and find the
root cause, but time is short for the 27 release and disabling the
docks until this is figured out seems to be the best alternative for
now.
Of course this is a temporary workaround, and eventually this commit
will be reverted, and browser docks will work just fine, flowers and
rainbows and happy unicorns.
Disable browser docks on Wayland, which includes both the manually
added docks, and the docks OBS Studio creates for authentication for
Twitch and Restream.io.
Related: obsproject/obs-browser#279obsproject/obs-studio#4436
This minor code cleanup commit does the following:
- sets defaults intensity of RTX denoiser to max.
- adds an initialization check of nvafx.
- splits nvafx initialization from channel allocation for better
readibility of the code.
- moves the intensity update from the filter_audio process function
to the plugin update function.
- logs the error code in case nvafx returns an error when running.
(useful for devs; I haven't translated the error codes which are
available in the sdk).
This fixes issue #4441.
The issue occurs when adding the noise suppression filter for the
first time. Rnnoise or speex are the default noise suppression
methods. Line 344 returns which prevents initialization and
allocation for nvafx (rtx denoiser).
With the fix, initialization of nvafx occurs when swapping methods.