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).
Adds functions for executing functions within separate threads without
blocking the user interface, or by blocking the user interface with a
dialog box.
Allows creating a QThread via an std::function. A backward-compatible
alternative to QThread::create for Qt versions older than 5.10 (when it
became available in Qt).
Currently, browser panel is only supported on windows. So rather than
have to check for _WIN32 in the code everywhere, just move the WIN32
check to cmake, that way we don't have to have _WIN32 checks in the code
everywhere the browser panel code is used, and do not have to remove a
whole bunch of unnecessary _WIN32 #ifdefs for other operating systems
when browser panel support is added for them.
The "Custom" service has been moved, and is now an item called "Custom"
in the "Services" combo box. This simplifies the stream page of
auto-configuration and removes an unnecessary widget. Overall a minor
but nice slimline/improvement on user experience.
This change means that the modified callback for a scripts properties is
always called when first loaded or on a reload. This behavior matches
the properties view for sources, where all modified callbacks are called
when the window opens. This change therefore treats reloading as
equivalent to reopening.
Operating systems don't report monitors from 0, so OBS shouldn't
either. This avoids user confusion when display capture doesn't work.
This does not change monitor count internally.
They now provide ingest URLs on demand in their panel.
The ones in our list point to random OVH IPs that are likely assigned to
new customers by now and refuse the connection on TCP port 1935.
The first audio track was not recorded following the API changes for
custom ffmpeg recording (adding multi-track support).
This fixes the issue (spotted by EposVox, thanks to him for the report).
The GDI+ based Text Source actually uses Premultiplied Alpha. The edges
of the fonts are therefore incorrectly blended, causing ugly artifacts
especially if bright text above a bright background is used. Here's an
image comparing the new text blending (left) to before (right):
![https://i.imgur.com/VhhkQcZ.png](https://i.imgur.com/VhhkQcZ.png)
Additionally, the game capture has the same problem, so premultiplied
alpha is used there as well now.
* UI: Fix mem leak with projectors
* UI: Fix mem leak with ScaleFilteringMenu
* UI: Fix mem leak with sourceProjector
* UI: Fix leak with preview projector in Source menu and Preview
* UI: Fix mem leaks with background color menu
* UI: Fix leak with deinterlace Menu
* UI: Fix leak with scene transition override menu
* UI: Fix leak with scene projector menu
* UI: Fix leak with filter shortcut in Main
* UI: Fix leak with filter shortcut in stats