Commit graph

13958 commits

Author SHA1 Message Date
Aleks Todorov 4953c5d517 obs-webrtc: Avoid crashing on invalid answer
PeerConnection::setRemoteDescription validates the input SDP, throwing
an exception whenever it is invalid.

Currently, instead of handling the exception, we just crash.

Instead, add an exception handler which logs a short description of the
issue as well as the error message from the exception.
2024-03-07 13:52:00 -05:00
Bart F e4ec414690 rtmp-services: Add SharePlay.tv 2024-03-07 11:50:32 -05:00
Ramjivan Jangid 5bfcedcad8 rtmp-services: Add Streamway to ingest list 2024-03-07 11:35:50 -05:00
WuLongyue 1e163d795e rtmp-services: Add "CHZZK" platform 2024-03-06 19:52:22 -05:00
Sherwin Dapito 71660dc9a1 rtmp-services: Update Switchboard Live servers 2024-03-06 19:25:27 -05:00
Tobias Speicher 97375e541b rtmp-services: Add "Vault - by CommanderRoot" to ingest list 2024-03-06 19:01:59 -05:00
Vainock 7ae66c72fd Update translations from Crowdin 2024-02-28 14:20:05 -05:00
pkv 5bd22afe41 UI: Correctly toggle audio multi-track buttons
This toggles audio multi track display in Output settings when:
1. When there is a signal that a stream service is changed to a non
custom one. Indeed multi-track audio is only available with Custom
service and only with SRT or RIST protocols.
2. When a Custom service is picked, and SRT or RIST are detected in the
server URL.
3. When Stream settings are saved when one hits Apply.
This is in addition to the toggling done when loading Stream Settings.

Signed-off-by: pkv <pkv@obsproject.com>
2024-02-27 18:26:09 -05:00
pkv ef19644e5e UI: Remove LoadOutputSettings from save sequence
This removes the LoadOutputSettings() called in SaveStream1Settings.
It caused a bug when trying to save Output settings when both Stream
and Output settings have been changed but the changes have not been
applied by hitting the 'Apply' button in Settings.

Signed-off-by: pkv <pkv@obsproject.com>
2024-02-27 18:26:09 -05:00
cg2121 5a27d93cfa UI: Fix context bar not updating on delete
This fixes a bug where the source context bar wouldn't update
when a scene item is deleted.
2024-02-27 15:26:26 -05:00
Ryan Foster cdef2a2068 CI: Update deps to 2024-02-26 release
Notable changes:
 * deps.ffmpeg: Revert libsrt to 1.5.2 to avoid a crash
2024-02-27 15:05:25 -05:00
PatTheMav 629b60f328 CI: Fix broken pip install to use ephemeral virtual environment
Python 3.11 and later support a system-wide configuration setting that
marks the system packages as "externally managed" (e.g. to force using
apt packages instead of pip packages).

This breaks installation of the modules necessary to run the validators,
so use a virtual environment instead.
2024-02-27 14:50:02 -05:00
PatTheMav 193019d214 CI: Fix scheduled language file check running on same commit hash
When a prior scheduled nightly run is detected with the identical
commit hash, then the entire language file check should be skipped.

This adds the missing condition to skip the check for changed files
removing the unnecessary warning contained in the workflow results.
2024-02-26 17:31:22 -05:00
PatTheMav 745f87f21f mac-avcapture: Fix frame rate collection for camera device formats
Some devices will report different framerate ranges for formats that
are identical apart from color primaries. Without taking these into
account, only framerates for one color primary variant would be used
to populate the framerate dropdown in the property view of the camera
source.

Checking for a difference in color primaries when iterating over all
available formats for a device thus requires checking for this
variation and adding the additional frame rate range as well.
2024-02-24 17:38:18 -06:00
tytan652 409bd12db3 CI: Update Flatpak AppStream validation
Also add AppStream validation to Build Project workflow
2024-02-23 09:40:06 -03:00
tytan652 63eef36786 CI: Add appstream type support to flatpak-builder-lint action 2024-02-23 09:40:06 -03:00
Ryan Foster ba4f17e114 CI: Update deps to 2024-02-20 release
Notable changes:
 * deps.ffmpeg: Force classic linker for AppleClang 15.0.0+
 * CI: Update macOS jobs to use macOS 14 runners
 * deps.ffmpeg: Enable runtime CPU detection for AOM to fix ARM64 crashes
 * deps.ffmpeg: Update zlib to 1.3.1
 * deps.ffmpeg: Update aom to 3.8.1
 * deps.ffmpeg: Update mbedTLS to 3.4.1
 * deps.qt: Update Qt6 to 6.6.2 for Windows
 * deps.qt: Update Qt6 to 6.6.2 for macOS
 * deps.qt: Restore native dialogs on macOS
