Commit Graph

109 Commits

Author SHA1 Message Date
derrod
feba2bcbf9 UI: Use new NVENC encoder ids 2024-08-08 22:52:40 +02:00
Ryan Foster
b9f63632a1 Merge pull request #10019 from derrod/remove-ftl
Remove FTL.
2024-07-29 16:41:31 -04:00
tytan652
48f139729f UI,shared: Move Qt Wrappers to its own directory 2024-07-27 07:38:36 +02:00
derrod
1206870cef UI: Remove FTL support 2024-07-14 06:09:49 +02:00
Ruwen Hahn
f9d86aeac8 UI: Enable custom server entry for Amazon IVS 2024-06-06 16:09:24 -04:00
Ruwen Hahn
3f1362f7e7 UI: Add Multitrack Video settings 2024-06-04 20:50:46 -04:00
Ruwen Hahn
976b200254 UI: Add custom server support for Twitch 2024-06-04 18:49:05 -04: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
pkv
f186268507 UI: Enable audio multi-track w/ mpegts streaming
This enables audio multi-track support in UI for mpegts streams (srt,
rist ...).
The UI changes were coded though to allow re-use by other protocols.

Signed-off-by: pkv <pkv@obsproject.com>
2024-01-06 18:42:54 -06:00
田七不甜
5f512d5f25 UI: Fix UseStreamKeyAdv not display stream key and not hide button 2023-11-08 00:13:20 -06:00
Lain
112adb0a73 UI: Fix stream key UI not showing when using stream key
In the settings window, when the user chooses to use a stream key
instead of connecting their account, it switches widgets to show the
stream key UI. However, when opening the settings window again after
having done that, it's supposed to continue to show the stream key UI,
and that functionality was broken by obsproject/obs-studio#9272. It did
this because OBSBasicSettings::ServiceChanged() no longer called
reset_service_ui_fields() because the lastService member variable was no
longer set to empty in OBSBasicSettings::LoadStream1Settings().

This fixes it by just adding a parameter to
OBSBasicSettings::ServiceChanged() to make it forcibly reset the fields
when loading stream settings.
2023-08-31 23:39:26 -07:00
田七不甜
01ecdd989c UI: Fix stream key tooltip in the settings page 2023-08-26 16:15:11 -07:00
Lain
b8d85d84a4 UI: Fix potential null pointer dereference
If you're using an encoder from a plugin, and you remove that plugin,
this value will be null, causing a crash. (Lain note: I realize that
this isn't the best solution to this problem, though there really isn't
any way to infer what type of encoder the prior encoder was. Should also
save the encoder type as additional setting metadata in future
versions.)
2023-08-17 17:06:24 -07:00
Lain
78cb2aa361 UI: Fix case where cef func may not be present
Due to a particular... plugin we all know and love, the new
QCefWidget::executeJavascript() function may not actually be present as
it should be. So, we have to verify that it's available, and only use it
in that case.
2023-08-05 04:35:31 -07:00
Lain
0c6fa0a2ba UI: Fix YouTubeAppDock crash
Apparently the YouTube app dock thing didn't take into consideration the
fact that the user may have the browser source available, but may not
have browser docks available (via the `cef` global). This is because
certain system configurations do not support browser widgets, such as
Wayland on Linux.

(Lain note: There's multiple things I'm unhappy about here. I'm mostly
going to blame myself for multiple reasons.)
2023-08-03 18:25:25 -07:00
Yuriy Chumak
81b588137a UI: Add "YouTube Control Panel" dock panel
New dock panel with integrated youtube studio live control room.
This commit also modifies CI files.
2023-08-02 17:49:05 -07:00
Lain
346b93c9c4 Merge pull request #8689 from gxalpha/no-more-signal-slot-macro
UI: SIGNAL and SLOT macros begone!
2023-07-29 16:32:56 -07:00
gxalpha
633b9e39f7 UI: Don't clear lastService immediately after setting it
Fixes a bug where when you clicked "Show more..." in the service
settings combobox, the currently selected service would be changed to
the first service in the list.
2023-07-22 16:19:26 -07:00
gxalpha
a3991f9db8 UI: Replace SIGNAL and SLOT macros for HookWidget methods 2023-07-21 13:19:52 +02:00
gxalpha
0513e848d9 UI: Replace SIGNAL and SLOT macros in settings 2023-07-21 13:19:52 +02:00
Kurt Kartaltepe
425be04014 UI: Disable QSV for simple mode on Linux
Linux QSV drivers have varying capabilities depending on if the
free/non-free Intel drivers are installed. This means we cannot safely
expose QSV in simple mode as users may be unable stream without changing
to advanced mode.
2023-07-14 12:19:33 -04:00
Norihiro Kamae
39d4b53f6b UI: Fix preprocessor directives for platform integrations
The macros `YOUTUBE_ENABLED`, `RESTREAM_ENABLED`, and `TWITCH_ENABLED`
are not defined when the associated features are not enabled.
When the code was originally implemented, there were definitions to set
`0` if the feature is disabled. However a later commit 349372b removes
the definition. Now, the use of `#ifdef` is better than just `#if`.
2023-07-12 11:09:36 -04:00
Colin Edwards
d31d271b43 UI: Move WHIP service to the bottom of the visible list 2023-06-15 12:38:11 -04:00
derrod
66b3a04424 UI: Assume RTMP if service has no protocol
(cherry picked from commit e26a04fa44)
2023-06-11 02:18:17 +02:00
Colin Edwards
353a4c860d UI: Don't show WHIP in stream settings if the protocol isn't registered 2023-06-10 16:50:55 -07:00
Sean DuBois
dd392188b8 UI: Enable WHIP service in UI
This provides the UI glue to enable the WHIP service introduced in the
obs-webrtc plugin.

