VFR encoding mode was originally added experimentally, but in truth,
it's nothing but a detriment because it can cause wild bitrate
fluctuations. It's still a constant framerate even when VFR mode is on
anyway.
Instead of having an extra config button that essentially wastes
valuable window space, allow the ability to open advanced audio
properties from each audio meter config button.
When the slideshow is deactivated (not shown to the stream), makes it so
that it can either continue playing regardless, pause, or restart the
slideshow when the source is activated (shown to the stream) again.
Split from jp9000/obs-studio#976
With the newly released Driver 17.7.2, AMD fixed many reported issues and added some much wanted features:
- Pre-Pass and VBAQ are finally working,
- H265/HEVC content can distinguish between IDR- and I- Frames
- and also supports Color Range and Color Space now,
- and the 32-bit only text log crash was fixed.
And now it's time for the plugin to also be updated! This release primarily aims at adding support for AMF 1.4.4 and improving support for older drivers, with some of the recently discovered bugs and crashes fixed.
Hotfix 1: Fixed VBAQ and Pre-Pass being used with Constant QP, causing significant corruption issues and changed some default values for H265.
## Changelog
### 2.2.1
* Fixed a frame corruption bug with Constant QP caused by toggling VBAQ and Pre-Pass after it had already been applied.
* Changed the default value of 'Enforce HRD' to 'Enabled' for H265/HEVC encoding.
* Changed the default value of 'Deblocking Filter' to 'Disabled' for H265/HEVC encoding to fix corruption in strict decoders. (Premiere Pro, After Effects, Vegas, VLC (Software))
### 2.2.0
* Added support for AMF 1.4.4 and improved support for older drivers like 16.11.5 and 16.12.1.
* Fixed a memory corruption crash due to misuse of managed DirectX 11 objects.
* Fixed a frame corruption bug caused by applying 'VBAQ' and 'Pre-Pass' when using 'Constant QP' Rate Control Method.
* Fixed a string comparison bug causing Simple Output Mode to always use the Profile 'Constrained Baseline'
* Fixed a crash when enabling 'Debug' on 32-bit OBS caused by different type sizes.
* Fixed a crash with H265/HEVC caused by use of the undocumented Intra-Refresh properties.
* Changed the default value for 'Profile' to 'High'.
* Changed the default value for 'VBAQ' to 'Disabled' for improved performance.
* Changed the default value for 'Queue Size' to 8 for improved stability in spontaneous load situations.
* Changed the log crash work around to only apply to older AMF versions than 1.4.4.
* Removed unnecessary configuration changes.
* Removed unsupported Pre-Pass options 'Half Size' and 'Quarter Size'.
This commit fixes two regressions introduced by the modular UI (commit
25bb8a444fb3a7ca6c19a429f2d89e83a6ddb823):
- the Delete key no longer works in the scene list
- the Delete key no longer works working in the source list
This commit also enables the Delete key on sources that were selected by
clicking on them in the preview, which addresses Mantis Bug 576
(https://obsproject.com/mantis/view.php?id=576).
Instead of logging the relative encoded count (which is susceptible to
integer overflow), log the output frame count instead. If there's an
issue with encoding, it'll show up when all encoding stops regardless.
This reverts commit 4e3e67bb8cf6cb508b4d30b85451c0c4f20b7539.
The way this is handled will erroneously report 0 frames encoded when
frames have actually been properly encoded, which is best avoided.
Additionally, and overflow would be generated for drawn frames where
none occurred before. The encoded value should probably not even be
present in the log for the output due to the way it's handled.
This reverts commit 2604db6e404cc1719ae779961ca12ed27fd06e89.
The API to get the closest server can be down occasionally, so instead
just revert to its previous behavior.
Due to an oversight in enc-amf with strcmp, the code currently causes
certain weirdness to appear. This fixes it so it will use "High"
Profile instead of attempting to use "Constrained Baseline" and also
changes it to actually set things up for "Constant Bitrate" instead of
"Variable Bitrate (Latency Constrained)". Finally I've added a slight
change that always makes it set the B-Frame Pattern to 0 in order to
work better with VCE2.0 and VCE3.0 cards.
Closesjp9000/obs-studio#978
Updates ingests via Twitch's ingest API. The servers are ordered by
closest to farthest from the user via the API. It's probably still good
to keep the services.json Twitch ingests updated in case there are
issues with the Twitch ingest API, but otherwise the ingests will update
from Twitch itself every time the program is opened automatically.
The user agent for the obsproject.com ingest update request would have
the version string baked in to the plugin, so if the plugin library
wasn't updated with the rest of the project, it would return the
incorrect version. This makes sure it returns the correct version by
requesting the version string from libobs itself.
Some plugins are using the OBS_VERSION macro obs-config.h to specify the
current version, which will bake the string in to the plugin, making it
so that if the plugin is not replaced for a patch, it could potentially
have the incorrect version. This makes it so that a plugin/frontend can
get the current version string that's baked in to libobs itself.
This fixes the issue presented in:
https://obsproject.com/mantis/view.php?id=885
Minimum size is changed to 700x512. I arrived at this number from testing
the minimum sizes that I felt the settings UI was still perfectly usable
and readable. Any smaller, and things became difficult to see and adjust.
As a note, this does increase the minum width of the settings window, as
the previous minimum allowed you to cut off objects and render the window
too small to be usable.
QMainWindow::resizeDocks isn't supported on certain long-term support
distros (ubuntu trusty in particular), so instead just restore the
starting state and don't try to recalculate the ideal positioning.
Changes the UI to an adjustable user interface, allowing the user to
fully customize how the scenes list, sources list, the mixer,
transitions, and the buttons are oriented on the main window window.
If the service settings change and the output type changes, the previous
signals would attempt to disconnect after the output has been destroyed,
and subsequently that would cause a crash.