Rather than inheriting the exact visuals from the window,
find whether the color buffer has alpha, find a config with
the necessary attributes for capture, and match its depth to
the depth of the window instead of the color buffer. Also,
cleanup glxpixmap texture binding before destroying the texture.
Update: Style conformancy changes
Previously toggled swapRedBlue every update regardless of settings being set, which resulted in
moving or resizing of windows causing undesired color-swapping behavior. Also now use more direct
method of comparing visualIDs without type-casting and base the glxpixmap attributes on texture
format being used rather than the bit-depth of the window.
Adds support for windows with alpha channels as well as swapping red
and blue when using GS_BGRX. glXFBConfig now attempts to inherit
its format from the captured window when possible.
Change log message
Makes Visual C runtime libraries consistent across
Debug/MinSizeRel/Release/RelWithDebInfo, rather than just changing those
flags for RelWithDebInfo. Also adds /Zl for statically linked
libraries.
Closesobsproject/obs-studio#1421
(This also modifies the CI scripts accordingly)
It was difficult to build local obs-browser builds on macOS due to the
way the frameworks work and libraries are linked. This solves that
issue so that local builds of obs-browser should always work fine.
obs-scripting CMakeList.txt expects SWIG, Python3 or Luajit to enable
scripting so in case of not finding just return and don't abort
the configuration
Adds api functions to extract gs_eparam_t values, including
gs_effect_get_val(), gs_effect_get_val_size(),
gs_effect_get_default_val() and gs_effect_get_default_val_size()
Gives the ability to retrieve param annotations. Blocks wrapped in <>
following a parameter.
For example:
float slider < float max_value = 10.0; float min_value = 0.0; >;
These blocks are not for shading purposes but to help describe the
shader's gui as in the example above.
Adds graphics api functions for retrieving annotations:
size_t gs_param_get_num_annotations(const gs_eparam_t *param);
gs_eparam_t *gs_param_get_annotation_by_idx(const gs_eparam_t *param,
size_t annotation);
gs_eparam_t *gs_param_get_annotation_by_name(const gs_eparam_t *param,
const char *name);
Variables path and dir with the same declared size triggers a compiler
warning about possible truncation. Although, depending on the path
where profiles are stored, its still possible to go beyong the declared
size and the path will be invalid. This will not trigger any
compilation warning and all invalid paths will be cought by the already
check in the os_glob function.
Some security layer libraries code path used by the rtmp output had a
not used variable and not used param on HMAC_finish macro that was
triggering warnings during compilation.
On 64bit systems, this check will always evaluate to false due to
SIZE_MAX type and triggers a compiler warning.
This both makes it clearer that its only needed on 32bit system and
clear the compiler warning.