2024-02-22 00:06:14 -06:00
Ryan Foster 7a35ae2cb6 UI: Fix Remux window only being usable once
The beginInsertRows/endInsertRows calls seem to signal that the rowCount
has changed, and that views should adjust accordingly. The isProcessing
boolean changes the returned value of RemuxQueueModel::rowCount, which
seems to cause the empty row in the table model to disappear
permanently. I still don't know why it used to work this way and no
longer does.
2024-02-22 00:05:58 -06:00
Georges Basile Stavracas Neto 48b5affc5b CI: Update Flathub screenshots URL
This is what Flathub uses now. It's an implementation detail that will
eventually be hidden away in a Flathub-specific publish action. But for
now, we still publish directly, and we have to adapt.
2024-02-21 16:48:37 -05:00
Georges Basile Stavracas Neto 8438c08ced CI: Switch to flathub-infra actions
They contain a more recent commit with a fix for a flatpak-builder
regression.
2024-02-21 16:48:37 -05:00
Lain 33043a0c3e obs-websocket: Update to version 5.4.2
Fixes a versioning issue
2024-02-21 11:22:59 -06:00
Lain 4b138f674f libobs: Deprecate scene item transform API
In order to support crop_to_bounds, deprecates:
obs_sceneitem_set_info
obs_sceneitem_get_info

In favor of:
obs_sceneitem_set_info2
obs_sceneitem_get_info2
2024-02-20 21:46:13 -06:00
Lain cf1c5962ff obs-websocket: Update version to 5.4.1
Fixes future deprecation warnings
2024-02-20 21:46:13 -06:00
Exeldro 806c72fc66 libobs: Save crop to bounds when saving transform states
(Lain note: Splitting parent commit. This was probably unintentionally
not taken into account in the origin crop_to_bounds PR.)
2024-02-20 21:18:51 -06:00
Exeldro f275080abb libobs: Fix crop to bounds ABI break 2024-02-20 21:18:51 -06:00
test 66d210cf1b UI: Fix problem with Yes/No message box buttons not translated 2024-02-20 18:08:16 -05:00
PatTheMav 03c42e5b93 mac-avcapture: Fix crash issues on Intel-based Macs and older macOS
Fixes several possible crash issues that might occur on Intel-based Macs
and older macOS versions:

On modern macOS versions (13+) allocated memory is zero-allocated by
default which makes NULL pointer checks work correctly after allocation.

On older macOS versions this is not the case, so the OBSAVCaptureInfo
struct needs to be zero-allocated to ensure the guards in the tick and
render functions bail out correctly.

On Intel-based Macs and/or older macOS versions passing a reference to
the OBSAVCapture instance inside the OBSAVCapture struct can lead to a
crash because of a possible circular reference that cannot be resolved
at runtime.

