Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed. Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
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.
Allows an output to automatically specify which audio codec it requires
and use it instead of AAC. This change is intended to be
behind-the-scenes and seamless to the user.
Allows a service to specify the output it needs in order to function as
configured.
NOTE: This functionality should be considered temporary as a seamless
means of implementing support for different output types within the same
service. Ideally, different services should be used for this
functionality.
Prevents the output from hard-locking on itself when the stop call would
trigger the callback and then try to lock again. Probably could be
solved with a recursive mutex, but at that point it's not really
necessary.
The auto-configuration wizard is designed to allow first-time or
novice/uneducated users or to set up video and encoding settings in a
very quick and easy way. It'll automatically perform a bandwidth test,
and/or test the user's video settings to determine the most ideal
settings for streaming and recording (assuming a 1-pc setup).