10301 Commits

Author SHA1 Message Date
Richard Stanway
0438d60499 UI: Remove duplicate translate_button macro call 2021-12-08 02:24:50 +01:00
Colin Edwards
0aa9603a88 aja: Fix crash in output settings when no card present 2021-12-07 19:08:29 -06:00
Colin Edwards
54e5252906
aja: Disable plugin if no devices are found 2021-12-07 18:52:12 -06:00
Colin Edwards
b4cfc6bcf4 CI: Add obsdeps to dylibBundler search 2021-12-06 14:09:39 -06:00
wangshaohui
00e6f6e023 libobs: Fix missing return when loading non-OBS DLL 2021-12-06 14:30:26 +01:00
Colin Edwards
61ca8d47aa
CI: Add extra rpath for macOS test binaries 2021-12-06 01:12:29 -06:00
Colin Edwards
3bf21618f1
CI: Bump WINDOWS_DEPS_CACHE_VERSION 2021-12-06 00:07:56 -06:00
Colin Edwards
b58f83a44d CI: Update macos deps to 2021-12-05 2021-12-05 23:45:21 -06:00
Richard Stanway
fad299f99f
aja: Static analysis bug fixes
* aja: Use inline const for header initializations

Avoids duplicating across compilation units. Detected by PVS Studio.

* aja: Avoid unnecessary type conversions

Detected by PVS Studio.

* aja: Remove duplicate assignments

Detected by PVS Studio.

* aja: Fix return value of aja_output_create

Detected by PVS Studio.

* aja: Remove unused variable

Detected by PVS Studio.

* aja: Fix compiler warning

* aja: Remove unreachable if branch in aja routing

* aja; Cleanup return in card manager

Co-authored-by: Colin Edwards <colin@recursivepenguin.com>
2021-12-05 22:17:39 -06:00
Vainock
904083a259 CI: Increase Crowdin Sync Checkout Fetch Depth
This fixes an issue when more than 1 commit gets pushed.
2021-12-05 22:05:58 +11:00
Matt Gajownik
9f8a7f09ee CI: Update Crowdin Sync workflow to 0.1.1
See https://github.com/obsproject/crowdin-synchronization/pull/6
2021-12-05 13:00:52 +11:00
Georges Basile Stavracas Neto
d49c09c738 CI: Don't publish betas to Flathub stable
Beta releases are being considered, in which case the tag
name will contain '-beta' instead of '-rc'. Adapt the CI
workflow to take '-beta' into account too.
2021-12-04 21:00:09 -03:00
gxalpha
87fc27c254 text-freetype2: Fix unused parameter warning 2021-12-04 15:23:07 -08:00
gxalpha
ec7c49a569 obs-filters: Fix unused parameter warnings with speex disabled 2021-12-04 15:23:07 -08:00
gxalpha
e6153dae9a UI: Fix unused lambda capture warning 2021-12-04 15:23:07 -08:00
Matt Gajownik
0b67dc0285 UI: Uniquely identify Custom Browser Docks 2021-12-04 15:08:46 -08:00
Matt Gajownik
1acc14e189 UI: Fix service integration with older Qt versions 2021-12-01 18:53:11 +11:00
Matt Gajownik
bc9911f5a6 UI: Pass parent QWidget to Browser Docks 2021-11-30 23:28:20 -08:00
gxalpha
3dbdd4b312 UI/importers: Automatically detect SL Collections on macOS 2021-11-30 23:19:13 -08:00
Norihiro Kamae
f8bcc190e2 obs-ffmpeg: Fix memory leaks if replay buffer failed
When releasing a darray mux_packets at error, contents of mux_packets
are not released. It causes memory leaks if error occurs during saving
the replay buffer to a file.
2021-11-30 21:53:34 -08:00
columbarius
c1b87e70ef linux-capture: Fallback on older PipeWire versions to SHM
PipeWire server versions older than 0.3.24 can be incompatible with
clients build against a newer library version with respect to DMA-BUF
sharing. So we want to fallback to SHM transfer. This commit adds
checks for older versions.

