In the auto-configuration dialog, use hardware encoding by default if
NVENC is available due to the fact that the latest generations of NVENC
currently has a better quality to bitrate ratio than veryfast x264 and
most other hardware devices.
NVENC has increased its quality to bitrate ratio over the years with
recent generations of hardware, so do not increase the minimum estimated
bitrate if NVENC is chosen in the auto-configuration dialog.
Uses obs_source_get_ref on the sources enumerated in the tick_sources
function in obs-video.c to ensure a reference has been incremented
before calling that source's video_tick, and replaces an
obs_source_addref with obs_source_get_ref in the push_audio_tree
function in obs-audio.c to ensure that it cannot increment a source that
has already decremented its reference to 0.
If the remove_connection call of obs_encoder_stop_internal took too
long, obs_encoder_destroy could get called before that function
completed, causing a race condition.
When window capture is not capturing a window, don't try to find the
window every frame. Instead, just check once per frame. The process of
finding a window has a lot of checks and requires a surprising amount of
processing.
Fixes a bug where if you set the advanced output recording encoder to
"use stream encoder", then reopened the settings window, that option
would become enabled again.
The graphics thread should not be accessing any Qt objects that aren't
guaranteed to exist. Instead, store the currently hovering list/preview
scene items in the preview class.
Defers the update of the slideshow source until the user has pressed OK
or exited the properties dialog. This ensures images aren't reloaded
every time the user adjusts a setting.
This reverts commit 6629c5d7b8.
Chat redirect only happens on raid, which is when you are ending your
stream. That's acceptable behavior for the main chat window.
This actually isn't necessary because the graphics subsystem technically
automatically frees effects, but that could change, so call this just to
be safe.