2264 Commits

Author SHA1 Message Date
jpark37
2111a3a02f libobs-winrt: win-capture: Support client area toggle for WGC 2020-02-24 21:31:53 -08:00
jpark37
cce9fb7f95 win-capture: Hide settings if Automatic is WGC 2020-02-24 19:42:46 -08:00
jp9000
d3b125ef38 obs-browser: Fix formatting 2020-02-24 04:18:07 -08:00
jp9000
faca94dcc5 obs-browser: Update browser to 2.8.0 2020-02-24 04:16:32 -08:00
Jim
4d15e76c5b
Merge pull request #2208 from jpark37/screen-capture
Windows Graphics Capture support
2020-02-23 00:18:14 -08:00
Jim
c97c36c8ee
Merge pull request #2407 from tbodt/vt264-drops
mac-vth264: Manually mark priority bits for VideoToolbox frames
2020-02-23 00:16:06 -08:00
jp9000
572ce73115 win-capture: Add 'auto' method to window capture
Adds an "Automatic" method to the capture method property of window
capture.  This allows the ability for window capture to automatically
determine the best capture method to use.  Primarily, it prefers BitBlt
in most cases, but will use WGC when it detects the window is a browser,
microsoft office, or a UWP program.

This was implemented because the new capture method has a number of
undesired effects associated with it -- the issue of the capture border
that we can do nothing about, the fact that we can't control the capture
of the cursor, and the fact that Microsoft designed it to switch the
cursor away from hardware cursor mode when the capture is active (there
was absolutely no reason to do this because even OBS can capture the
hardware cursor with no issue).  Until we get a new version of this API
that doesn't absolutely blow, we're stuck preferring BitBlt instead.

But hey, at least people will be able to capture browser windows now.
2020-02-22 21:02:33 -08:00
jpark37
ffc48dbbab win-capture: Windows Graphics Capture support
Users will now have the option of legacy window capture via BitBlt, or
Windows Graphics Capture, which is new to Windows 10.

There are two annoyances with the new capture method though. One is that
there is a bright, yellow border added to the original window (but not
the OBS view of it). The other is that the mouse cursor is always
captured, and we won't be able to capture without cursor until a later
version of Windows 10 is released.

It should also be noted that DPI scaling is now applied, which may
result in blurrier images caused by Windows rescaling.
2020-02-22 21:02:33 -08:00
jpark37
d4ca08c4c7 win-capture: Add support for finding windows via EnumWindows
The top-level window appears to be preferred for upcoming Windows
Graphics Capture support, at least for UWP apps.
2020-02-22 21:02:33 -08:00
Richard Stanway
ee4cbb1199 obs-outputs: Properly reset stream count on RTMP_Close
Every addStream call would increment this counter. After merging the
mbedTLS fixes, we no longer have extraneous RTMP_Init calls which were
masking the prescence of this bug. This caused every stream after the
first stream to have the wrong channel index, and eventually OBS would
crash due to an out of bounds write if the counter reached
RTMP_MAX_STREAMS.
2020-02-23 01:04:14 +01:00
Jim
d93951e11e
Merge pull request #2413 from whalebonetv/whalebone
rtmp-services: Add Whalebone.tv
2020-02-21 05:43:20 -08:00
jp9000
1f6f183a02 win-ivcam: Fix build issue with CMake 3.16
There is no 'data' dir for this plugin, so don't attempt to copy it.
2020-02-21 00:02:01 -08:00
jp9000
61fd81f7b4 image-source: Increase slideshow limit to 400MB
Increases the image slideshow size limit -- this is a temporary solution
until a newer revision of the image slideshow can be written.
2020-02-19 02:27:54 -08:00
Stanislav Izotov
8839c9da58 rtmp-services: Add Whalebone.tv 2020-02-19 10:57:06 +01:00
jp9000
11eafbda35 obs-ffmpeg: Mark FFmpeg NVENC as internal
Because we implemented the fallback for rescaling, there's no need to
show FFmpeg NVENC anymore.
2020-02-18 21:37:51 -08:00
jp9000
55d80e82e1 obs-ffmpeg: Fall back to FFmpeg nvenc if recale active 2020-02-18 21:00:30 -08:00
Clayton Groeneveld
daf552096e decklink: Fix crash when no outputs are available 2020-02-17 18:58:26 -06:00
Theodore Dubois
5d3fbc15ae obs-vth264: Manually mark priority bits for VideoToolbox frames
Reland of 30d29618, except actually tested this time.

The VideoToolbox encoder gives I-frames and P-frames a priority of 1,
but the RTMP output code expects I-frames to have priority 3 and
P-frames to have priority 2.

