Commit Graph
9788 Commits
Author SHA1 Message Date
jp9000 8f97e32227 UI: Allow overriding keyframe interval if smaller
Allows the ability to override the default keyframe interval via
advanced output mode as long as that interval is smaller than the
recommended keyframe interval.

Fixes an issue where it was impossible to set a lower keyframe interval
than the recommended keyframe interval.
2021-08-24 19:41:43 -07:00
jp9000 a6fdc47535 UI: Cache YouTube channel name
This prevents having to look up the YouTube channel every time the
settings window is opened.

Closes obsproject/obs-studio#5154
2021-08-24 18:44:34 -07:00
Colin Edwards 083461698d Merge pull request #5166 from cg2121/decklink-activate-fix
decklink: Fix deactivate when not showing
2021-08-24 20:10:21 -05:00
Jim 84bf08c171 Merge pull request #4720 from jpark37/detours-integration
Finish Detours integration for remaining game capture APIs
2021-08-23 23:18:10 -07:00
Warchamp7 e5dd5b4595 UI: Adjustments to YouTube integration strings
Various tweaks to phrasing, casing, and consistency with other places in the UI
2021-08-23 21:56:11 -07:00
Matt Gajownik 0b70b479a1 obs-browser: Disable Qt tooltip on old Qt versions 2021-08-24 12:08:21 +10:00
jp9000 b9e7ab9e68 obs-browser: Update version to 2.16.0
Render web tooltips in browser source Interact using Qt, and expose OBS
controls to browser sources
2021-08-23 18:31:18 -07:00
derrod 18f40be820 UI: Add YouTube Chat Dock
Since embedded browsers are no longer allowed to log into Google from the chat
dock is effectively read-only.
To prevent users from even trying to log in the input field is hidden
via custom CSS.
2021-08-23 18:28:23 -07:00
Richard Stanway 4772a99e3e libobs: Defer reconfiguring encoders to the encode threads
Fixes a long-standing issue with Dynamic Bitrate where the RTMP output
thread could try to reconfigure an encoder while the encoder is in the
middle of encoding. x264 seems to handle multithreaded calls well, but
NVENC would deadlock in this situation with no error visible to the
user.
2021-08-23 18:26:37 -07:00
Richard Stanway 1444ead812 Revert "obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support"
This reverts commit 1b29bfc884.
2021-08-23 18:26:37 -07:00
Matt Gajownik 6e6263b185 UI: Fix incorrect OBSTheme definition for highlighted text color 2021-08-23 17:14:22 -07:00
Matt Gajownik e03aeb9bfd UI: Use Palette in all default themes
This also replaces hex colours with RGB.
2021-08-23 17:14:22 -07:00
Matt Gajownik 58caf406cd UI: Load theme palette before loading theme
This ensures the theme loads its own palette colours rather than default.
2021-08-23 17:14:22 -07:00
Clayton Groeneveld cb317f2b3b image-source: Fix gif not working in studio mode
GIFs wouldn't render on the preview side in studio mode.
2021-08-23 08:01:21 -07:00
Warchamp7 ba616fbac2 UI: Add styling for YouTube integration 2021-08-23 06:16:38 -07:00
Ryan Foster a7eb44b337 cmake: Copy correct file for Qt imageformat plugin
During CMake configuration for 64-bit builds, CopyMSVCBins.cmake would
copy plugins/imageformats/qsvg.dll from the Qt directory to
additional_install_files/exec64r/imageformats/qsvg.dll (exec32r for
32-bit builds). However, it would copy plugins/iconengines/qsvgicond.dll
to the corresponding debug imageformats files location,
additional_install_files/exec64d/imageformats/qsvgicond.dll (or exec32d
for 32-bit). This appears to have been a simple copy-paste mistake.
Let's copy plugins/imageformats/qsvgd.dll instead.
2021-08-23 01:34:19 -04:00
Richard Stanway f131c0c36b UI: Use inline const for shared vector
Issue detected by PVS Studio.
2021-08-22 17:12:00 -07:00
Richard Stanway 64f3b29e02 Merge pull request #4678 from cg2121/logviewer-fixes
UI: Log viewer fixes
2021-08-21 21:59:05 +02:00
Clayton Groeneveld 5fd40b3feb decklink: Cleanup hide/show code
The obs_source_showing calls are unnecessary in these
functions.
2021-08-21 12:53:28 -05:00
jp9000 5968119c61 UI: Hide auto-start/auto-stop options in YouTube dialog
Having these widgets visible but disabled will only serve to confuse
users, so these widgets don't even need to be visible if the user isn't
performing a scheduled broadcast. There really isn't a purpose in having
them visible.
2021-08-21 06:51:46 -07:00
jp9000 bbad7f3e1f UI: Replace bad YouTube link with popup helper
The helper link associated with starting a scheduled broadcast was not
helpful, as it linked to developer API documentation. Instead, have the
helper widget pop up a tooltip so the user understands what it is doing,
and adjust the wording slightly so that the user knows it's a setting
primarily used for scheduled broadcasts (normal streams always start
right away)
2021-08-21 06:49:34 -07:00
Clayton Groeneveld d83f45992a decklink: Fix deactivate when not showing
If the option to deactivate when not showing was on, the Decklink
input device wouldn't deactivate/activate when hiding/showing.
2021-08-20 23:39:12 -05:00
jp9000 a668e01788 UI: Fix minor leak
The authors of this function didn't realize that the data object
returned from obs_service_get_settings() is incremented, and must be
released.
2021-08-20 18:47:26 -07:00
Clayton Groeneveld afd58a78e5 UI: Add option to draw safe areas in preview 2021-08-20 15:20:59 -07:00
Richard Stanway 1b29bfc884 obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support
Unfortunately these encoders tend to crash or freeze after after
multiple bitrate changes. Users with dynamic bitrate enabled
experience a random encoder freeze which manifests as OBS dropping to
0kb/sec and disconnecting and it's not at all obvious that dynamic
bitrate is the cause. Disable it for now until we can figure out if
there is any workaround or bug on our end.
2021-08-20 14:51:16 -07:00
jp9000 fbbe193c59 UI: Add required links when using YouTube
These links are required by Google to be shown on any API client when
using Google/YouTube API.
2021-08-20 06:24:00 -07:00
jpark37 94009535cd libobs-winrt: Replace casts with data access 2021-08-19 02:47:55 -07:00
Richard Stanway 30257c9fe3 libobs-winrt: Improve error logging code
Use code() instead of to_abi() on hresult_error structs as the latter
has additional side effects. Cast all values to int32_t to ensure the
hresult int32_t() operator is called so we pass the actual value and not
the full struct (detected by PVS Studio).
2021-08-19 02:16:45 +02:00
Richard Stanway e8d4de6bec decklink-output-ui: Don't update UI during shutdown
Fixes a crash on exit if the user exited with the outputs running as the
parent window will have already destroyed doUI.
2021-08-19 00:04:52 +02:00
Richard Stanway 4bf81e9bf6 win-dshow: Avoid redundant string conversions
We were going from wstring -> wchar_t * -> wstring. Issue detected by
PVS Studio.
2021-08-18 23:45:11 +02:00
Richard Stanway 486380e2c3 win-dshow: Use constant references for resolution check
Avoids unnecessary creation of a new VideoDevice. Issue detected by
PVS Studio.
2021-08-18 23:45:08 +02:00
gxalpha 981e7f7079 UI: Fix redo recreating sources in the wrong scene
Fixes an issue where if creating a new source was re-done from a
different scene, the source would be created first in that scene and
then OBS would switch to the scene where the source originally was
created.
Changes the order of these two operations, which makes OBS create the
source in the correct scene.
2021-08-18 11:16:14 -07:00
Jim 6c106893b9 Merge pull request #5143 from Warchamp7/ui-form-cleanup
UI: Clean up other UI form file markup
2021-08-18 06:49:00 -07:00
Clayton Groeneveld a3f3b9d03c UI: Show source icon in context bar
This shows the source icon next to the source label in the
context bar.
2021-08-17 18:26:11 -07:00
gxalpha 008c6e4805 UI: Add menu bar item to show missing files dialog
Adds an entry to the "Scene Collection" tab of the menu bar that makes
the missing files dialog come back in case it got dismissed of files got
removed while OBS was open
2021-08-17 13:59:04 -07:00
derrod c2cd372b00 UI: Fix missing #if for autostart warning 2021-08-17 19:41:26 +02:00
derrod fc3f349a31 UI: Add "Don't show again" checkbox to YT auto start warning
Also modifies the warning message to be more clear about what this
means.
2021-08-17 19:12:27 +02:00
derrod 4ef2a79a19 UI: Show loading indicator while fetching YouTube Events 2021-08-17 18:35:55 +02:00
derrod a4d37dba73 UI: Fix YouTube event selection, API usage, stream resumption
All these fixes are interlinked but to explain them further:
Event selection would only partially work, the code to re-use an
existing liveStream was never hit and so didn't work. It would also
break going live because broadcast_id would never be set. Additionally
it called StartBroadcast for no reason if autostart was enabled.

