Warns users that two separate QSV encoders can't be active at the same
time.
This should be considered a temporary solution to two issues:
1.) Encoders need to be able to report these errors themselves
2.) If the QSV encoder is ever changed to allow more than one encoder at
the same time this should be removed
Fixes a race condition during shutdown where the dialogs aren't deleted
before another render attempt occurs, by which time the sources are
already freed, resulting in a crash.
Bitrate limit warnings wouldn't be correctly shown if service settings
are changed but not yet saved before modifying the bitrates/settings.
It would use the currently active service settings instead of the
changed values.
This error implies to the user that the server still thinks they're
logged in, but that apparently no longer happens (at least on Twitch).
If the error happens, it usually means that the key is invalid or that
there's some general server issue, so update the message to reflect
that.
Allows the user to specify custom formatting for their recording file
names with many formatting options, viewed via tooltip. The options
have been added to the advanced settings section.
Closesjp9000/obs-studio#507
Maps specifiers and accepts ones that work across multiple OSes.
On some systems, depending on locale, the specifier may resolve to an
empty string or nothing. GenerateSpecifiedFilename will avoid
conversion of the specifier if this happens, to help guard against this.
(Note: This commit also changes the UI)
Changed:
-------------------
void obs_load_sources(obs_data_array_t *sources_list);
To:
-------------------
void obs_load_sources(obs_data_array_t *sources_list,
obs_source_load_cb callback, void *private_data);
Signals should really never be required to use to make some function
work properly. The "source_load" signal was required for the
obs_load_sources function, but it's meant more for loading private data
in the settings, not for general loading of sources.
This changes it so that a callback is explicitly required to load the
sources.
It seems more intuitive if the recording paths for the Simple
Output, Advanced Default Output and Advanced FFmpeg Output are
linked together, so that the user does not have to manage three
paths if switching between the different options.
The UI elements are also connected so that a change to one
signals a change to the others with the corresponding config
setting.
Originally there was an issue using FLAC for audio in AVI files, AVI
files wouldn't play back with some players. Because FLAC doesn't work,
and lossless should be lossless, instead just used uncompressed WAV
data for the lossless audio, which is always supported.