Current build scripts rely on comparing a architecture string provided
by the OS which will be localised in certain languages.
This change uses a boolean 64-bit flag to use script-defined identifiers
to avoid this issue.
This provides the framework for automatically compositing SDR and HDR
sources together. Source will need to leverage the new
video_get_color_space to opt into HDR support.
Status output related to OBS configuration is prefixed with the string
"OBS" and added padding for enabled and disabled features. This padding
was not aligned between platforms.
By moving the padding and prefix decoration into its own function,
both elements are controlled in a single place. CMake scripts were
changed to use this new function `obs_status` instead of using CMake's
`message` function directly.
sizeof(AVPacket) being a part of the public ABI is deprecated. once
av_init_packet() is removed, new packets will only be able to be
allocated with av_packet_alloc().
In ffmpeg-mux, ffmpeg-vaapi, and obs-ffmpeg-nvenc, AVPacket is allocated
at the initialization to avoid frequent allocation of AVPacket.
Includes changes to win-dshow.
In the years since this code was added, ALPN is now widely supported,
and NPN is being removed entirely in the latest version of nginx. It's
time to start using ALPN!
obs-plugintemplate uses the `obs_libraries` component to install
obs components required for plugin development. The need of the separate
`pdbs` directory was removed a while ago (as PDB target installation
can be flagged as `OPTIONAL` and enabled for specific configurations
only). This part was overlooked in that change.
Use the entries in the matrix.ubuntu property to differentiate the
Linux CI artifacts. This allows us to have separate artifacts for each
job configuration created by the matrix.
Update all of our GitHub Actions to the latest versions. Notably, the
update to actions/cache gives support for the 10GB GitHub Actions cache,
and the updates for the other first-party actions are required for
future M1 runner support.
Windows and Linux do not require a contained application bundle to run
and debug OBS - as such targets can and should be copied independently
from the main OBS application target.
Also silences the output of the `install` step that sets up those files.
While Qt Designer doesn't care about casing, the XML schema spec does.
Due to Qt Creator automatically changing case on save, require the
uppercase variant in all situations, so that other devs don't have to
manually change the case after Qt Creator changes it.
NOTE: This introduces an adjustment to the spec, different from what
Qt provide from Qt Designer. If this file is changed in future, this
diff may need to be manually re-applied.
https://doc.qt.io/qt-5/designer-ui-file-format.html
Qt Creator automatically adjusts these files when opened. Rather than
contributors having to manually undo these changes, just apply them
directly into the repository.