30d29618 changed the priority of all frames that aren't I-frames, but
that included B-frames as well as P-frames. B-frames are given a
priority of 0 by VideoToolbox and changing that priority causes
artifacts for reasons I don't understand. So ignore the B-frames by
ignoring slice packets with priority 0.
2020-02-17 09:16:17 -08:00
Jim
46b652ad2d
Revert "mac-vth264: Manually mark priority bits for frames" 2020-02-15 19:52:02 -08:00
Jim
677ac95b80
Merge pull request #2394 from cg2121/media-source-callbacks
obs-ffmpeg: Use callbacks when starting/ending
2020-02-12 10:53:54 -08:00
Jim
c2c7419e5f
Merge pull request #2400 from wahajdar/rtmp-services-Updating-Castr.io-ingests
rtmp-services: updating castr.io rtmp ingests
2020-02-12 10:53:31 -08:00
Jim
695ec9c959
Merge pull request #2399 from tlivegaming/master
rtmp-services: Add Madcat
2020-02-12 10:53:02 -08:00
tlivegaming
7c4056e4c1 rtmp-services: Add Madcat 2020-02-12 15:11:17 +08:00
Wahaj Dar
c6b1f0fa64 rtmp-services: updating castr.io rtmp ingests 2020-02-12 12:06:34 +05:00
jake-shomer
955db2986f rtmp-services: Uncanny.gg 2020-02-11 18:09:07 -07:00
Clayton Groeneveld
0b3a1711d0 obs-ffmpeg: Use callbacks when starting/ending 2020-02-10 23:49:05 -06:00
jp9000
1b275054bc decklink: Fix formatting 2020-02-09 16:51:05 -08:00
Jim
18030527f3
Merge pull request #2389 from DDRBoxman/decklinkversion
decklink: Log decklink API version on plugin load
2020-02-09 16:33:45 -08:00
Colin Edwards
8090ebffb1 decklink: Log decklink API version on plugin load 2020-02-09 17:24:40 -06:00
Jim
3f82d05c0e
Merge pull request #2370 from notr1ch/speedy-capture-updates
win-capture: Faster display / window capture updates
2020-02-05 11:53:40 -08:00
Clayton Groeneveld
abcff0073c obs-ffmpeg: Add media hotkeys 2020-02-05 08:14:51 -08:00
Clayton Groeneveld
68f8206877 obs-ffmpeg: Add media control support 2020-02-05 08:14:49 -08:00
Clayton Groeneveld
1e244d7d49 vlc-video: Add media control support 2020-02-05 08:14:18 -08:00
Richard Stanway
fb6936a934 win-capture: Faster display / window capture updates
When changing the target for display or window capture, force a
refresh of the source by setting the timer to fire immediately. This
removes 1-3 seconds of "lag" before the new display or window is
visible and makes the UI feel more responsive.

Closes https://github.com/obsproject/obs-studio/issues/2322
2020-02-03 23:22:42 +01:00
Jim
86d3eb3088
Merge pull request #2357 from obsproject/librtmp-thread-safety
obs-outputs: Various librtmp mbedtls fixes
2020-02-03 08:29:53 -08:00
Matt Gajownik
061793b975 obs-transitions: Halve stinger padding to 250ms
Triggering a new transition too soon after a
stinger would cause the wrong scene to be displayed
2020-02-01 09:50:57 +11:00
Richard Stanway
c465212414 obs-outputs: Remove hard-coded certificate paths on Linux
The report in https://github.com/obsproject/obs-studio/issues/2350
identified the issue as being caused by mbedtls not following symbolic
links, but it turns out the issue was the mbedtls_x509_crt_parse_path
return value which was already fixed in 4d89123c. So these changes are
no longer necessary.
2020-01-30 19:48:23 +01:00
jp9000
f7cf707ea5 mac-capture: Fix redundant call 2020-01-30 06:46:33 -08:00
Jim
a5b3e8ee23
Merge pull request #2335 from jpark37/amf-bump
enc-amf: Update to latest
2020-01-27 04:43:25 -08:00
Jim
d60fb8dcbc
Merge pull request #2351 from WizardCM/named-stinger-media
Set stinger media source's name
2020-01-27 04:38:56 -08:00
Jim
b88ea35c34
Merge pull request #2341 from FlyGoat/cross-plat
Add support for MIPS architecture
2020-01-27 04:22:13 -08:00
Richard Stanway
2f4447a7a1 obs-outputs: Remove server support from librtmp
This code is very old and seems to be non-functional in its current
state. The TLS support is also complicated to maintain across multiple
deprecated mbedtls functions.
2020-01-25 19:31:48 +01:00
Richard Stanway
5f62cd153b obs-outputs: Remove unused variable 2020-01-25 19:25:43 +01:00
Richard Stanway
baa559813c obs-outputs: Fix build with older mbedtls versions
Compilation with older versions of mbedtls was broken by
https://github.com/obsproject/obs-studio/pull/2304, unfortunately the
older version is still present in Ubuntu 16 LTS.
2020-01-25 18:58:05 +01:00
Richard Stanway
476b727fea obs-outputs: Show UI error if the root certs don't load
Though this should now be very rare, it's more helpful than "Failed to
connect to server". Other TLS error codes are now also stored for future
use instead of copying them on a case by case basis.
2020-01-25 17:35:07 +01:00
Richard Stanway
7a4c5e5df2 obs-outputs: Enable logging before calling RTMP_Init
Errors or warnings in RTMP_Init were not copied to the OBS log file
if they occured before the callback was set.
2020-01-25 17:01:14 +01:00
Richard Stanway
d1159087f1 obs-outputs: Add additional paths for root certificates on Linux
Fixes https://github.com/obsproject/obs-studio/issues/2350. Also adds
some log file output for when the root certificates can't be loaded to
make it more obvious what the problem is.
2020-01-25 16:49:11 +01:00
Matt Gajownik
56d25fe6a8 obs-transitions: Set stinger media source's name 2020-01-25 17:27:16 +11:00
jpark37
8cd22d4fb2 enc-amf: Update to 2.7.0 2020-01-22 20:24:31 -08:00
Richard Stanway
2b131d212f obs-outputs: Fix librtmp mbedtls thread safety
Per mbedtls documentation, "If you share a context between threads, you
need to call these functions only from the main thread, at the beginning
and end of the context's lifetime.". OBS violated this since librtmp
uses a global context and it was allocated and freed in different
threads such as the auto config test.

This commit attaches the mbedtls context to an RTMP structure so there
is no more global state. It also fixes a rare double-free crash that
could occur if RTMP_TLS_Free was called twice (this happened in rare
situations such as the auto config running followed by a mode change
from Advanced to Simple).
2020-01-23 00:11:23 +01:00