9096 Commits

Author SHA1 Message Date
Colin Edwards
e436f6ab18
Merge pull request #3781 from PatTheMav/ci-decklink-fix
CI: Add decklink-captions to dylibbundler fixups
2020-11-27 14:53:40 -06:00
PatTheMav
eafab7d5e9
CI: Add decklink-captions to dylibbundler fixups 2020-11-27 20:56:47 +01:00
jp9000
8d58578f6d enc-amf: Fix inability to set bitrate in latest AMD driver 2020-11-26 09:41:00 -08:00
VodBox
dbbfa2491a UI: Fix filter window rendering and accessible names 2020-11-26 20:44:03 +13:00
Ryan Foster
6b6a72cd21 UI: Log success/failure for scene collection importer 2020-11-25 20:19:30 -08:00
Ryan Foster
714c652dc9 UI: Prevent import failure for collections with slash in name 2020-11-25 20:19:30 -08:00
Ryan Foster
2d1b0666af UI: Prevent name collision during scene collection import
The Scene Collection Importer would attempt to set the new filename
using the name property of the scene collection. However, it would
determine an unused filename, and then replace spaces with underscores,
which could cause a name collision. This changes the importer to replace
spaces with underscores first for the base filename, and then determine
an unused filename.
2020-11-25 20:19:30 -08:00
VodBox
89b4e9136f UI: Various screen reader fixes
This commit fixes various issues with screen readers in the main OBS
interface. These were tested using NVDA on Windows 10 2004.

Audio track selection in Settings now says Track 1, 2, etc, rather than
just the number.

Various checkboxes that just say "Enable" now have accessible text that
says what the enable is for (since it says "checkbox", the fact it's an
enable should hopefully be clear).

Type in the recording tab of output now has accessible text which says
"Recording Type".

Items in the Advanced Audio Properties window now have accessible text
for what they are for. Currently some do not report correct values, but
that will require an accessible interface in Qt to be written
specifically for that, which will be done at a later date.

Buttons in the filters window now have accessible text for what they do.

All the right side buttons in hotkeys now have tooltips, and by
extension, accessible text.
2020-11-25 19:38:05 -08:00
Gol-D-Ace
7ab98ca00f Update translations from Crowdin 2020-11-25 20:11:39 +01:00
jpark37
2d547cf669 libobs: Allow wrapping D3D11 object with gs_texture_t
This can be useful for reading from textures provided by middleware.
2020-11-24 14:39:56 -08:00
Mike
f0593f3805 UI: Fix Save Replay button staying highlighted 2020-11-24 14:32:29 -08:00
Exeldro
02f47345cf frontend-tools: Don't give every loaded filter focus
Speeds up loading with large number of filters and prevents deadlock by
not getting the properties of filters during
OBSBasicFilters::UpdateFilters() which uses the source->filter_mutex
2020-11-24 14:32:18 -08:00
Matt Gajownik
a88b262d5f UI: Set default source toolbar visibility to true
This significantly simplifies the
configuration setting's initial load.

This also fixes as issue where the source toolbar
would initialise as "TextLabel" with enabled
buttons if the user had not yet toggled the setting.

Fixes #3722
2020-11-24 14:19:57 -08:00
Ryan Foster
548938c210 obs-outputs: Log unhandled status description as debug level
Certain RTMP status descriptions can contain stream keys. We don't want
to log those normally, so log the description for unhandled status codes
as RTMP_LOGDEBUG. If someone needs to debug an RTMP server's return
messages, they can compile OBS with the RTMP Log Level set to
RTMP_LOGDEBUG.
2020-11-24 14:17:49 -08:00
PatTheMav
3fd9509c9e mac-virtualcam: Fix global namespace issues in DAL plugin 2020-11-24 14:10:59 -08:00
jp9000
2902cdb2ff cmake: Make sure to copy other mbedtls libraries 2020-11-23 12:29:59 -08:00
Matt Gajownik
1f962cff93 obs-browser: Don't inject CSS if the property is empty 2020-11-23 21:53:41 +11:00
jp9000
9048d8095d UI: Force plugins to use our Qt5Network, not their own
The Elgato Streamdeck plugin ships their own Qt5Network.dll on Windows,
which may be ABI incompatible with newer Qt DLLs if we decide to update
our Qt version. So to prevent that plugins (and other plugins) from
using their Qt5Network.dll, we need to explicitly load our
Qt5Network.dll first so that we can prevent it from trying to load
theirs beforehand.