These are classified as follows:
* PipeWire components older than 0.3.24: Restrict to SHM only
* PipeWire components with version 0.3.24 and newer: Announce DMA-BUF
  support via `SPA_PARAM_BUFFERS_dataType`
2021-11-28 19:43:24 -03:00
columbarius
9f7de79004 linux-capture: Query used PipeWire versions
This enables us in the following commit to announce different
capabilities wrt. those versions.
2021-11-28 19:43:24 -03:00
jp9000
243880b9ce libobs: Fix add/remove of raw audio callbacks 2021-11-28 02:49:04 -08:00
Matt Gajownik
f2592624db obs-browser: Update to 2.17.0, add CEF 4638 support
This also fixes a flickering texture issue in browser sources.
2021-11-28 09:11:04 +11:00
Georges Basile Stavracas Neto
0d91bfd281 UI: Add kudos to AppData file
Kudos are read by app centers such as GNOME Software and Discover
to calculate the "awesomeness" level of the application. OBS Studio
qualifies for two of these kudos: the "hi-dpi icon" kudo, since we
have 128x128 and bigger icons; and the "modern toolkit" icon, since
we use Qt5.

Add these kudos to the AppData file, and let app centers tell the
world how awesome OBS Studio is :)
2021-11-26 13:49:33 -03:00
VodBox
c3409b5bb5 frontend-tools: Cleanup libobs C++ type use 2021-11-26 23:23:52 +13:00
VodBox
3d544653e8 UI: Cleanup libobs C++ type use 2021-11-26 23:23:51 +13:00
VodBox
a8c30373d6 libobs: Add AutoRelease OBSRef wrappers for OBS types
These AutoRelease versions of the C++ OBSRef types do not add a ref on
construction, which is useful when accepting the result of a function
that turns a raw C pointer type that has had a reference added.

Not having these types has resulted in multiple awkward anti-patterns.
Such as immediately releasing after construction to account for the
extra addref, or avoiding using the C++ type entirely and manually
releasing it later.

Example:
```
OBSSource source = obs_get_source_by_name(name.c_str());
obs_source_release(source);
```

The whole point of these types is to avoid the need for manual releases,
and rely on the RAII mechanisms inside of C++. Additionally, the
immediate release isn't commented anywhere, resulting in confusion for
other developers looking at the code as to why things are being
immediately released.

The AutoRelease types and names are taken from obs-websocket.
2021-11-26 22:35:03 +13:00
Matt Gajownik
ab5d41c445 UI: Add separator before Custom Browser Docks in Dock menu 2021-11-26 18:06:51 +11:00
Matt Gajownik
a150fe7573 UI: Remove unused/nonexistent signal/slot connections 2021-11-26 17:28:34 +11:00
Warchamp7
a33c5c6be1 UI: Move Docks into top level menu
Managing the OBS UI docks is a core feature and as such should be
at the top level of the menu
2021-11-25 11:30:55 -08:00
Georges Basile Stavracas Neto
0d3ce3dfe6 CI: Allow Flatpak audio plugins be found
Add an extension point for org.freedesktop.LinuxAudio.Plugins,
and create the corresponding folder at post-install time.

Commit originally made by @hfiguiere for Flathub.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto
baead91374 CI: Add extension point to Flatpak plugins
This is what the Flathub manifest does, which allows for plugins
distributed through Flatpak extension points.

Add extension point for Flatpak-distributed plugins.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto
4453cca6a7 CI: Update Flatpak's v4l-utils to 1.22
No functional changes.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto
b36b204eed CI: Update Flatpak's x264
In the future, a full FFMPEG build with x264 and nvenc will be
provided as an extension to the org.freedesktop.Platform runtime,
but for now we have to manually build it.

