6792 Commits

Author SHA1 Message Date
Jim
ce0d3f106e
Merge pull request #1785 from brittneysclark/fix_qsv_crash
obs-qsv: Fix QSV failing with new DCH drivers
2019-05-09 19:24:30 -07:00
Jim
abe8702d4a
Merge pull request #1872 from Palakis/feature/frontend-api-transition-duration
obs-frontend-api: Add methods to get/set transition duration
2019-05-09 17:34:07 -07:00
brittneysclark
092c35b2d7 obs-qsv: Update libmfx, fix QSV with new DCH drivers
This patch fixes QSV failing with new DCH graphics drivers. QSV is not
initializing under certain conditions when the graphics adapter 0 is not
set to iGFX due to outdated MSDK dispatcher. Updating to MSDK with new
dispatcher to enable proper initialization of QSV encoder with DCH
drivers.
2019-05-09 17:31:35 -07:00
Tristan Matthews
4bb002c4d3 UI: Block SIGPIPE in all threads
This can happen when trying to write to a closed socket (in the case
of an RTMP server closing the connection).
2019-05-09 17:06:17 -07:00
Tristan Matthews
94c881b891 obs-outputs: Return error instead emitting SIGPIPE
This could happen if writing to a socket which was closed by the peer.
2019-05-09 17:05:38 -07:00
Stéphane L
4762351258 obs-frontend-api: Add func to trigger a Studio Mode transition 2019-05-09 17:01:08 -07:00
Stéphane L
d3910149d2 obs-frontend-api: Add methods to get/set transition duration 2019-05-09 16:58:47 -07:00
Jim
4991113abc
Merge pull request #1852 from jpark37/blend-alpha-attempt-two
libobs: libobs-d3d11: Fix alpha blend
2019-05-08 23:37:10 -07:00
James Park
ba21fb947e libobs: Fix various alpha issues
There are cases where alpha is multiplied unnecessarily. This change
attempts to use premultiplied alpha blending for composition.

To keep this change simple, The filter chain will continue to use
straight alpha. Otherwise, every source would need to modified to output
premultiplied, and every filter modified for premultiplied input.

"DrawAlphaDivide" shader techniques have been added to convert from
premultiplied alpha to straight alpha for final output. "DrawMatrix"
techniques ignore alpha, so they do not appear to need changing.

One remaining issue is that scale effects are set up here to use the
same shader logic for both scale filters (straight alpha - incorrectly),
and output composition (premultiplied alpha - correctly). A fix could be
made to add additional shaders for straight alpha, but the "real" fix
may be to eliminate the straight alpha path at some point.

For graphics, SrcBlendAlpha and DestBlendAlpha were both ONE, and could
combine together to form alpha values greater than one. This is not as
noticeable of a problem for UNORM targets because the channels are
clamped, but it will likely become a problem in more situations if FLOAT
targets are used.

This change switches DestBlendAlpha to INVSRCALPHA. The blending
behavior of stacked transparents is preserved without overflowing the
alpha channel.

obs-transitions: Use premultiplied alpha blend, and simplify shaders
because both inputs and outputs use premultiplied alpha now.

Fixes https://obsproject.com/mantis/view.php?id=1108
2019-05-08 20:26:52 -07:00
Jim
c396a30de7
Merge pull request #1819 from Xaymar/patch-add-effect-debug-info
libobs: Add additional effect debugging information
2019-05-08 17:56:07 -07:00
Jim
60f79eb4b9
Merge pull request #1854 from cg2121/audio-stuff
UI: Use dB for volume in adv. audio properties
2019-05-08 17:18:21 -07:00
Clayton Groeneveld
214d482ab1 UI: Change fader type to log 2019-05-08 16:41:18 -07:00
Clayton Groeneveld
c46fe33710 UI: Make volume faders more precise 2019-05-08 16:41:17 -07:00
Clayton Groeneveld
03c9d930da UI: Change volume to dB in adv audio properties 2019-05-08 16:41:17 -07:00
jp9000
528daad181 UI: Use escaped html for about dialog 2019-05-06 07:43:48 -07:00
jp9000
acc8419295 UI: Add Patreon contributors to About dialog 2019-05-05 20:00:26 -07:00
Jim
ce3abe52bf
Merge pull request #1870 from sorayuki/patch-1
win-dshow: fix issue decoding some H.264 stream
2019-05-05 11:46:10 -07:00
sorayuki
f67e63b1c6
win-dshow: fix issue decoding some H.264 stream
Logitech C920 web camera will output YUVJ420P which is not supported yet.
2019-05-05 16:18:16 +08:00
Jim
b5c20fb924
Merge pull request #1869 from cg2121/fix-systray
UI: Fix system tray not working
2019-05-04 08:28:07 -07:00
Jim
a2cf97bfd4
Merge pull request #1868 from SuslikV/patch-8
UI: Hide Alpha channel field from the color picker
2019-05-04 07:52:20 -07:00
Clayton Groeneveld
37bde71020 UI: Fix system tray not working 2019-05-04 09:23:21 -05:00
SuslikV
7bbd45f8d0
UI: Hide Alpha channel field from the color picker
Do not allow the user to select the alpha component of a color.
2019-05-04 16:55:31 +03:00
Jim
131cfaf4f8
Merge pull request #1867 from tmatth/bugfix/tray-crash
UI: fix crash due to NULL dereference
2019-05-03 08:26:57 -07:00
Jim
01b7af2702
Merge pull request #1864 from jpark37/bad-types
libobs: Fix crashes from wrong types
2019-05-03 01:40:08 -07:00
Tristan Matthews
92853f2c7b UI: fix crash due to NULL dereference 2019-05-03 02:54:55 -04:00
Jim
a1caf87ec7
Merge pull request #1855 from h-o-sein/master
rtmp-services: Update GameTips.TV
2019-05-02 19:40:31 -07:00
Hosein
61acbe9328 rtmp-services: Update GameTips.tv 2019-05-02 19:38:47 -07:00
James Park
4afdf70fd5 libobs: Fix crashes from wrong types 2019-05-02 19:09:34 -07:00
Colin Edwards
4efb80de5f
Merge pull request #1863 from DDRBoxman/swig
CI: Use swig 3.0.12 on OSX
2019-05-02 16:58:38 -07:00
Colin Edwards
f5c6fa3656 CI: Use swig 3.0.12 on OSX 2019-05-02 18:39:59 -05:00
jp9000
6b2f3d0604 UI: Fix theme showing incorrect theme when on Dark 2019-05-02 15:47:35 -07:00
Colin Edwards
0ee9d191bf
Merge pull request #1862 from DDRBoxman/swig
CI: Use swig 3.04 on OSX
2019-05-02 13:28:07 -07:00
Colin Edwards
f5becb64da CI: Use swig 3.04 on OSX 2019-05-02 15:07:03 -05:00
jp9000
3f3ec4f933 obs-ffmpeg: Fix jim-nvenc initial DTS for fractional FPS
The initial DTS for non-fractional framerates was being incorrectly
calculated.  It assumed that the time base was in frames when it was
not.