API usage was unoptimal. Instead of only fetching the events we need
(active, ready) it would fetch *every single livestream* on the youtube
channel, 7 at a time, and then throw away every single result in the
majority of use cases.
This commit changes it to only fetch "active" and "ready" broadcasts and
then only filters out active ones that cannot be resumed (because
they're stil live).

Resuming existing streams also didn't work because they were just thrown
out by the selection. Now they get included if the attached liveStream
is not receiving data. The're distinguished in the UI and are listed
first. Simply selecting them and starting the stream will work.

These's still some stuff left, like redundant API calls. But thankfully
those fail silently and we can simply ignore it for now.
2021-08-17 18:35:55 +02:00
derrod e212acf025 UI: Improve YouTube (error) translatability
Adds the ability to provide translated messages for YouTube API erorr
reasons.

Also adds translation for various internal errors that were previously
hardcoded to english.

Minor changes to existing translation strings to improve
translatability.
2021-08-17 18:35:55 +02:00
derrod 9b57490e2c UI: Show error if Google account has no channels 2021-08-17 18:35:55 +02:00
derrod db368b5afc UI: Improve YouTube API HTTP error handling 2021-08-17 18:35:55 +02:00
derrod 64b21ad12f UI: Add fail_on_error parameter to GetRemoteFile
CURLOPT_FAILONERROR swallows the body of 40X responses,
but in some cases we want to read the body for error details.
2021-08-17 18:35:55 +02:00
kokole dd6dd4e104 win-capture: Fix D3D12 third party overlay capture
Doesn't make sense to grab the oldest frame when not capturing overlays,
because the overlay was already rendered in it. This will grab the
latest frame (before the overlay is rendered).
2021-08-17 08:24:57 -07:00
gxalpha 85891630b3 UI: Dim hidden source items in source tree
Dims the items of hidden sources in the sources dock to make it more
obvious that they are not visible. Both the icon and the sources name
are affected.
2021-08-17 08:24:28 -07:00
gxalpha 0d755c3691 mac-virtualcam: Move DAL plugin to plugin data directory
Moves the DAL plugin to the data directory of the mac-virtualcam. Until
now, it was just lying in the top-level data directory
2021-08-17 08:21:32 -07:00
jp9000 7fffca945e Revert "UI: Remove macOS-Default Full Screen Menu Item"
This reverts commit cf445be44c.

Did not mean to merge this. #4768
2021-08-17 06:00:53 -07:00
gxalpha cf445be44c UI: Remove macOS-Default Full Screen Menu Item
macOS looks if the NSUserDefault NSFullScreenMenuItemEverywhere is set
to true, and if it is, it adds its own full screen menu item.
Sets this NSUserDefault to false since it defaults to true.
2021-08-17 05:58:29 -07:00
Warchamp7 6f90380ec2 UI: Show name of scene item in Transform window title 2021-08-17 05:54:29 -07:00
Warchamp7 4d1862d3c6 UI: Fix media controls toolbar default size and styling 2021-08-17 04:11:36 -07:00