Passing only a reference of the OBSAVCapture to libobs and incrementing
the retain count at source creation (decrementing in when the source is
destroyed) avoids this issue entirely.
2024-02-20 17:57:09 -05:00
shiina424 a63714c8f1 win-capture: Add line break for capture audio tooltip 2024-02-20 16:00:40 -05:00
Florian Zwoch fd65a1404c UI: Fill audio meter background each update (#9842)
Since the widget is marked as opaque we need to draw each pixel or
else we may end up with unpainted pixels. On Wayland this will
result in artifacts in the audio meter as transparent pixels will
pick up colors from the underlaying desktop instead.
2024-02-20 15:44:59 -05:00
PatTheMav 50a19c5219 mac-capture: Fix crash in device reconnect handler
The uninit function prematurely released the memory allocated for the
channel map setting, which exists in the scope of source life cycle
(compared to channel names which are valid during the life cycle of a
configured device).

Splitting up the clean-up for both (memory for channel names is
released when the device is uninitialized, memory for channel map
setting is released when the source is removed) ensures that the memory
is released but pointers don't become unexpectedly invalid.
2024-02-20 14:18:46 -05:00
PatTheMav 5a7478d562 mac-capture: Limit number of copied audio channels to libobs limits
OBS handles up to 8 channels of audio, which requires the CoreAudio
input callback to omit/ignore any audio data from channels above that
count and also report a maximum amount of 8 channels to match the
speaker setup given to swresample by libobs.
2024-02-20 14:04:28 -05:00
PatTheMav ee28503726 mac-avcapture: Add color format selection for capture card source
Some devices do not support all color formats at all resolutions, but
the capture card source automatically uses an available color format
and compares it against the available format for a specific resolution.

Without being able to change this format, some resolutions do not
work as CMIO will not be able to find a compatible format. Thus the
color format needs to be manually selected for capture card sources
as well.
2024-02-17 19:28:28 -05:00
derrod d87cf9c7eb win-capture: Disable audio source when game capture unhooks 2024-02-17 19:03:35 -05:00
test 4f5d652712 UI: Fix locale key for fragmented tooltip 2024-02-18 10:14:17 +11:00
derrod fe08a773ab win-capture: Fix leak in wasapi reroute proc call 2024-02-18 10:08:59 +11:00
Georges Basile Stavracas Neto 062813eb8a CI: Bump images to KDE 6.6
This should avoid a large pull on each CI run.
2024-02-13 15:44:29 -05:00
Georges Basile Stavracas Neto 427fd30bd9 CI: Remove validateToPublish input
It's not used anymore.
2024-02-13 15:44:29 -05:00
Georges Basile Stavracas Neto 893c23d1a6 CI: Remove special-cased flatpak-builder-lint error
We have screenshots in regular builds now, there's no need to special
case the screenshots error anymore.
2024-02-13 15:44:29 -05:00
Georges Basile Stavracas Neto 2b72be1c29 CI: Use flatpak-builder-lint from the image
The images provided by Flathub already contain flatpak-builder-lint,
and it's up-to-date.
2024-02-13 15:44:29 -05:00
Georges Basile Stavracas Neto 31b10f3634 CI: Don't manually commit screenshots to OSTree
The flatpak-github-action action does that for us, and even better, it
properly handles the build arch.
2024-02-13 15:44:29 -05:00
Georges Basile Stavracas Neto 06bb6f0be7 CI: Pass mirror-screenshots-url to build workflow
This allows flatpak-builder to set up and commit the screenshots on our
behalf.
2024-02-13 15:44:29 -05:00
Georges Basile Stavracas Neto d8308f289b CI: Use flathub-infra images
Flathub provides Docker images with the tooling we need, and the
pre-installed runtimes. Let's use that.
2024-02-13 15:44:29 -05:00
tytan652 ae1ab38de3 build-aux: Update Flatpak audio plugins branch
The KDE Runtime 6.6 relies on the Freedesktop SDK 23.08 and so the branch of audio plugins should be updated too.
2024-02-11 19:09:11 -03:00
Kurt Kartaltepe 288ed51269 obs-ffmpeg: Receive packets while frame queue is full
Previously, we always assumed we could push more frames before an encoded
packet would be available. Actually, we can get EAGAIN when the
frame queue is full and before any encoded packets have been completed.

Instead, attempt to read packets more often as the worst that can
happen is we get EAGAIN again.
2024-02-10 17:25:14 -06:00
jcm e71149697f UI: Include audio devices in macOS microphone permissions prompt 2024-02-10 17:14:00 -06:00
Exeldro 4251e32366 UI: Fix source remove log scene 2024-02-10 17:11:52 -06:00
jcm 3f1a868e05 libobs: Use 'important' usage key for macOS disk space calculations 2024-02-10 17:10:25 -06:00
PatTheMav 5af8c10b0e win-dshow: Add generated Windows resource file to virtualcam sources 2024-02-10 01:50:06 -05:00
Kurt Kartaltepe e1b4c026df obs-qsv11: Disable texture encoder on linux
After adding proper adapter enumeration the linux code ends up entering
the texture encoding paths, but these paths are not correctly
implemented on linux yet.

fixes #10221
2024-02-09 20:19:55 -05:00
tytan652 848d76f52c docs: Fix circlebuf deprecation note 2024-02-08 18:21:37 -05:00