Closes obsproject/obs-studio#1857
2019-05-02 12:45:17 -07:00
Jim
3881f9de27
Merge pull request #1859 from cg2121/remove-settings-lines
UI: Various visual improvements
2019-05-02 11:22:26 -07:00
Clayton Groeneveld
31b73f8025 UI: Add ability to set properties spinbox suffix 2019-05-02 08:54:14 -07:00
Clayton Groeneveld
8789b3469b libobs: Add ability to set spinbox property suffix 2019-05-02 08:54:14 -07:00
Clayton Groeneveld
b2e0d93990 UI: Use icons for hotkey buttons 2019-05-02 08:54:13 -07:00
Clayton Groeneveld
d17e261d23 UI: Truncate text in hotkeys interface 2019-05-02 08:54:13 -07:00
Clayton Groeneveld
64aa211d46 UI: Remove icons from settings button box 2019-05-02 08:54:13 -07:00
Clayton Groeneveld
e284289c56 UI: Improve look of Dark theme 2019-05-02 08:54:10 -07:00
Clayton Groeneveld
4b6a1bf971 UI: Remove settings horizontal lines 2019-05-02 08:18:07 -07:00
Jim
003f00923e
Merge pull request #1860 from cg2121/kbps-singlestep
UI: Increment bitrates by 50
2019-05-02 07:32:49 -07:00
jp9000
f21a48ff36 UI: Remove mac browser workarounds, improve stability
The workarounds were made because of conflicts with running multiple UI
threads at once on macOS, which macOS can't do very well, and would be
susceptible to crashes.  This would cause crashes not only on startup
but seemingly at random when using the browser source on macOS.  The
original "fix" was a hack to try to minimize UI code and browser UI code
from executing at the same time.  The macOS initial scene loading was
deferred until all Qt-related and main window initialization was
completed.  Although this worked to some extent to prevent conflicts, it
made it so that there was an initial period on startup where the entire
UI seemed "blank" for users, and it was still possible for the main UI
thread and the browser UI thread to clash, causing crashes seemingly at
random for users.

The external message pump method of CEF is the solution to the problem,
which is the method which allows the main UI thread to share events with
CEF.  To do this, all CEF operations need to be performed in the UI
thread (Qt's main thread), and CefDoMessageLoopWork() needs to be called
when CefApp::OnScheduleMessagePumpWork callback is triggered.  A number
of other issues had to be solved as well, such as CefBrowser references
getting "stuck" in the Qt event queue.

With this, macOS no longer needs to do the "deferred load" hack, and
browsers are now much more stable and no longer as susceptible to
seemingly random crashes, improving overall program stability when
browsers are used.
2019-05-01 12:13:35 -07:00
jp9000
7efcb6989d UI: Only execute "What's New" code on win32
The "What's New" dialog currently is only functional on windows.
2019-05-01 12:12:03 -07:00
jp9000
767d534409 UI: Check for valid systen tray pointer
Fixes a potential crash that can happen if the system tray is not
initialized for whatever reason.
2019-05-01 12:11:29 -07:00
Clayton Groeneveld
1160ee767a UI: Increment bitrates by 50 2019-04-30 06:54:02 -05:00
Jim
dd68493590
Merge pull request #956 from mntone/issue-load-methods
libobs: Load function simbol from specified file.
2019-04-27 13:03:32 -07:00
mntone
a66ad7eb63 libobs: Use RTLD_FIRST when loading libraries on macOS
Ensures that functions loaded by `os_dlsym()` come only from the
specified library that was loaded with `os_dlopen()` rather than the set
of libraries loaded by the specified library.
2019-04-27 11:56:53 -07:00
Jim
d273e74e94
Merge pull request #1853 from cg2121/fix-vis-lock-icons
UI: Fix theme issues with vis/lock checkboxes
2019-04-27 05:56:40 -07:00