When frames are skipped the skipped frame count would increment, but the
total frame count would not increment, causing the percentage
calculation to fail.
Additionally, the skipped frames log reporting has been moved to
media-io/video-io.c instead of each output.
libobs' shader language is basically HLSL, and tex.Load uses an int3 for
2D textures, with texture mipmap index for the last component. This bug
bypassed testing because the front-end automatically switches to OpenGL
if D3D11 initialization fails, and when converted to GLSL, works fine
because texelFetch only requires two components. This also means
there's a bug in GLSL shader conversion code, because it's essentially
ignoring the third component when it shouldn't be.
Fix a double free in the settings window that occurs on linux only.
The UI Element already gets deleted above as a child of the
advAudioGroupBox which is not present on linux.
Apart from making the code even more unreadable, this will likely
come back to haunt us if the advAudioGroup will ever be shown on linux.
Eventually, most things should be replaced with Load where applicable
(though in some cases sub-pixel sampling is desired).
This commit also fixes a bug where NV12 async sources wouldn't render
correctly.
On macs, some fonts can be in sub-folders of the font folder, and may
not properly be found. This fixes that to detect directories and make
the lookup recursive.
Allows safely/atomically replacing a file and creating a backup of the
original. The reason for adding this function is because Microsoft
provides a ReplaceFile function which does this in a single call.
A file rename will automatically replace the old file if an older file
exists, and will do so automatically. Unlinking is unnecessary, and may
have a chance of preventing that move operation from being atomic.
Fixes an issue where scene data would reset if the file was not found,
even if a backup file existed. This should prevent those remaining
stray cases where user's scenes would seem to be suddenly deleted if the
original file was deleted for some reason or another. The backup files
should always be available, so this should clear up that last remaining
case.
When building with VS2017 the compiler shows some warnings which is
undesirable.
The compiler rightly complains about declarations which hide older ones
which are trivially fixed.
Finally only POD types should be passed to variadic functions which is
why the String should be converted to c_str().
Relying on the current undefined behavior is a bad idea as it can change
with compilers and compiler versions.
Closesjp9000/obs-studio#902
With these new functions, plugin developers can enable, disable and
get the status of Studio Mode, as well as get and set the current
preview scene and transition the current preview to Program
Here is a list of the Studio Mode events:
- Studio Mode enabled
- Studio Mode disabled
- Previewed scene in Studio Mode changed
The audio subsystem of windows is by default configured to lower the
volume of other things while a communications device (mic) is currently
active. This patch prevents that from being enabled with OBS. If the
user needs audio ducking enabled again for whatever reason, there is now
an option to re-enable it in advanced settings.
Closesjp9000/obs-studio#884
* Supports both H264/AVC and H265/HEVC encoding.
* Fixed several crashes and bugs that plagued users.
* Massively reduced CPU usage caused by the plugin.
* Added settings for custom I/P/B Interval.
* Added settings for custom Frame Skipping.
Currently the captioning code is a bit intertwined with the UI, and the
captioning is hard-coded towards microsoft speech API.
This patch abstracts captions to allow other APIs to be implemented
later.
This adds close buttons to remux dialog, output timer dialog, and
advanced audio properties dialog. I also did a small refactor of the
remux dialog so the buttons were consistent with other dialogs.
Closesjp9000/obs-studio#876
Clears/reinitializes RTMP structure to defaults, preventing data from
potentially persisting between different connections.
Closesjp9000/obs-studio#878
After dragging and dropping a file, the source name will be the
filename.
(Jim: When dragging and dropping raw text, the raw text would then be
used as the source's name, which is bad if there's a lot of text. It's
now been changed so that it uses the source type's display name, i.e.
"Text (GDI+)" as the source name in that case)
Closesjp9000/obs-studio#888
This commit adds functions to get, set and save the service and its
settings, and is plugged straight into the existing internal functions
serving this purpose
(Jim: Fixed commit message and missing newline at end of file)
Closesjp9000/obs-studio#895
Changes "class" prioritization to attempt to find the window either with
the same title, or the next window of the same window class (window
type), changes "title" prioritization to only find the window based
upon its title, and changes "executable" prioritization to attempt to
find the window with the same title, or the next window of the same
executable.
Additionally changes the text associated with these selections to
clarify that functionality to users.