Update x264 to the latest git commit.
2021-11-25 09:20:05 -03:00
Vainock
e390b4bf7c CI: Add Crowdin Synchronization 2021-11-25 20:59:11 +11:00
Matt Gajownik
c45c261a9c UI: Add missing Interact tooltip in compact source toolbar 2021-11-25 20:09:46 +11:00
Matt Gajownik
13390b24b7 UI: Expose cURL error if Remote Text error text is empty 2021-11-25 00:57:00 -08:00
gxalpha
f2fda20572 UI: Minimize context bar when too small
This change removes the minimum total size from the context bar, instead
removing certain elements when the size is too small. This means that
users will still be able to make OBS smaller in width while keeping the
context bar enabled.

First, the properties, filter and interact buttons will get reduced to
just the symbols, if it gets even smaller the source specific menus are
hidden.
2021-11-24 13:40:29 -08:00
Georges Basile Stavracas Neto
c085ae025f CI: Drop "(Experimental)" from the Flatpak workflow
It just cannot get more official than this!
2021-11-24 17:48:26 -03:00
Georges Basile Stavracas Neto
5acfa27c74 CI: Publish releases on Flathub
Now that Flatpak has achieved full feature parity with non-Flatpak
builds, it is time to publish it directly into Flathub.

Add a new "publish" job to the Flatpak workflow that builds and
publishes to Flathub Beta, and to Flathub (if the release tag
doesn't contain '-rc').
2021-11-24 17:48:26 -03:00
Georges Basile Stavracas Neto
e1e1a0de0f CI: Use version 4 of the flatpak-builder action
None of the changes included in v4 affect OBS Studio, but since
we're already touching this code, let's make sure it's updated.
2021-11-24 17:48:26 -03:00
Georges Basile Stavracas Neto
b389b1bed0 CI: Trivial job renaming
Rename "flatpak_builder" to "generate_bundle", and set the display
name to "Generate Flatpak Bundle". This will make it less vague,
which will come in handy since next commits will add new jobs to
this workflow.
2021-11-24 17:48:26 -03:00
Georges Basile Stavracas Neto
12069d6714 CI: Make YAMLint happy
Add a start-of-file heading, and reindent some line. Only cosmetics,
no behavioral changes here.
2021-11-24 17:48:26 -03:00
Georges Basile Stavracas Neto
f37ca2efb1 .gitignore: Add flatpak-builder folders
This causes no problem whatsoever, it's just good to
keep some hygiene over ignored files.

Add generated Flatpak files and folders to .gitignore.
2021-11-24 17:48:26 -03:00
derrod
060f24ad49 CI: Update XML/clang-format validation job names 2021-11-24 12:28:26 -08:00
Georges Basile Stavracas Neto
26f1bfd05f linux-capture: Implement stream restoration
With the version 4 of the screencast portal, it is now possible
to request and use restore tokens [1] so that apps can restore a
previously configured screencast session without user interaction.

Add the corresponding code to linux-capture's PipeWire source.
Store the restore token in the source data, since each restore
token corresponds to an OBS source, and use it as soon as we try
to create a new session. Implement the obs_source_info.save vfunc,
and save the restore token when it's received by the Start()
response using obs_source_save().

[1] https://github.com/flatpak/xdg-desktop-portal/pull/638
2021-11-24 11:42:06 -08:00
Georges Basile Stavracas Neto
8537c7593c linux-capture: Add getter to screencast portal version
This will be used by the next commit to verify whether or not
to pass the restore token and persist mode options.
2021-11-24 11:42:06 -08:00
Georges Basile Stavracas Neto
dc63f63d9d UI: Install correct logos
Until now, we've been installing the UI/forms/images/obs.png asset
as the logo. However, that's not officially the logo we should
be using.

Install the correct logo assets. Add 128x128, 256x256, 512x512,
and scalable variants.
2021-11-24 01:36:44 -08:00
Clayton Groeneveld
d45e92c10c libobs: Add raw audio callback function
This complements the already existing raw video callback function.
2021-11-24 01:32:31 -08:00