Commit Graph

2564 Commits (fddbbe259da6091086d457666241a13d3e9c3e23)

Author SHA1 Message Date
Jim b0e8ba6db8
Merge pull request #2972 from kkartaltepe/cmake-variety-fixes
cmake: Fix warnings and normalize variables/errors
2020-05-21 19:40:57 -07:00
Kurt Kartaltepe d928bfd1ea cmake: Fix warnings and normalize variables/errors
As of 3.17 using find_package_handle_standard_args checks that the name
of the FindXXX file and the first argument are the same case.

Some modules used non-standard variables or the old singular variables
instead of plurals. This normalizes variable usage to the new-style.

Some CMakeLists.txt did custom error checking instead of propagating
find_package errors. These were changes to call find_package with
REQUIRED or without QUIET where needed and shortens the custom status
messages. This helps users who want to enable that functionality see
what precisely wasnt found.
2020-05-21 18:45:16 -07:00
Jim 665180350d
Merge pull request #2657 from hselasky/improvement
libobs: Implement and use better scaling function for 64-bit integers
2020-05-21 18:07:53 -07:00
Jim 9607a9f46e
Merge pull request #2384 from LiamCoal/allow-no-buffering
media-playback: Unbuffered Media Source
2020-05-21 17:40:08 -07:00
Jim ad919b47ea
Merge pull request #2921 from jpark37/vulkan-format-fail
win-capture: Fail on unsupported Vulkan formats
2020-05-21 17:29:57 -07:00
Jim c5187aef16
Merge pull request #2908 from jpark37/wgc-minimize
Fix WGC minimize handling
2020-05-21 17:29:04 -07:00
jp9000 8d6f29ffc7 Revert "Merge pull request #2637 from kkartaltepe/cmake-variety-fixes"
This reverts commit d777000a60, reversing
changes made to c9e5f30a78.
2020-05-21 00:03:09 -07:00
Jim d777000a60
Merge pull request #2637 from kkartaltepe/cmake-variety-fixes
cmake: Fix warnings and normalize variables/errors
2020-05-20 23:45:25 -07:00
Jim 89ccad8a2b
Merge pull request #2619 from dgcampea/ffmpeg-vaapi
Expose more levels and profiles for FFmpeg VAAPI
2020-05-20 19:49:41 -07:00
Jim cb98f456eb
Merge pull request #2595 from jpark37/vulkan-cleanup
Vulkan hook COM clean up, and extension check
2020-05-20 18:20:05 -07:00
Jim 23ee7aebc6
Merge pull request #2589 from jpark37/vulkan-alloc
win-capture: Use VkAllocationCallbacks
2020-05-20 18:17:20 -07:00
Jim 04e6a39de9
Merge pull request #2551 from jpark37/cube-lut-enhance
Implement CUBE LUT domain properly, tetrahedral interpolation for 3D LUTs
2020-05-20 18:09:56 -07:00
Colin Edwards 78a40f0fc4 obs-vst: Fix crash when the blocksize is smaller than frames 2020-05-20 19:17:39 -05:00
Colin Edwards bfc2063b1a obs-vst: Compile the vst plugin on linux 2020-05-20 12:32:49 -05:00
pkv 91418e901c obs-ffmpeg: Use obs-ffmpeg-mux for mpegts network output
This replaces the ffmpeg-encoded-output which had serious issues
(missing headers, muxing issues with non compliant mpegts streams) with
an output grafted from obs-ffmpeg-mux.
2020-05-19 16:15:41 -07:00
jp9000 c165798959 obs-ffmpeg: Move file read error to separate function
Moves the code that generates a file read error message to its own
function for the sake of cleaning things up a bit.
2020-05-19 16:10:06 -07:00
pkv c8ff234255 obs-ffmpeg: Enable mpegts network URL for ffmpeg-mux 2020-05-18 22:18:23 -07:00
jpark37 e933e20b7c win-capture: Ignore cloaked windows
Fixes issue where there are two window handles for minimized Calculator,
and OBS picks the wrong one.
2020-05-17 10:45:10 -07:00
brittneysclark 45df89ef93 obs-qsv11: Enable VDEnc on ICL+
Enable AVC VDEnc (fixed function encode) on ICL+
2020-05-16 05:29:20 -07:00
brittneysclark 8ba7a8b92b obs-qsv11: Add latency mode to QSV settings
Simplify UI options by combining LookAhead Depth and Async Depth into
latency mode option. Ultra-low, low, and normal will set these two
encode parameters accordingly.
2020-05-16 04:33:20 -07:00
jpark37 477f90620d win-capture: Reset WGC fail flag for new window
WGC will give up on a window that it fails to capture, but that
shouldn't stop it from attempting to capture new windows.