For context on this, previously, we didn't ship Qt5Network on Windows
because we would have to ship OpenSSL with it, but we didn't want to
ship it without SSL support. Because of that, Elgato's Streamdeck plugin
would ship their own Qt5Network.dll library (that didn't have SSL
support anyway). However, Qt recently added support for windows
schannel, which allows SSL support via the Windows API, making it so we
don't have to ship extra libraries to get SSL. So now we can start
shipping Qt5Network without worry.
2020-11-22 15:30:12 -08:00
jp9000
9f6e49d12c cmake: Add Qt5Network to copied windows libs 2020-11-22 14:32:35 -08:00
PatTheMav
fb27900e94 CI: Remove explicit LANGUAGE flags for cmake 3.19+ 2020-11-21 12:00:52 -08:00
Richard Stanway
17b3873578 obs-ffmpeg: Treat non-network errors as fatal too
4f873376 as part of PR #3460 changed ffmpeg_mux_packet to
fail = !ffmpeg_mux_packet. ffe4c855 only reverted that one line
instead of the entire previous commit. When the change was
reintroduced in 6071098a as part of PR #3740, it became
fail = ffmpeg_mux_packet without the negation.

This commit reverts db1e6aa and fixes the logic check.
2020-11-19 01:55:26 +01:00
jp9000
db1e6aa192 Revert "obs-ffmpeg: Treat errors as fatal for non-network streams in ffmpeg-mux"
This reverts commit 6071098abc48575a82f41b850b9c04fbaf570838.
2020-11-18 14:28:06 -08:00
gxalpha
33dc4108fe mac-virtualcam: Remove old test card
Removes the animated test card that was generated from code but is no longer in use
2020-11-18 03:57:23 -08:00
Ed Maste
a0f64a6017 UI: fix build on older FreeBSD versions
Include pthread_np.h header and use pthread_set_name_np to fix build
on FreeBSD 12.1.  The Linux-compatible pthread_setname_np alias was
added later.
2020-11-16 19:01:56 -08:00
jp9000
6d181d97ca win-capture: Update hook version 2020-11-16 14:39:04 -08:00
Eric Lindvall
6071098abc obs-ffmpeg: Treat errors as fatal for non-network streams in ffmpeg-mux 2020-11-16 07:31:44 -08:00
Eric Lindvall
315fbd6f33 obs-ffmpeg: Treat EINVAL as non-fatal in ffmpeg-mux 2020-11-16 07:31:44 -08:00
jpark37
484084abb5 win-capture: Clean up remaining /W4 warnings 2020-11-15 06:03:18 -08:00
Eric Lindvall
1fa99dd075 obs-ffmpeg: Treat AVERROR_INVALIDDATA as non-fatal 2020-11-15 06:02:30 -08:00
Eric Lindvall
41258f8976 obs-ffmpeg: Add error detection to ffmpeg-mux network streams
ffmpeg-mux does not notice if ffmpeg returns an error from
av_interleaved_write_frame() which means that OBS never knows if there
is a problem in ffmpeg.

This is the biggest issue for cases like srt:// or tcp:// streams that
can regularly fail. Without this change OBS never knows that something
went wrong.

Only network streams are checked to prevent impacting potential
transient errors in recordings.
2020-11-15 06:02:30 -08:00
jp9000
f8cc3bfe01 deps/media-playback: Fix audio segment duration calc
With certain audio encoders, gaps can be introduced into the audio
packets, causing the audio duration to be miscalculated because it
calculated audio duration based upon the PTS of the current packet to
the last packet. However, this audio encoder also did not store
timestamps for most of its audio packets, causing PTS values to be
calculated based upon duration values. So those two things combined
caused audio timestamps to go all out of whack when playing back certain
videos with the media source. This is particularly prevalent with WMV
files using Microsoft codecs.

So to fix it, when the duration needs to be calculated, just calculate
the duration based upon the sample count of the audio packet. This fixes
the issue with the video in question that caused problems, and likely
fixes issues in a lot of videos that may have been floating out there
for some time. Basically this is a fix for a potential long-standing
issue.

Closes obsproject/obs-studio#3683
2020-11-15 04:57:41 -08:00
gxalpha
bf5f65e19c autotools: Remove config module
Removes the config module, which is a directory with only an empty gitignore file.
It seems to serve no purpse anymore.
2020-11-14 14:48:54 -08:00
jp9000
ffe4c8552b Revert "obs-ffmpeg: Add error detection to ffmpeg-mux"
This reverts commit 4f87337646f4db0d50a4ebb257faf0640a729805.

