The decay rate of the audio meters can now be selected in the audio
settings. The values are:
- "Fast" (OBS default, 40 dB / 1.7s)
- "Medium" (Type I PPM, 20 dB / 1.7s)
- "Slow" (Type II PPM, 24 dB / 2.8s)
Closesjp9000/obs-studio#1143
With the "instant-replay.lua" script, it would only play the last replay
buffer saved, meaning the user would have to save a replay with the
replay buffer hotkey, and then press the "Play Last Replay" hotkey to
play the last replay buffer.
Instead, combine the two and make the script save the replay
automatically first, and then play it back as soon as it's available.
This makes it actually qualify as an "instant replay" script, as its
name implies.
Lua uses 1-based index on table insertions, and lua_newtable has a bit
better performance than lua_createtable if initializing tables with an
unknown item count.
When using more than two channels, the channel map of pulse-audio is incorrect.
Add an API for getting a speaker map based on OBS speaker layout. Then use the
speaker map when connecting to a pulse-audio device, for both source and
monitor output.
If a filter's implementation (its plugin for example) no longer exists,
it would cause the source to stop rendering if that filter was present
on the source. Instead, just bypass the filter to ensure that the
source continues to render.
The memset in custom_audio_render() did not clear all audio buffers when
the number of output channels was less then 8. This caused wrong audio
output on mixes that did not get cleared.
Closesjp9000/obs-studio#1123
Uses the 'install' command in cmake to install scripting modules/files
(such as _obspython.so, obslua.so, and obspython.py), and changes the
install location of those files on all operating systems. If using a
non-unix structure install, those files will be installed in
data/obs-scripting/[32bit/64bit], otherwise with unix structure installs
those files will be installed to [/usr/local/lib]/obs-scripting.
Before the new volume meters were implemented, the meter would flash red
if the audio was clipping. This functionality was removed when the
meters were changed, whether intentionally or unintentionally, and this
patch puts that functionality back in. If clipping occurs, the meters
will be fully colored with the foregroundErrorColor value while the
clipping is occurring.
Adds a source which tests whether audio buffering affects audio sync.
This sync test cycles through 7 audio/video frequencies at 250
millisecond intervals, and via a hotkey, will artificially move audio
time back by one second (and the audio cycle back by 4 frequencies).
This will artificially increase audio buffering by approximately 750
milliseconds.
Results from this test as of this writing: this test proves that dynamic
audio buffering does not affect sync.
This reverts commit 94b5982216f253f4f4d355109a6dcb81f3a3b980.
Reverting this commit because it had some negative side effects, such as
adding 500 milliseconds to the startup time. NVENC detection should
really be done through its proper API, and not via creating an encoder
on startup.
Due to reports that the bandwidth test is randomly causing community
strikes on Youtube (likely due to bad automatic detection), the
bandwidth test will be disabled for Youtube until the Youtube API is
implemented.
Fixes an issue where text would not have language glyph fallback if
another language would used. This problem still needs a solution on
linux/mac (and preferably a fix for language glyph fallbacks when using
freetype 2 in general).
This commit fixes a bug that occurs on Windows 8+ when two or more
"Display Capture" sources are active that are configured to capture the
same monitor. Only one display capture would show, while all subsequent
display captures would display nothing.
Closesjp9000/obs-studio#1142