Fixes #2928.
2020-05-13 07:54:41 -07:00
jp9000 7993179466 cmake: Add cmake folders 2020-05-13 06:52:37 -07:00
jpark37 30f6870b23 win-capture: Fail on unsupported Vulkan formats
Don't allow unsupported Vulkan formats to fall back to B8G8R8A8.
Probably better to fail completely than do an illegal copy.

Also remove bad conversion for VK_FORMAT_A2R10G10B10_UNORM_PACK32.
Red and blue channels were reversed, and there's no DXGI equivalent.

Addresses #2796. We can do more later if justified.
2020-05-12 12:06:03 -07:00
jpark37 3d6bec6d2d mac-capture: Use resize instead of reserve
Better practice for the tracked size to be nonzero.

This does NOT speed up window capture significantly.
2020-05-09 09:12:48 -07:00
Ryan Foster 0a89446ba4 win-capture: Log window capture method 2020-05-08 04:16:28 -04:00
Jim cc39efc6a4
Merge pull request #2712 from khng300/freebsd-oss-audio
plugins: Add oss-audio input support
2020-05-07 06:56:45 -07:00
Jim c59ce6981b
Merge pull request #2870 from ePirat/epirat-ffmpeg-frame-tearing-fix
obs-ffmpeg: Fix AVFrame handling in FFmpeg output
2020-05-07 02:49:26 -07:00
jpark37 097ea77488 libobs-winrt: win-capture: Detect GraphicsCaptureItem closure
Make WGC window capture recover from GraphicsCaptureItem closure, which
can occur when following links in fullscreen Chrome for example.
2020-05-06 21:42:26 -07:00
Marvin Scholz 9ef263f81a obs-ffmpeg: Fix AVFrame handling in FFmpeg output
Fix an issue in the way AVFrames were handled in the FFmpeg
encoder plugin, which could lead to tearing in the encoded
video due to data races in the AVFrame and AVBuffer.

