Disable QSV encoder settings if QSV isn't selected as encoder
Clarify UI string in the QSV settings pane

In case people get confused why they can't
enable custom parameters for x264 or NVENC
Fix toggling between Replay Buffer/Recording button when changing profile
Rename ThreadDeleter to ThreadCloser and add proper ThreadDeleter
Make MP4Filestream copy all metadata on first frame output

This should resolve problems between outstanding save requests in
the replay buffer and mp4 output
Limit ReplayBuffer thread init time when shutting down

In particular, querying all encoder metadata has
to be completed before any of the encoder
destructors are allowed to run. Normally this isn't
a problem, unless saving and stopping the replay
buffer happen in quick succession
Move CopyMetadata to Init in MP4FileStream

Fixes a crash when closing the MP4FileStream before actually
writing/receiving any packets
Fix typo in Replay Buffer
Disable FastAlloc for 64 bit builds

FastAlloc only uses the lower 32 bits of a pointer to index its internal
structures which is a problem for allocations with size >= 0x8001,
because multiple big allocations can have the same values for bit 16 to
bit 32, which causes FastAlloc to discard its info about the previous
allocation
Release packets earlier in the ReplayBuffer

With very high bitrate settings the replay buffer would severely violate
the memory usage estimate because it wouldn't release any frames until
it was done writing the file, which could take a long time depending
on the storage subsystem
Workaround github API issue
Added "Import" button in Global Sources Dialog.

The "Import" button opens a "Open" dialog where a user can open a scene collection file then it lists all Global Sources from the selected scene collection in a dialog.

You can Import multiple global sources by holding shift or Ctrl and clicking on the Global sources you want to import.

With this change scene collections have their own Global Sources but users can import Global Sources from other scene collections.

If you make any changes to a Global sources properties and want the change in another scene collection you will need to remove the global source in the other scene collection and then import it again.

You can't import Global Sources if there is already a Global Source with the same name.

Hopefully this makes it simple and fast for users to import their commonly used Global sources like for
example followers alerts.
Use absolute paths for opening files where possible

Works around various 3rd party nasties that change the working directory and don't set it back properly.
Log message when using a non-default IP binding
Fix Broadcast Settings mode switching for rtl locales
Add StringList::Join utility
Refactor status bar output status handling
Separate Replay Buffer from normal file recording
Add date/time replacement for save path

Also OBS will now automatically create directories when needed
Add separate setting for Replay Buffer File Path