When the feature was added to allow slashes in recording/replay
filenames to automatically create directories, auto-remux was not
accounted for, and all filenames were assumed to be complete. It used
fi.completeBaseName() to construct the new name which would only add the
last part after the last slash as the filename, causing the remuxed file
to save in the base directory rather than the intended directory. This
fixes that by simply using the input string as the output string,
removing the extension, appending the new extension.
Because the virtual camera stops immediately when you call
obs_output_stop() rather than with a delay like other outputs, it
exposed a bug where the tray icon would show OBS as active when stopping
the source, regardless of the fact that it was stopped. The bug was
that the expression used to activate the tray icon did not check to make
sure that the output was actually active, so add that to the expression.
The BasicOutputHandler::Active() function was used for checking whether
outputs had started or not. However, the virtual camera is not used in
the subclasses; instead it's a part of the base class. Because of that
fact, when the virtual camera is started, the procedures used to start
up the other outputs are never called, causing outputs to crash because
they hadn't been initialized properly. For example, starting the
virtual camera, then starting stream/recording would crash.
So, as a simple fix to this, when checking the active status in the
derived classes, do not factor in the virtual camera.
The edit widget on the image source toolbar had a maximum width set,
which caused the layout for the toolbar to look ugly if it hit that
maximum width.
When selecting a color on the color source, if you pressed cancel, it
would cause it to set the color to black. Instead, make sure to check
isValid() on the returned color value to see if the user pressed cancel
when selecting a color.
While editing a scene name, the Qt shortcut key for the renameScene
action remained active. If the user pressed the shortcut key while
actively editing a scene name, the widget would retrigger the action,
causing the name edit to fail and discard the current changes to the
scene name. The scene name would be reset to its previous saved value
and reselected as if the user had pressed the shortcut key for the first
time.
This commit removes the QAction associated with the shortcut key from
the scenes dock widget when editing starts and adds the action back to
the widget once editing is done.
Fixes#3044.
Because devices can take significant time to enumerate, defer the
properties creation to a separate thread. The author of this commit
feels a great amount of displeasure over having to write this.
This changes the "View Current Log" option in the
Help menu from a toggle to always open the log viewer,
and bring it to the front when it's already open.
Apparently, on Linux, you cannot update the window flags while it is
still open, so just close the projectors and reopen them again when the
setting changes.
Fixes bug where multiview won't update when reordering scenes with drag
and drop. Was originally fixed with #2114, but bcddf4d caused a
regression where it didn't work anymore.
In a discussion on Discord the consensus was that 48 kHz is a better
default. This was prompted by the merge of the rnnoise library which can
only handle 48 kHz natively. 48 kHz is also more commonly used as a
default on personal computers.