Reverting the line in 4f87337646f4d causing issues until it can be
properly investigated.
2020-11-14 13:08:35 -08:00
gxalpha
5f07f815f5 mac-virtualcam: Update locales
The plugin only uses one of the locales defined, the other ones can be removed.
This also makes the plugin actually use the one remaining string
2020-11-14 12:22:09 -08:00
Ka Ho Ng
f8aa02897f UI: Detect other instances of obs on FreeBSD
Detect other instances of the obs by creating an extra dummy thread,
named "OBS runonce". The process of threads enumeration of current user
is guarded by an O_EXLOCK file advisory lock when opening the lock file.
Such file lock would be dropped once the thread name is changed.

This should be usable on FreeBSD and possibly compile on DragonFly BSD.

fixes: #3053
2020-11-14 12:04:31 -08:00
jpark37
013dd5a7a3 win-capture: Fix our own Vulkan spec violation
Pass valid instance when looking up VkCreateDevice.
2020-11-14 12:03:36 -08:00
Vadim Zhukov
12719816fc
Add sndio support (#3715)
Add sndio support
2020-11-14 11:58:55 -08:00
Vadim Zhukov
0d222b6b56 Add OpenBSD support 2020-11-14 11:55:22 -08:00
jp9000
fc6d53763a UI: Add Twitch VOD track to simple output mode
Allows the ability to use the separated Twitch VOD track with simple
output mode in addition to advanced output mode.
2020-11-14 08:05:52 -08:00
jp9000
cac2ff31f4 cmake: Put decklink-captions in source folders 2020-11-14 04:40:47 -08:00
jp9000
18a73c9a45 win-dshow: Add support for YUY2 in virtualcam 2020-11-14 04:25:39 -08:00
jp9000
8b30204946 UI: Move "changed" when recreating output res widget 2020-11-14 02:45:19 -08:00
jp9000
3805a11955 UI: Show service max resolution/framerate values to user
If a service has a maximum resolution and/or maximum framerate, shows
that to the user in the stream section of settings where the maximum
video/audio bitrate are shown.
2020-11-13 18:24:00 -08:00
jp9000
592cdfb039 UI: Add service res/fps limitation support to settings
Allows services to limit and enforce resolution and framerate values the
user can select in the UI if "ignore service recommendations" is not
checked. If the "ignore service recommendations" option is not checked,
the user will not be able to select or use a resolution and/or framerate
in the user interface that the service does not support. If "ignore
service recommendations" is checked, it will work as it normally would,
allowing any value to be used as per normal.

Fortunately, and hopefully for the foreseeable future, there is only one
service that enforces resolutions and framerates.
2020-11-13 18:23:24 -08:00
jp9000
ebbe8d1bf9 libobs: Change service max res. to res. list
(This commit also modifies rtmp-services and UI)

Changes the maximum resolution size to a resolution list, and splits the
maximum FPS to its own function.

(Note: ABI has not been modified because the last changes still haven't
been released yet, so it's safe to modify this as long as the changes
haven't been officially released)
2020-11-13 18:22:53 -08:00
jp9000
4f74ffe993 UI: Allow blocking all signals if resetting downscales
Allows the ability to block all the signals if resetting downscale
values, which will prevent values from triggering a widget update
unintentionally, forcing the user to have to save settings.
2020-11-13 18:09:14 -08:00
jp9000
97491ee91a UI: Add SetComboItemEnabled
Replaces SetComboItemDisabled in context-bar-controls.cpp with a global
function in qt-wrappers called SetComboItemEnabled, which allows both
enabling and disabling items in a combo box.
2020-11-13 18:07:20 -08:00
jpark37
a164a75ed6 win-capture: Warning fixes
Add explicit casts to convert data pointers to function pointers.

Add references for unused parameters.

Replace accidental BOOL* return values with BOOL.
2020-11-13 13:21:10 -08:00
jpark37
b3405d1f28 libobs-winrt: Fix misnamed function 2020-11-13 13:21:10 -08:00
Jim
70001be8ae
Merge pull request #3724 from PatTheMav/macos-bigsur-visuals
UI: Fix tray behaviour and app icon update for macOS
2020-11-13 08:42:25 -08:00