This is fixed by calling av_frame_make_writable which ensures
the frame and its associated buffer are writable. If its not,
it will copy the AVFrame, create a new AVBuffer for it and
decrease the refcount of the old AVFrame and AVBuffer.
This way OBS always ends up with a usable buffer to write into
which is not still used by the encoder while avoiding a copy
when unnecessary.
2020-05-06 02:55:52 +02:00
univrsal 79c6e0dc13 vlc-video: Allow metadata retrieval through proc_handler 2020-05-03 10:55:52 -07:00
Jim 027b3b8a78
Merge pull request #2818 from nickosmoi/xlove_20200427
rtmp-services: Add Xlovecam.com streaming service
2020-05-03 08:30:19 -07:00
Philipp Bauer 3ec053ef5d rtmp-services: Update Switchboard Live servers
Closes obsproject/obs-studio#2813
2020-05-03 07:06:43 -07:00
Jim f6dc71089a
Merge pull request #2814 from cg2121/media-hotkeys
obs-plugins: Check if sources are showing for media hotkeys
2020-05-03 06:49:31 -07:00
nico ffe9bcab15 rtmp-services: Add Xlovecam.com streaming service 2020-05-03 06:45:56 -07:00
Jim 31c3bd5a96
Merge pull request #2830 from h-o-sein/master
rtmp-services: Update GameTips.TV
2020-05-03 06:40:26 -07:00
Ka Ho Ng a5a8cc261c plugins: Add oss-audio plugin
This implements OSS audio input capturing support for OSS-capable OSes.
FreeBSD and DragonFly (not yet tested on) supports are added as a
starting point.
2020-05-02 17:38:27 +08:00
Ben Torell 2d14ee3e60
Merge pull request #2833 from RytoEX/update-process-packet-error
obs-ffmpeg: Update error message in process_packet
2020-04-29 19:39:12 -04:00
Richard Stanway 5c12c13061
Merge pull request #2793 from NiMO-TV/rtmp-nimo-1
rtmp-services: Add Nimo TV
2020-04-30 01:23:54 +02:00
Ryan Foster 7fdfb847f8 obs-ffmpeg: Update error message in process_packet
The error message in the process_packet function was prefixed with
"receive_audio" because it was previously from code in the encode_audio
function which was called from the receive_audio function. This is just
a string change to avoid being misled to believe that the error is
always audio related.
2020-04-29 19:04:54 -04:00
Alex Miller 0ddae2ece0 text-freetype2: Add Enable Antialiasing option 2020-04-30 00:40:12 +12:00
Hosein 9429ba0480 rtmp-services: Update GameTips.TV 2020-04-29 16:49:58 +04:30
Alex Miller e8bc39804f obs-text: Add Enable Antialiasing option 2020-04-28 21:06:50 +12:00
Clayton Groeneveld 62b1911e33 obs-plugins: Check if sources are showing for media hotkeys 2020-04-26 21:57:01 -05:00
Ed Maste c989e22c57 vlc-video: Enable building the plugin on FreeBSD 2020-04-26 20:27:48 -04:00
Richard Stanway 6fac77b69f obs-ffmpeg: Add error message for non-zero GPU 2020-04-27 01:22:34 +02:00
Richard Stanway 35e218e05b obs-ffmpeg: Add localization for NVENC error messages 2020-04-27 01:22:05 +02:00
Richard Stanway 6b441a180c obs-ffmpeg: Preserve error message from new NVENC
If we fallback to ffmpeg NVENC, the error from new NVENC might still be
present in the encoder structure. Given that this provides a lot more
actionable information to the user, let's use it if possible.
2020-04-26 23:35:28 +02:00
Richard Stanway aa97534057 obs-ffmpeg: Log why new NVENC might not be used 2020-04-26 23:32:51 +02:00
Joel Bethke dac1f7ddac
Merge pull request #2797 from GeorgesStavracas/gbsneto/color-grade-filter
obs-filters: Add a user label to the LUT filter
2020-04-25 16:23:49 -05:00
Georges Basile Stavracas Neto bbf08b34d2 obs-filters: Add a user label to the LUT filter
While discussing the Flatpak RFC [1], it was spotted that the
LUT filter couldn't open the file selection dialog. It was
explained, then, that the proper formats were either composed
of "User Label (file extensions)", or "file extensions", and
the LUT filter was setting "(file extensions)" without the
actual user label.

While this works on a standard Qt file selection dialog, it
cannot be properly formatted as a set of D-Bus filters, thus
breaking the sandbox integration.

Add a simple user label to the LUT file filter.