Co-authored-by: John Bradley <jocbrad@twitch.tv>
Signed-off-by: pkv <pkv@obsproject.com>
2023-06-09 20:20:49 -05:00
gxalpha
b69ee759d2 UI: Sort encoders alphabetically 2023-06-03 13:48:47 -07:00
Richard Stanway
e0f674de86 UI: Add AMD AV1 encoder to simple output mode
Fixes https://github.com/obsproject/obs-studio/issues/8584
2023-03-30 22:04:07 -04:00
tytan652
0d9f15cf3d UI: Improve AV1 fallbacks while changing services
This makes AV1 encoders fallback to their H264 counterpart rather than
just falling back to x264 while changing services.
2023-03-29 19:16:46 +00:00
tytan652
79b7e61f0a UI: Fix issue from stream settings Qt slots refactor
5a40934 refactored slots around services but a
on_service_currentIndexChanged() was not replaced by ServiceChanged().

The latter contains the code that was in the former before the refactor.

5a409347d5
2023-03-25 17:08:05 -04:00
tytan652
21289b2777 UI: Save protocol in non-custom services 2023-03-24 16:07:40 -04:00
tytan652
3c909558fa UI: Make simple audio codec name translatable
Also adds "(Default)" to the AAC combobox option.
2023-03-24 09:14:09 +01:00
tytan652
04a4f2b725 UI: Fix simple fallback audio codec name 2023-03-24 09:14:09 +01:00
tytan652
d529f2c35f UI: Fix inconsistencies in FindProtocol
- Fallback to RTMP if custom server is empty.
- Check if RTMPS is supported since OBS Studio can be built without it.
2023-03-21 15:17:15 -04:00
tytan652
5fe417bce1 UI: Add audio codec selections 2023-03-19 17:27:43 +01:00
tytan652
8d6cacc35b UI: Remove hardcoded stream codec list 2023-03-19 17:08:06 +01:00
tytan652
44ca002d02 UI: Use protocol to enable network options 2023-03-19 17:08:06 +01:00
tytan652
e00e2712cf UI: Use protocol to list compatible codecs 2023-03-19 17:08:06 +01:00
tytan652
5a409347d5 UI: Refactor Qt slots in stream settings page 2023-03-19 16:49:56 +01:00
tytan652
10880d6b21 UI: Unblock encoder comboboxes signals before change
Signals are blocked while encoder is enforced, those need to be
unblocked before setting the new encoder.
2023-01-28 15:50:41 -08:00
tytan652
852d53723c UI: Use stream encoder when resetting encoders
It actually use the recording encoder while restoring the stream encoder.
2023-01-03 17:34:44 -05:00
Jim
00078a6a73 UI: Add QSV AV1 to simple output mode 2022-11-21 19:08:02 -08:00
pkv
fcb6df1f63 obs-ffmpeg: Direct setting of encryption & auth for SRT & RIST
Also modifies UI.

This allows the direct use of passphrase (SRT & RIST) used for
encryption, user + password (RIST) as well as streamid (SRT).
Previously, these parameters had to be set in the URL in the form:
URL?option1=value1&option2=value2.
They still can but there is also the option to set them in the stream
key and username/password fields.
SRT:
- the stream_id is set in the stream key (more info on it: [1]);
- the encryption passphrase is set in the password auth field.
RIST:
- the encryption passphrase is set in the stream key;
- the srp_username and srp_password are set in the user/password auth
fields [2].

Additionally, some error logging has been added when there's a
disconnect caused by a wrong password.
Lastly, this solves a bug when auto-reconnect is set and a wrong
passphrase is provided for srt; the output would keep trying to
reconnect. With this commit, an OBS_OUTPUT_INVALID_STREAM signal is
emitted and the stream is immediately stopped.

[1] https://github.com/Haivision/srt/blob/master/docs/features/access-control.md
[2] https://code.videolan.org/rist/librist/-/wikis/Authentication-and-the-ristsrppasswd-Utility

Signed-off-by: pkv <pkv@obsproject.com>
2022-11-17 21:56:38 -05:00
gxalpha
e6b7a60638 UI: Add simple mode for Apple Hardware HEVC 2022-11-02 22:44:20 +01:00
tytan652
82c734892c UI: Avoid showing service integration page on Wayland 2022-10-23 03:17:15 -07:00
tytan652
47fcaed8d3 UI: Fix NVENC AV1 preset while resetting encoders 2022-10-09 16:26:29 -07:00
jp9000
614bf960d9 UI: Add NVENC AV1 to simple output mode 2022-10-07 14:34:39 -07:00
jp9000
48819def6d UI: Omit stream codecs the service doesn't support
This change makes it so that if you select a service, it will check to
see what codecs that service supports, and only list encoders of those
codecs.

If the service doesn't support a codec and you currently have an
unsupported codec selected in output settings, then it'll prompt you
with a dialog telling the user it will switch to a supported codec, and
if they click yes, then it'll change the codec for the user. If they
click no, then it'll switch back to the previously selected service.
2022-07-26 09:23:35 -07:00
tytan652
fc7af80f84 UI: Hide network features if a non-RTMP service is set
Reimplementation of bc80d0c and f2e6122, because they have to be
reverted by 0b9a8aa.
2022-07-23 16:29:10 -07:00