Commit Graph

54 Commits

Author SHA1 Message Date
Matt Gajownik
a5f0988933 Update translations from Crowdin 2026-01-10 01:02:43 -05:00
Sean DuBois
cd4d624ec3 obs-webrtc: Add Simulcast Support 2025-12-17 13:41:59 -05:00
Matt Gajownik
99c3a4b797 Update translations from Crowdin 2025-09-08 22:38:40 -04:00
Sean DuBois
e4322bac68 obs-webrtc: Add version IFDEFs for 0.23.0
SenderReports are automatically sent. Disabling them via IFDEF so they
don't fail the build.
2025-08-22 21:55:56 -04:00
Matt Gajownik
70c85f9875 Update translations from Crowdin 2025-07-01 13:34:08 -04:00
Matt Gajownik
ffef7504ac Update translations from Crowdin 2025-06-09 14:55:50 -04:00
PatTheMav
96e4d67242 clang-format: Update source code files with clang-format 19.1.1 2025-04-17 18:16:33 +02:00
Sean DuBois
4162ca7169 obs-webrtc: Enable PacingHandler 2025-01-29 17:41:49 -05:00
Translation Updater
0b2c85845e Update translations from Crowdin 2024-12-06 23:21:55 +00:00
Translation Updater
e6d9f73736 Update translations from Crowdin 2024-10-05 05:02:27 +00:00
Ryan Foster
a1fbf1015f clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
PatTheMav
6c590805e8 cmake: Update supported CMake version range to 3.28 and 3.30 2024-09-13 14:42:32 -04:00
Paul Gregoire
62c4a90809 obs-webrtc: Add STUN support to Link header parse 2024-09-11 13:55:54 -04:00
tytan652
31385006d5 Remove legacy_check CMake macro
The macro was not removed in 72428ccd97
waiting for submodules to be be updated to a commit where their legacy
code path is removed.
2024-09-11 13:24:39 -04:00
tytan652
72428ccd97 Remove CMake legacy code path
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
PatTheMav
b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04:00
Translation Updater
e7d6707fa7 Update translations from Crowdin 2024-07-17 09:34:12 +00:00
Sean DuBois
512db59c44 obs-webrtc: Do not use curl_easy_nextheader
API not available in Ubuntu 22.04 which ships 7.81 this API was first
available in 7.83
2024-06-07 15:36:36 -04:00
Translation Updater
8999d9fef9 Update translations from Crowdin 2024-06-07 09:47:58 +00:00
Sean DuBois
4aa41ec854 obs-webrtc: Add Link Header support
WHIP/WHEP allows ICE Servers to be specified via Link Headers[0]

[0] https://www.ietf.org/archive/id/draft-ietf-wish-whip-13.html#name-stun-turn-server-configurat

Co-authored-by: Takeru Ohta <phjgt308@gmail.com>
2024-06-05 19:28:33 -04:00
Sean DuBois
b9de99a103 obs-webrtc: Increase RtcpNackResponder size
Before we used the default value set by libdatachannel. At
higher bitrates the cache would be undersized. Because of the undersized
cache we wouldn't have enough NACK history to fix the stream.
2024-06-04 14:37:44 -04:00
tt2468
09be4f9aed obs-webrtc: Only advertise relevant codecs for a or v-only outputs
A video-only output should not advertise any audio codecs.
2024-05-11 20:09:00 -04:00
tt2468
5802077f78 obs-webrtc: Correctly guard HEVC in output using ifdefs
If an output does not support HEVC, it should not advertise it. For
services, however, a service primarily defines the codecs which are
supported for the protocol spec itself/destination platform, so HEVC
can be advertised still.
2024-05-11 20:09:00 -04:00
tt2468
dff302364c obs-webrtc: Fix comment capitalization 2024-05-11 20:09:00 -04:00
tt2468
5b51d202b5 obs-webrtc: Remove duplicate initialize calls
`obs_output_initialize_encoders()` and can_begin_data_capture are
already being called in the `Start()` function, so these duplicate
calls serve no function.

I'm assuming they were introduced accidentally during a previous
refactor.
2024-05-07 22:40:16 -07:00
John Bradley
627308bd53 obs-webrtc: Add null terminator to codec array
This fixes an issue where, when the MAX_CODECS length was equal to the
amount of supported codecs (3), it would leave the list without a null
terminator and crash when iterating over the elements.
2024-05-03 22:52:30 -07:00
tt2468
065d4533ee obs-webrtc: Add support for audio-only and video-only outputs
Adds the `whip_output_audio` and `whip_output_video` output kinds,
which selectively advertise only video or only audio support.

