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.
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.
In order to make for a better user experience with service integration,
do a one-time reset of the docks locked state, and set the default lock
state to off.
Fixes an issue where if you auth to twitch, then close the program
without unhiding the twitch stream stats panel, the next time that panel
was unhidden it would be at position 0,0 on your screen. This
explicitly sets its position to be center of the window beforehand to
ensure that won't occur.
The post-output rescale option in advanced output mode cannot currently
be used with texture-based encoders, so disable the option when a
texture-based encoder is selected.
(This commit also modifies UI)
Adds a universal function for determining whether video output is
currently active, rather than having to use video_output_active() on the
value returned by obs_get_video().
The signal mutex can be locked within other signal mutexes, causing a
potential hard cross-lock when releasing certain sources. Instead,
defer the Disconnect() call to the UI thread.
This fixes a potential freeze on exit.
Adds the ability to connect/login to an account via the settings and
auto-configuration dialogs. Checks registered Auth objects, and if the
Auth object matches the currently selected service in the settings
window or auto-configuration dialog, will display "connect account"
buttons for the user to be able to click (which are optional, they can
still use stream keys if they'd prefer).
Adds a function for initializing browser and cookies in a separate
thread while, and while waiting for it to complete, show a dialog
stating that the browser is currently being loaded. Allows the ability
to safely prevent the user from taking any action without actually
freezing up the UI thread.
Allows the ability to switch cookies between profiles. Allows the
ability to, for example, switch streaming service accounts between
profiles for proper access to the pages displayed by the browser panels
(such as chat windows).
Makes it so that services can have custom handling on a per-service
basis. The bottom part of the service pane is now a stacked widget
which can now be customized for different types of services
(particularly OAuth services).