[1] https://github.com/obsproject/rfcs/pull/21#issuecomment-619106757
2020-04-24 17:18:47 -03:00
dgeibi 4a4d33cc2a rtmp-services: Add Nimo TV 2020-04-24 10:28:25 +08:00
jp9000 824a0ec416 obs-browser, obs-vst: Fix formatting 2020-04-23 16:50:13 -07:00
meta 06db185fa1 linux-capture: Add support for cropping input source
Adds support and relevant properties for cropping screen capture input.
2020-04-23 18:39:04 -05:00
Joel Bethke 14b056539f
Merge pull request #2771 from AntowaStrong/virtwish-service
rtmp-services: Add VirtWish service
2020-04-22 09:16:55 -05:00
AntowaStrong e0e0860b82 rtmp-services: Add VirtWish service 2020-04-21 16:08:30 +03:00
redcrazyheart fc6ab20109 rtmp-services: Change Stripchat streaming service 2020-04-21 12:36:00 +03:00
Colin Edwards 8b1b6b1e75
Merge pull request #2656 from dbieber/z2020-04-05-mac-capture
mac-capture: Use window id to identify windows on MacOS
2020-04-18 18:48:29 -05:00
Colin Edwards 55e2985026
Merge pull request #1944 from WizardCM/windows-rc-definition
CMake: Build Windows modules with file descriptors
2020-04-18 18:27:22 -05:00
Colin Edwards c03bad85ef
Merge pull request #2658 from hselasky/alsa_support_freebsd
plugins: Build ALSA plugin for FreeBSD
2020-04-18 17:39:25 -05:00
Jim 05b66262c8
Merge pull request #1786 from brittneysclark/qsv_texture_based_encoding
obs-qsv: Enable QSV texture-based encoding
2020-04-18 12:30:26 -07:00
jp9000 01df98b3aa obs-vst: Fix formatting 2020-04-18 12:28:19 -07:00
jp9000 5d45249d9f obs-browser: Fix formatting 2020-04-18 12:28:05 -07:00
Richard Stanway 4fda6cf846
Merge pull request #2700 from Bennik2000/mantis_0001603
obs-ffmpeg: Fix media source not closing file when inactive
2020-04-18 21:24:25 +02:00
wolf247 8a5ad6ac92
rtmp-services: Update ChathostessModels service (#2745) 2020-04-18 01:29:47 -05:00
Ben Torell 97067f853f
Merge pull request #2667 from emaste/buildfix
linux-v4l2: Fix build with Clang 10.0
2020-04-17 14:42:49 -04:00
brittneysclark cc896b6c03 obs-qsv11: Enable QSV texture-based encoding
Enables a pipeline for texture-based encoding with QSV. Utilizes OBS
NV12 output for encode to avoid offloading them from GPU, which will
increase performance. The option to select old QSV pipeline still
remains and will fallback if new pipeline fails.
2020-04-17 09:05:52 -07:00
Keylase 8726425a6c
rtmp-services: Add WASDTV (#2697) 2020-04-15 17:29:36 -05:00
Colin Edwards e7636f89a6 obs-vst: Don't allow widget close on macOS 2020-04-13 19:28:55 -05:00
chaselliu 04e76d7d94 linux-jack: Fix conversion from channels to speaker layout 2020-04-13 22:42:31 +08:00
Bennik2000 26810c31b6 obs-ffmpeg: Fix media source not closing file when inactive 2020-04-13 09:13:16 +02:00
Ed Maste ec7fbadcdb linux-v4l2: Fix build with Clang 10.0
add_control_property() was previously static inline bool, but did not
return a value and failed to build on FreeBSD-CURRENT with Clang 10.0,
with:

error: non-void function 'add_control_property' should return a value
2020-04-12 18:41:36 -04:00
Richard Stanway 9fffd99661
Merge pull request #2109 from notr1ch/encoder-error-feedback
obs-ffmpeg: Encoder error feedback
2020-04-12 17:59:24 +02:00
Richard Stanway 15781073dc obs-ffmpeg: Add error text for NVENC AVERROR_EXTERNAL
Since new NVENC still falls back, try to make the error from ffmpeg
NVENC more actionable for users.
2020-04-12 17:35:27 +02:00
Richard Stanway 5e3e9c1f13 obs-ffmpeg: Use new encoder error handling functions 2020-04-12 17:05:19 +02:00
Richard Stanway 6dce4662cf
Merge pull request #2682 from koizuka/rtmp-services-niconico
rtmp-services: Add niconico
2020-04-12 01:59:39 +02:00
Colin Edwards eb40dbd453 mac-syphon: Move the syphon plugin over to ARC 2020-04-10 20:10:27 -05:00
Richard Stanway 9023a57afc
Merge pull request #2598 from sorayuki/bugfix/rtmp-custom-memleak
rtmp-services: Fix memory leak when updating rtmp-custom-service.
2020-04-10 00:45:43 +02:00
Richard Stanway 011c760a7a
Merge pull request #2641 from kkartaltepe/obs-outputs-warnings
obs-outputs: Fix warnings WITH_RTMPS=OFF
2020-04-10 00:42:24 +02:00
Akihiko Koizuka d7dc544a38 rtmp-services: Add niconico 2020-04-10 00:22:57 +09:00
Wahaj Dar e132676d29 rtmp-services: Update castr.io rtmp ingest list
Closes #2559
2020-04-09 00:32:32 -05:00
Colin Edwards 414f0ab824
Merge pull request #2571 from bongalive/master
rtmp-services: Update Bongacams servers and settings
2020-04-09 00:25:36 -05:00
jpark37 34d70c6832 obs-filters: 3D LUT tetrahedral interpolation
As requested by Adobe CUBE spec.
2020-04-08 17:00:45 -07:00
jp9000 bc7dd6e931 obs-browser: Fix formatting 2020-04-07 23:57:29 -07:00
David Bieber 46979536a1 mac-capture: update owner_pid in `update_window` 2020-04-07 13:30:53 -04:00
David Bieber 4718e5ecf5 mac-capture: Use int in place of NSNumber for owner_pid 2020-04-07 13:26:46 -04:00
David Bieber ebbe856d83 mac-capture: Only find window by window id when owner name and pid match 2020-04-05 22:10:36 -04:00
David Bieber 239cad00e4 mac-capture: Use window id to identify windows on MacOS
Use a window's window id in init_window in the mac window capture plugin.
2020-04-05 22:09:49 -04:00
Hans Petter Selasky 62a174ec39 plugins: Build ALSA plugin for FreeBSD
Signed-off-by: Hans Petter Selasky <hps@selasky.org>
2020-04-05 20:39:53 +02:00
Hans Petter Selasky 0e4ea14ba1 libobs: Implement and use better scaling function for 64-bit integers
As os_gettime_ns() gets large the current scaling methods, mostly by casting
to uint64_t, may lead to numerical overflows. Sweep the code and use
util_mul_div64() where applicable.

Signed-off-by: Hans Petter Selasky <hps@selasky.org>
2020-04-05 20:27:28 +02:00
jp9000 83991a1345 win-capture: Update graphics hook version to 1.1.4 2020-04-05 03:48:34 -07:00
Kurt Kartaltepe 107c632220 obs-outputs: Fix warnings WITH_RTMPS=OFF
Some unused variables were not marked unused when RTMPS was disabled.
2020-04-04 11:09:12 -07:00
Kurt Kartaltepe c5b731e48f cmake: Fix warnings and normalize variables/errors
As of 3.17 using find_package_handle_standard_args checks that the name
of the FindXXX file and the first argument are the same case.

Some modules used non-standard variables or the old singular variables
instead of plurals. This normalizes variable usage to the new-style.

Some CMakeLists.txt did custom error checking instead of propagating
find_package errors. These were changes to call find_package with
REQUIRED or without QUIET where needed and shortens the custom status
messages. This helps users who want to enable that functionality see
what precisely wasnt found.
2020-04-03 21:32:10 -07:00
Jim dbb453d00b
Merge pull request #2591 from jpark37/vulkan-unsupported-fix
win-capture: Fix crash if GPU can't Vulkan capture
2020-04-03 16:57:02 -07:00
Colin Edwards 9703d17541
Merge pull request #2620 from afriza/patch-1
Decklink: Fix crash when no matching device
2020-04-03 18:07:17 -05:00
jp9000 c899d164d9 obs-browser: Fix interact keyboard input on Linux
Keyboard input wasn't working properly when using interact on Linux --
this should solve it.
2020-04-03 03:13:24 -07:00
Douglas Rhine b216b90a5c
obs-ffmpeg: Rename and add more VAAPI levels
The Auto level lets the encoder decide which level to use.
Furthermore, some devices allow levels beyond 4.2. Therefore,
we add all levels allowed by H.264. This is of importance,
since using a resolution not supported by the specified level
can trigger undefined behavior on the hardware/kernel.
2020-04-03 07:12:05 +01:00
Afriza N. Arief f7332b467a
Decklink: Fix crash when no matching device
OBS crashes when decklink output is auto started and the device is
removed or changed to different model while OBS is not running.

Fixes https://github.com/obsproject/obs-studio/issues/2494
2020-04-03 00:32:33 +07:00
Douglas Rhine 04d7ff5854
obs-ffmpeg: Expose VAAPI profile choices
Allow choosing Constrained Baseline, Main and High.
2020-04-02 18:10:03 +01:00
SoraYuki 7f0d57f535 rtmp-services: Fix memory leak when update rtmp-custom-service. 2020-03-30 15:49:49 +08:00
jpark37 8987fc6c81 win-capture: Verify VK_KHR_external_memory_win32 support
Good practice to verify necessary extensions exist. We'll probably need
keyed mutex extension in the future to support Intel.
2020-03-29 10:08:03 -07:00
jpark37 21dc1f573b win-capture: Cleaner COM usage
Remove hard-coded GUIDs, call correct functions, and clean up
unnecessary casts.
2020-03-29 10:00:36 -07:00
Richard Stanway b9f7702378
Merge pull request #2563 from skyboy/skyboy-patch-1
Fix QuickSync LA_ICQ encoder settings
2020-03-28 23:06:05 +01:00
jpark37 348fcd5b00 win-capture: Fix crash if GPU can't Vulkan capture 2020-03-28 09:01:26 -07:00
skyboy 0c87670ee8 obs-qsv11: Fix QuickSync LA_ICQ encoder settings 2020-03-28 07:31:22 -04:00
jpark37 e1739707d0 win-capture: Use VkAllocationCallbacks 2020-03-27 23:59:37 -07:00
Richard Stanway 094edda866
Merge pull request #2578 from sebastinas/json-executable-bits
rtmp-services: Remove executable bits from json files
2020-03-28 01:17:28 +01:00
Sebastian Ramacher fe4818ada1 rtmp-services: Remove executable bits from json files
The bits were set in c0a8e86c9c, but they
are not needed.
2020-03-27 22:14:24 +01:00
Richard Stanway 75d1f74838 obs-ffmpeg: Expose old NVENC on Windows 7
New NVENC isn't available on Windows 7 and the old encoder was marked as
internal, giving users no option to use NVENC at all.
2020-03-27 00:17:49 +01:00
Bongalive c4af7d00de rtmp-services: Update Bongacams servers and settings 2020-03-25 14:25:50 +07:00
Kurt Kartaltepe b822faf73b linux-v4l2: Fixup invalid id
Previous fix in #2547 altered id before they were handed off to
callbacks and v4l2 wont strip its own flags from ids resulting in
invalid ids in the ioctl.

Instead add cleanup section and jump all branches there before looping.

(Jim edit: I'm changing this entire function so that it isn't horrible.)
2020-03-23 18:12:14 -07:00
Richard Stanway 1dc2c6a3be obs-outputs: Fix mbed TLS build issues
Version test macro was using the wrong version, and the non-crypto
MD5 only code was accidentally moved into an #ifdef which ended up
disabling it.

Fixes https://github.com/obsproject/obs-studio/issues/2426
2020-03-23 17:32:39 +01:00
jpark37 3aef198921 obs-filters: Implement CUBE LUT domain properly
Previously assuming zero to one instead of respecting values.
2020-03-22 18:25:32 -07:00
Jim a0e8adbc42
Merge pull request #2547 from kkartaltepe/v4l2-control-inf-loop
linux-v4l2: readonly controls cause infinite loop
2020-03-22 11:42:32 -07:00
Kurt Kartaltepe 7b71a3b33d linux-v4l2: readonly controls cause infinite loop
v4l2_ioctl will clear the V4L2_CTRL_FLAG_NEXT_CTRL flag resulting in
infinite loops for any driver that reported readonly, disabled, or
volitile controls.
2020-03-22 10:48:36 -07:00
Jim 8e7481fb75
Merge pull request #2497 from keith-packard/linux-capture-randr-monitors
linux-capture: Use RandR monitors for screen information
2020-03-21 19:46:41 -07:00
Jim b94506e84a
Merge pull request #2533 from jpark37/lut-file-filter
obs-filters: Fix LUT file extension filter on Linux
2020-03-20 19:06:11 -07:00
Jim 09370e8599
Merge pull request #2528 from RytoEX/fix-qsv-target-usages
obs-qsv11: Fix target usage values
2020-03-20 19:05:35 -07:00
jpark37 f3b2fc37c1 obs-filters: Fix LUT file extension filter on Linux 2020-03-20 17:41:18 -07:00
Richard Stanway 4563e03442 win-wasapi: Fix leaking IPropertyStore 2020-03-20 17:58:14 +01:00
Richard Stanway 21737d5f7a win-wasapi: Fix crash on certain devices
Not all devices return PKEY_AudioEngine_DeviceFormat properties.

Per MSDN, if the PROPERTYKEY referenced in key is not present in
the property store, this method returns S_OK and the vt member of
the structure pointed to by pv is set to VT_EMPTY.
2020-03-20 17:53:18 +01:00
Ryan Foster 56348a0b46 obs-qsv11: Fix target usage values
PR #1937 (commit b9ad1ce) added QSV target usage options, but there was
a comma missing between two of the array entries. This resulted in
"faster" and "veryfast" becoming "fasterveryfast", which is not valid.

Code style changes were required by .clang-format.
2020-03-20 05:30:18 -04:00
jp9000 8ecfb405ce Revert "win-capture, libobs: Show names of displays in Display Capture"
This reverts commit 9931f22ff4.
2020-03-19 06:43:57 -07:00
jp9000 06377bec46 obs-browser: Fix a few crashes
Fixes a crash with size somehow becoming 0x0 for a source, and fixes a
crash when specific local file settings are used.
2020-03-19 06:13:56 -07:00
jp9000 113af5344c obs-ffmpeg: Make sure to show FFmpeg NVENC on non-windows 2020-03-18 17:02:56 -07:00
jp9000 b3ca1bd059 win-capture: Retry with last known window if first fails
This fixes a bug where games like "Don't Starve Together" wouldn't
capture because their actual render window is a completely different
window than their actual window on the screen.

So, because we already have the hook info by this point with the last
known window handle available, instead of using 0 here, we can just use
the window handle provided by the shared memory.  And we didn't even
have to change the hook!  That's nice.
2020-03-18 07:53:21 -07:00
jpark37 e4e96c5cef libobs-winrt: win-capture: Clean up error handling
Use proper check to fix false positive on 1809, and rework error spew to
remove output parameters from winrt_capture_init.
2020-03-18 00:33:12 -07:00
jp9000 327a6f599e win-capture: Fix potential crash due to unhandled exceptions 2020-03-17 12:22:20 -07:00
Gol-D-Ace d74fc65047 Update translations from Crowdin 2020-03-16 20:14:50 +01:00
praveenkumar 2a7708424a rtmp-services: Add getloconow
Closes obsproject/obs-studio#2505
2020-03-16 09:48:04 -07:00
jp9000 9c92520211 rtmp-services: Fix formatting 2020-03-16 09:46:56 -07:00
jp9000 8faaf8491a obs-browser: Fix crash with certain settings combo
When enabling "local file", and the local file path is empty, CEF can
trigger an assert, causing a crash.
2020-03-16 06:33:14 -07:00
jp9000 6209bea371 win-capture: Destroy winrt in graphics thread 2020-03-14 10:54:37 -07:00
Keith Packard 96924553f0 linux-capture: Use RandR monitors for screen information
RandR has two sets of screen geometry information:

 1. CRTC. These are the physical scanout engines in the hardware

 2. Monitors. These are the logical partitions of the screen.

By default, each CRTC gets mapped to a Monitor. However, some monitors
actually require two CRTCs to drive them due to limitations in the
scanout hardware. Users can also create 'virtual' monitors to support
VNC or other systems.

This patch makes the RandR code prefer the Monitor mechanism to the
older CRTC mechanism. If the server doesn't support a new enough RandR
version, the existing CRTC code is used instead.

The name of the monitor is also provided in place of the arbitrary
number to help users select the desired source.

Signed-off-by: Keith Packard <keithp@keithp.com>
2020-03-13 18:29:35 -07:00
Richard Stanway 49bd76755b Make cert revocation check fails non-fatal on Win
Instead of erroring out completely when it can't determine if the
certificate is valid, proceed anyway.  This matches how web browsers
treat failed cert revocation checks.  schannel just has somewhat
paranoid defaults.
2020-03-13 07:48:47 -07:00
jp9000 59351b27ae win-capture/graphics-hook: Separate some debugging stuff
Reduces debugging spam when debugging Vulkan capture is needed in the
hook.
2020-03-13 06:57:16 -07:00
jpark37 9f15514c1a win-capture: Vulkan surface refactor
Make sure HWND tracking is cleaned up when Vulkan surfaces are
destroyed. Also use unbounded linked list to fix games that leak
surfaces on Alt+Tab like Doom.

Also replace CRITICAL_SECTION with SRWLOCK, both for claimed speed
benefit, and to remove initialization code.
2020-03-13 04:36:19 -07:00
jp9000 c40915c8b0 obs-vst: Fix lockup/race on shutdown
This ensures that windowing-related VST actions are performed in the
main UI thread rather than in another thread, risking a lockup.
2020-03-11 12:37:45 -07:00
jp9000 98c1ac2f80 win-capture/graphics-hook: Add a bit of logging
Just makes sure to be explicit when a device isn't valid.
2020-03-11 02:00:42 -07:00
jpark37 421f97e68d win-capture: Handle vkCreateSwapchainKHR errors
Fixes behavior for an application reported by AMD.
2020-03-10 21:31:40 -07:00
jp9000 f1cb1a42cc win-capture: Try window handle 0 if actual handle fails
Certain UWP programs can't obtain a normal window handle from their API
for whatever reason (this was observed with minecraft win10 edition), so
if the normal window handle on the map fails, try window handle 0
instead.
2020-03-10 07:13:58 -07:00
jp9000 c76426c5bd win-capture: Use full app obj name for keepalive mutex
Ensures that the UWP program can open the keepalive mutex to check to
see whether OBS is still alive.  Fixes a bug where UWP programs wouldn't
capture.
2020-03-10 07:13:58 -07:00
jp9000 428a19edd6 win-capture/graphics-hook: Make vulkan layer all capital 2020-03-09 10:44:04 -07:00
Jim 519b3096aa
Merge pull request #2474 from WizardCM/named-display-monitors
Show friendly monitor names on Display Capture on Windows & Projectors
2020-03-09 06:26:52 -07:00
jp9000 b2302902a3 libobs: Fix source type versioning system
(This also modifies image-source, obs-text, text-freetype2, and UI)

This improves source definition versioning.  To do this, it now stores
two identifier names.  One "unversioned" which is the original name, and
one "versioned" with the version number appended.

This fixes both backward compatibility with older OBS versions, and
fixes the inability to use "add existing" in OBS itself on sources
created from older version definitions.
2020-03-09 06:12:22 -07:00
jp9000 ef0f21b273 image-source: Don't use video info for color source size
The problem with using obs_get_video_info for a default is that the user
can change that value.  A default should not be a value that is subject
to change based upon the user's settings.

Instead, choose a sane "normal" value, like 1920x1080.  Later on, this
should be replaced with a system that allows automatic resizing via the
user.
2020-03-09 05:59:59 -07:00
jp9000 6b7d38adfd win-capture: Increment graphics hook version 2020-03-09 02:51:52 -07:00
jp9000 229f8d37cb win-capture/graphics-hook: Fix reacquire bug
Sometimes the width/height would initially be at 0x0 when the swap chain
was alt-tabbing, causing the capture to fail full-stop when trying to
reacquire.
2020-03-09 02:50:34 -07:00
jp9000 e9b41e5fc5 win-capture: Always copy file when debugging
Helps ensure that the hook can be debugged for things like vulkan
capture.
2020-03-09 02:49:46 -07:00
jp9000 30e3ef3b49 win-capture/graphics-hook: Log vulkan capture dimensions 2020-03-09 02:34:33 -07:00
Matt Gajownik 9931f22ff4 win-capture, libobs: Show names of displays in Display Capture 2020-03-09 11:13:59 +11:00