To use these types, it is effectively the same as with the AV
version. Just create the output, assign your video or audio encoder,
and you're good.

libobs does not have support for "optional" outputs. With an AV output,
if you only assign a video or audio encoder, start will fail.
2024-04-22 01:04:55 -07:00
Sergio Garcia Murillo
414580b624 obs-webrtc: Add HEVC support 2024-04-17 15:27:39 -07:00
Translation Updater
10b02e11d0 Update translations from Crowdin 2024-03-12 18:11:06 +00:00
Ryan Foster
d25042a8ca obs-webrtc: Add additional error messaging for WHIP output
Adding to the previous commit, let's also use obs_output_set_last_error
to provide localized error messages to the user if we run into these
failure cases.
2024-03-08 21:51:42 -05:00
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
Vainock
7ae66c72fd Update translations from Crowdin 2024-02-28 14:20:05 -05:00
Translation Updater
ac484a066f Update translations from Crowdin 2024-01-29 20:47:38 +00:00
Sean DuBois
752abdc0fc obs-webrtc: Add AV1 Support 2024-01-28 02:11:51 -06:00
tytan652
76eb88d984 obs-webrtc: Require libdatachannel 0.20 or newer 2024-01-27 17:54:23 -06:00
Ryan Foster
66c0080d5c CI: Update deps to 2024-01-27 release
This commit also modifies build-aux to update libdatachannel.

This commit also modifies obs-webrtc to avoid a compiler error.

Notable changes:
 * deps.ffmpeg: Update libdatachannel to 0.20.1
 * deps.macos: Remove Carla
 * deps.macos: Add uthash to macOS deps
 * deps.windows: Remove Carla
 * deps.windows: Add uthash to Windows deps
2024-01-27 15:33:09 -05:00
Juliusz Chroboczek
762e0502f2 obs-webrtc: Improve error messages on HTTP failure 2024-01-25 22:09:55 -08:00
PatTheMav
eae5cc1e38 plugins: Update CMake formatting with manual format choices 2023-12-19 17:59:44 -05:00
Translation Updater
f674d17168 Update translations from Crowdin 2023-12-05 22:04:31 +00:00
TDV Alinsa
e6b3ae738f obs-webrtc: Allow non-CBR rate control with WHIP
Nothing about WHIP requires CBR (and many things that use it use VBR),
and there's no specific upstream service to care about it (WHIP is a
protocol, not a service, despite being exposed as a "service" in OBS),
so let's stop forcing it to be CBR and allow the user to choose other
rate control methods.
2023-10-28 18:15:03 -05:00
Translation Updater
0d450a34a0 Update translations from Crowdin 2023-10-10 13:34:41 +00:00
Sean DuBois
2308414bcc obs-webrtc: Move libdatachannel code to C++ from C
libdatachannel is now built with MSVC instead of MinGW so we are able to
use C++ API instead.

The C++ is preferred by upstream and what the project is written in. The
C API provides a subset of features and has a performance penalty.
2023-09-19 15:03:11 -04:00
Translation Updater
ecf914dd67 Update translations from Crowdin 2023-08-13 14:09:15 +00:00
aggresss
c81f531edb obs-webrtc: Improve WHIP compliance
Location header is now required. Support relative and absolute URLs
2023-08-10 12:04:18 -05:00
aggresss
34e57a0496 obs-webrtc: Follow HTTP redirects 2023-08-10 12:04:18 -05:00
Ryan Foster
d00068cb6c plugins: Update CMake minimum to 3.22
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00
Paul Gregoire
fc2f6e707f obs-webrtc: Add custom User-Agent and randomize SSRCs
Adds a custom User-Agent header to REST requests identifying OBS as the
client.

Randomizes SSRCs to avoid potential issues with servers that do not
rewrite them before forwarding.
2023-07-18 12:33:00 -04:00
derrod
593664dcdb clang-format: Set AllowShortLambdasOnASingleLine to Inline 2023-07-15 16:14:55 -07:00
derrod
dcc07cfe4e clang-format: Set AllowAllConstructorInitializersOnNextLine to false 2023-07-15 16:14:55 -07:00
Ryan Foster
b2405e465a obs-webrtc: Fix CMake 3.0 module disabled path
The CMake 3.0 path used the old syntax for logging if the module was
disabled. Update this to use target_disable to match the syntax in other
CMake 3.0 paths.
2023-07-12 11:42:17 -04:00