Commit Graph

2591 Commits (08426c8710ed4cd53668c2321b3090f38b490d54)

Author SHA1 Message Date
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
jp9000 141c42c4b5 win-capture: Allow write permission on graphics hook
(This commit also modified the updater module on Windows)

Ensures that an older hook version can be replaced by a newer hook
version.
2020-03-08 15:56:23 -07:00
jp9000 b0e4859238 win-capture: If elevated, replace HKCU reg entry with HKLM 2020-03-08 15:56:23 -07:00
jp9000 abf3ed2b05 win-capture: Remove SYNCHRONIZE permission
This isn't really meant for file permissions.  This is meant for handle
permissions.
2020-03-08 15:56:23 -07:00
Jim 0a7d1b9baf
Merge pull request #2469 from jpark37/wgc-cursor-toggle
libobs-winrt: win-capture: HDC cursor capture for WGC
2020-03-08 03:23:48 -07:00
jpark37 cb4954c279 libobs-winrt: win-capture: HDC cursor capture for WGC
Starting with Windows 10 2004, we can disable WGC cursor capture, and
provide a user toggle. We swap out WGC support for our own though
because ours does not break hardware cursor support.
2020-03-07 20:40:39 -08:00
jpark37 4f4fc3bfe6 win-capture: Restore Vulkan 1.1 version hack 2020-03-07 20:07:56 -08:00
Jim 9d5fb57709
Merge pull request #2470 from jpark37/add-vulkan-format
win-capture: Support VK_FORMAT_A8B8G8R8_UNORM_PACK32
2020-03-07 10:38:53 -08:00
jpark37 3439be57fe win-capture: Support VK_FORMAT_A8B8G8R8_UNORM_PACK32 2020-03-07 09:58:07 -08:00
jp9000 f60c961ae1 obs-ffmpeg: Make sure hotkeys are actually pressed
Explicitly checks to make sure hotkeys are actually down, rather than
both down and up.  This was causing the restart hotkey to restart the
media twice, once on key down, once on key up.
2020-03-07 08:14:44 -08:00
jp9000 87f5bd6e9f win-capture/graphics-hook: Fix wrong HWND
Game capture assumes the top-level ancestor HWND, not a child HWND.
This fixes bugs such as the VLC window not capturing anymore due to the
fact that the capture HWND of VLC is a child window of the main VLC
window and not the main VLC window itself.
2020-03-07 07:35:34 -08:00
jp9000 40817331d3 win-dshow: Fix rotation not working in all cases 2020-03-07 06:48:07 -08:00
Jim c8bafff16a
Merge pull request #2467 from FlyGoat/lp64
Fix build for armhf and powerpc
2020-03-07 04:47:00 -08:00
Jim abff240d2a
Merge pull request #2466 from jpark37/win-capture-cleanup
win-capture clean-up
2020-03-07 04:46:13 -08:00
jp9000 5dcad74019 win-capture: Set ALL APPLICATION PACKAGES perms if elevated 2020-03-07 04:01:13 -08:00
jp9000 465174413a win-capture: Remove microsoft store from capture blacklist 2020-03-06 21:53:53 -08:00
Jiaxun Yang 3b39a0af74 linux-v4l2: Use LP64 macro to determine pointer size
As currently all 64bit Linux platforms are respecting LP64
data model and most 32bit platforms are respecting ILP32, we
don't have to discuss pointer size case by case. LP64 is effective
enough to tell pointer size.

This fixes build for armhf and powerpc.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2020-03-07 09:56:01 +08:00
jpark37 9da6a4d6f6 win-capture: Vulkan capture clean-up
Remove unnecessary DXGI swap chain creation, and use VK_NULL_HANDLE.
2020-03-06 17:04:31 -08:00
jpark37 fc4f3c0934 win-capture: Clean up various VC++ warnings 2020-03-06 17:02:38 -08:00
Richard Stanway 452a4b5085 obs-outputs: Fix RTMP authentication
RTMP authentication requires the curStreamIdx and nStreams be set
between the disconnect / reconnect that occurs in PublisherAuth. Now
that there's no good place to clean them up, zero the whole rtmp->Link
before starting a new stream.
2020-03-06 22:52:50 +01:00
craftwar 3821a0344e win-capture: Fix format string warning 2020-03-06 19:52:02 +08:00
jp9000 72bb592673 win-capture: Increment graphics hook version 2020-03-06 03:39:56 -08:00
jpark37 c706a7bed5 win-capture: Handle NULL VkApplicationInfo 2020-03-05 21:20:00 -08:00
jp9000 ec247ba982 win-capture: Find correct window even if it's minimized
In window capture, it will search for a window with a specific title,
but will not search minimized windows.  This fixes that by making is
acquire the correct window even if that window is minimized, rather than
potentially risk it capturing the wrong window of the same type.
2020-03-04 22:21:45 -08:00
pkv 759aa079e7 obs-ffmpeg: Fix some incorrect settings for srt output
This fixes some configuration parameters which were incorrect (for audio).
2020-03-05 00:03:13 +01:00
jp9000 eba6810423 obs-browser: Fix CEF initialization conflict
Fixes a CEF initialization issue where CefInitialize would internally
call a Chromium function that would change process permissions.  The
permissions it changed would break other functionality within the
program, such as the new window capture method based upon
Window.Graphics.Capture.
2020-03-04 06:16:10 -08:00
jp9000 d5974b9e30 win-capture: Disable correct capture method index
When "Automatic" was added, the index for the item that needed to be
disabled became incorrect (to disable WCG).
2020-03-03 21:09:54 -08:00
VodBox 9aedc7e5b7 win-capture: Prevent WGC being selected when unavailable 2020-03-03 23:06:25 +13:00
jp9000 07089873fc win-dshow: Add support for devices that relay rotation
Adds support for devices that can relay rotation, such as the Logitech
StreamCam.
2020-03-01 03:42:46 -08:00
jpark37 1121f32b40 obs-ffmpeg: Fix type conversion warning 2020-02-29 20:57:17 -08:00
jp9000 e40f2cc155 win-capture: Fix registry lookup bug
The make_filename command was misplaced.  Was meant to be right below
the get_programdata_path call.
2020-02-29 10:32:20 -08:00
jp9000 7e78c17ace win-capture: Check hook version before capture init
Checks the hook version to ensure compatibility with hook DLL.  It's
unlikely it'll ever be necessary to increment the hook version, but this
is just a precautionary thing that allows a hook DLL to make sure it's
rejected by an older OBS version if needed.  Again however, very
unlikely that the major version will ever be incremented.
2020-02-29 04:53:29 -08:00
Matthieu Cunzi 74acbd7ed0 win-capture: Add Vulkan capture
Co-authored-by: jp9000 <obs.jim@gmail.com>
Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
2020-02-29 04:53:28 -08:00
jp9000 72e770458f win-capture: Use full DLL path for inject helper
The inject helper should be able to specify the full path rather than
assume the path of the hook DLL.  This change allows us to modify the
hook's location.  This needs to be done because the hook needs to be
relocated to ProgramData to prevent the possibility of multiple Vulkan
capture hooks.
2020-02-29 00:15:54 -08:00
jp9000 a20f1168a7 win-capture/graphics-hook: Don't allow multiple hooks
Prevents multiple separate hook DLLs from being loaded in to a target at
once.  This is done just in the off-chance that someone might add
another hook to the Vulkan layer registry.
2020-02-29 00:15:54 -08:00
jpark37 5c38c6455f win-capture: Refactor create_hook_info 2020-02-29 00:15:54 -08:00
jpark37 39dc64f0f8 win-capture/graphics-hook: Refactor mutex check
OpenMutex doesn't return INVALID_HANDLE_VALUE, so there's no need to
check for that.  Also only call CloseHandle if the call was successful.
2020-02-29 00:15:54 -08:00
jp9000 3e3521b9e1 win-capture/graphics-hook: Fix OBS detection
Fixes where the graphics hook would try to detect if OBS is currently
active or not.
2020-02-28 23:48:11 -08:00
jp9000 ef6a6827f4 win-capture/graphics-hook: Add flog and flog_hr
Allows automatically outputting the function name as part of the hook
logging.  This really doesn't need to be a manual process.  Makes code a
bit cleaner when used.
2020-02-28 23:48:11 -08:00
Jim 0f214bcce6
Merge pull request #1871 from VodBox/game-window-check
win-capture: Fix hook collisions with multiple game captures
2020-02-28 23:47:48 -08:00
jp9000 1e4789f829 obs-outputs: Update FTL sdk to latest version 2020-02-27 06:45:43 -08:00
jp9000 9b37b9273a obs-browser: Fix crash with replay buffer events 2020-02-27 04:59:48 -08:00
jp9000 764d5a2d3f win-capture: Preserve current window setting
This re-uses the game capture code for checking whether the original
window still exists or not.  If it doesn't or the name changed, it'll
insert the value at the top of the list so it doesn't automatically
select another when the user opens properties.

Basically, this fixes an issue where opening properties could sometimes
cause it to instantly capture whatever window was at the top of the
list, which is undesirable.

Closes obsproject/obs-studio#2421
2020-02-27 04:45:21 -08:00
jp9000 ffe4c767c3 win-capture: Move window capture method below window 2020-02-27 03:22:04 -08:00
Clayton Groeneveld e57d542625 Decklink: Fix crash when no device selected 2020-02-27 01:27:46 -06:00
Jim 535e94dc0e
Merge pull request #1759 from cg2121/enable-linux-browser
obs-browser: Enable Linux support
2020-02-26 04:46:38 -08:00
jp9000 389032baa3 obs-browser: Update to 2.8.2 2020-02-26 04:45:26 -08:00
Clayton Groeneveld 61aeaa5ca3 obs-browser: Enable Linux support
This requires CEF >= 3683
2020-02-25 22:38:12 -06:00
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
VodBox d2e115881d win-capture: Fix hook collisions with multiple game captures
Before this change, after a game capture source would send a signal to
init or restart a graphics hook, it would respond to any and all hook
ready signals.

With multiple game capture sources in the same scene, a source could
receive the signal intended for another source, and show the wrong
texture.

This change adds the window handle to the name for shared data with the
hook, resulting in hooks for other sources being ignored.
2020-02-18 21:20:48 +13: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
LiamCoal 2b7f4dfa6b media-playback: Unbuffered Media Source
When using an IP camera on a local network, we wanted to minimize
delay. In order to achieve minimum delay, we allowed Media Source to
set BufferingMB to 0, and when it is 0, also enable AVFMT_FLAG_NOBUFFER
in the AVFormatContext flags.
2020-02-07 20:38:06 -08: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
Jim 44dc06ede4
Merge pull request #2336 from cg2121/fix-warnings
libobs, obs-x264: Fix compiler warnings
2020-01-22 00:42:23 -08:00
Jiaxun Yang af062863ab linux-v4l2: Mark aarch64 and mips n64 as known platform
Aarch64 and MIPS N64 ABI are safe to the uint to long cast.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2020-01-22 15:41:30 +08:00
Matthew d3cf29dcc2 rtmp-services: Add Uscreen 2020-01-21 15:22:16 -07:00
Clayton Groeneveld 4e3a0180ba libobs, obs-x264: Fix compiler warnings 2020-01-21 15:18:09 -06:00
Clayton Groeneveld 9ae8e090e0 image-source: Fix color source default size 2020-01-17 07:53:14 -06:00
astudios123 fd206521da rtmp-services: Update SermonAudio entry (#2324)
We have a new back-end to the SermonAudio webcasting system which required a new URL and now allows for increased bitrates.

Added the "alt_names" to avoid breaking backwards compatibility and ensure that users receive the new ingest URLs.
2020-01-16 17:48:20 -06:00
Clayton Groeneveld 6a282360f0 obs-text: Change default size of text to 256 2020-01-15 02:18:33 -08:00
Clayton Groeneveld b5d2d26b5b text-freetype2: Change default size of text to 256 2020-01-15 02:17:52 -08:00
Clayton Groeneveld fd1a107436 image-source: Change default size to size of canvas 2020-01-15 02:17:09 -08:00
jpark37 9eeef48b5a win-dshow: Fix upside-down RGB DIBs
Fix regression to RGB DIB orientation according to MSDN.
2020-01-13 21:50:54 -08:00
Jim 1b3525e66a
Merge pull request #2291 from jpark37/cube-lut
Cube LUT file support
2020-01-13 16:10:40 -08:00
jpark37 5306f56e89 obs-filters: Add Cube LUT samples 2020-01-12 20:02:33 -08:00
jpark37 4ea7424ebb obs-filters: Add Cube LUT file support
Tested Cube LUT examples from Photoshop, Adobe spec, and some homebrew.

I don't know how to use the domain fields, so they are being ignored.
2020-01-12 20:02:24 -08:00
Kurt Kartaltepe 4d89123cdc librtmp: Allow partial success for mbedtls
mbedtls_x509_crt_parse_path returns a positive number if it partially
succeeds and a negative number on complete failure. This changes the
positive result to no longer error and prevent TLS connections (OBS
verifies all endpoints so having no CA chain prevents TLS).
2020-01-12 13:31:39 -08:00
Florian Zwoch 2699bbbd77 obs-outputs: Fix mbedtls use of deprecated functions
mbedtls_md5_starts(), mbedtls_md5_update() and mbedtls_md5_finish()
have been marked deprecated since mbedtls version 2.7 and may go
away in the future.

These function have been superseded by versions with a return
value. They are suffixed with "_ret". We do not actually check
return values.

Also the header "mbedtls/net.h" has been superseded by
"mbedtls/net_sockets.h".
2020-01-08 11:45:55 +01:00
derrod 3d091d5eeb rtmp-services: Update/remove services
- Mixer OSL removed (NXDOMAIN)
- Restream.io Prague added (FTL & RTMP)
- GameTips.tv removed (NXDOMAIN on all servers)
2020-01-08 04:55:38 +01:00
jpark37 2c10f237a0 mac-vth264: Fix encoder list leak
Instruments claims there are still more around here, but they look
internal with my limited Mac knowledge.
2020-01-04 09:46:09 -08:00
jpark37 55d47bed0d obs-ffmpeg: Fix VC++ warnings 2020-01-03 09:32:07 -08:00
Kacper Geisheimer a5fc8ab63b rtmp-services: Add show-it.tv 2019-12-30 23:09:36 +01:00
Jim 4df9ce0cdf
Merge pull request #2251 from jpark37/lut-volume-texture
Use volume textures for LUT filter
2019-12-29 11:04:20 -08:00
jpark37 f452bfeedd obs-filters: Add grayscale LUT image
Not sure what effect black_and_white.png is going for. Add grayscale.png
to try to make it clear that the other image shouldn't be used for
desaturation.
2019-12-26 09:41:47 -08:00
Jim 0d45f4d577
Merge pull request #1748 from boxerab/ffmpeg-streaming
obs-ffmpeg: UI and back-end for obs-encoded streaming over various protocols such as SRT
2019-12-18 12:54:10 -08:00
Gary Kramlich cbe1791362 linux-v4l2: Add support for controls
Video4Linux exposes controls for capture devices.  This commit adds
those controls to the properties window for v4l2-input devices.
2019-12-18 09:22:05 -08:00
jpark37 e4d8eaa1bc obs-filters: Use volume texture for LUT
Simplifies shader calculations. Not much perf gain, but GPA shows
bottleneck shift from Shader Execution to Sampler as expected.
2019-12-15 14:38:32 -08:00
Daniel Hill b9ad1ceb64 obs-qsv11: Add all TargetUsage values
Using terminology from FFmpeg reference, implement:
https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/cloud-computing-quicksync-video-ffmpeg-white-paper.pdf
2019-12-15 05:20:49 -08:00
Alexander Kozhevin c11a30e02a rtmp-services: Add YouStreamer
(This commit also modifies the UI module)
2019-12-14 12:54:31 -08:00
Jim 9ebc3d1352
Merge pull request #2220 from dionney/rate_control_vaapi
obs-ffmpeg: Enable VAAPI Rate Control
2019-12-14 02:11:02 -08:00
Jim 68bedcf1a9
Merge pull request #2240 from JohannMG/new-fb-bitrate
rtmp-services: Increase FB max bitrate to 6Mbps
2019-12-13 11:41:16 -08:00
jp9000 eed1a603d1 obs-browser: Disable system flash 2019-12-13 07:04:26 -08:00
JohannMG 0e6afafa67 rtmp-services: Increase FB max bitrate to 6Mbps
Facebook Live now recommends 6000kbps for most streamers and the auto
capping is clamping users to 4000kpbs. This fixes the new suggested
setting.
2019-12-12 17:24:45 -08:00
Yves Dionne 2841dfc6db obs-ffmpeg: Enable VAAPI Rate Control
Enable choosing CBR, CQP and VBR.
2019-12-11 17:16:29 -05:00
Kraz3D d34ad717b8 rtmp-services: Add Konduit.live 2019-12-10 08:53:06 -08:00
jpark37 3f58810b0e libdshowcapture: Update to latest submodule 2019-12-08 14:52:00 -08:00
jpark37 592ff852a5 Decklink: Explicit casts for truncation warnings 2019-12-06 22:35:52 -08:00
Jim c36e3fbc92
Merge pull request #2196 from jpark37/ffmpeg-mjpeg-spam
win-dshow: Suppress MJPEG error spam
2019-11-29 20:48:40 -08:00
Aaron Boxer b55b1e9bfd obs-ffmpeg: Add new ffmpeg-encoded-output 2019-11-27 14:40:52 -05:00
Aaron Boxer e13dae8299 obs-ffmpeg: Expose ffmpeg_data_init and ffmpeg_data_free methods 2019-11-27 14:40:52 -05:00
Peter Geis 64d0b7fcb4 libobs: Enable compilation on aarch64
Add arch checks to enable aarch-compat layer on aarch64, retain normal
gcc intrinsics on x86 and ppc64.
2019-11-25 13:04:21 -05:00
jpark37 f685322a0f win-dshow: Suppress MJPEG error spam
Only print the first message for this known benign error.
2019-11-24 23:59:27 -08:00
Clayton Groeneveld 82ffcdc827 UI: Add source icons 2019-11-24 20:50:42 -08:00
Jim 226f704e90
Merge pull request #2152 from Rosuav/fix-cursor-position
libobs: Fix cursor draw position bug when cropping a window capture.
2019-11-24 19:26:47 -08:00
jpark37 7d3e086e6f win-wasapi: Verify and balance CoInitializeEx call 2019-11-24 09:43:39 -08:00
Jim f09c7d0430
Merge pull request #2184 from kkartaltepe/log-ftl
obs-outputs: Log FTL during configure
2019-11-24 02:59:31 -08:00
Jim 1d1c9e5fee
Merge pull request #2167 from kkartaltepe/vaapi-ffmpeg-4.2
obs-ffmpeg: Remove unexposed vaapi parameters
2019-11-24 02:57:19 -08:00
Jim fa5454d1b8
Merge pull request #2124 from notr1ch/pci-device-ids
Use PCI database IDs instead of string matching for devices
2019-11-22 23:15:55 -08:00
Jim ef6e574d25
Merge pull request #2151 from RytoEX/vth264-dropped-frames
mac-vth264: Manually mark priority bits for frames
2019-11-20 23:45:51 -08:00
Chris Angelico fd668695db linux-capture: Fix cursor draw bug when cropping window cap.
When cropping the left or top of a window capture, OBS would misalign
the drawn cursor, placing it as if the entire window were being
captured. Instead, offset the captured cursor by the same number of
pixels, thus placing the cursor back where it belongs.
2019-11-20 22:09:47 -08:00
jp9000 f5e026b38b rtmp-services: Add scenecut=0 to mixer requirements 2019-11-20 15:02:50 -08:00
Kurt Kartaltepe 210ebcbda7 obs-outputs: Log FTL during configure 2019-11-18 20:37:33 -08:00
Manuel Kroeber 3773c7cc31 obs-text: add missing locale include to fix build
PR 2079 added localization but forgot the needed include
2019-11-16 12:50:42 +01:00
Jim e6daa22ab7
Merge pull request #2079 from exeldro/startcase
obs-text: text transform add locale and start case
2019-11-15 02:07:07 -08:00
Jim 61d959a095
Merge pull request #2077 from brittneysclark/qsv_cust_quant_mat
obs-qsv: Enable option for Custom Quantization Matrix
2019-11-14 18:54:51 -08:00
Jim 0d140542e4
Merge pull request #2072 from jpark37/dshow-negative-height
win-dshow: Support bottom-up DIBs
2019-11-13 11:42:05 -08:00
Jim 0f8472e8a8
Merge pull request #1914 from YouNow/master
rtmp-services: Add YouNow service and implement ingest lookup
2019-11-13 08:41:13 -08:00
jpark37 f896c773e8 win-dshow: Support bottom-up DIBs
The biHeight field can be negative, leading to crashes on some cards
like VisionRGB-E1S. Adding flip support is fairly straightforward.

There also appears to be a hack to automatically flip for RGB formats,
but I wish to remove it because it seems to fight with this change. We
already have a separate vertical flip checkbox to deal with non
compliant behavior.
2019-11-12 17:59:59 -08:00
wanhongqing 9b4d9c6788 win-dshow: Fix format switching issue
If the format was one encoded format and changes to another encoded
format, it could cause it to continue to treat it as the old format.
2019-11-12 14:37:32 -08:00
Jim 768a58771a
Merge pull request #1919 from omkelderman/mask-filter-reload-on-file-change
obs-filters: Reload the mask image when file change is detected
2019-11-07 15:45:12 -08:00
Olle Kelderman 5534c46920 obs-filters: Reload the mask image when file change is detected 2019-11-07 11:34:10 -08:00
VodBox 6645eaf1b8 obs-filters: Add toggle for scroll filter looping
By giving the option to disable the looping in the scroll filter, it
makes it more suitable for tasks like credits sequences, where you don't
want the texture to repeat and for the motion to only be performed once.
2019-11-07 06:25:36 -08:00
Kurt Kartaltepe d9470770a0 rtmp-services: Type check apply_encoder_settings
This fixes ovewritting hidden "profile" setting in ffmpeg vaapi which is
a number and not a string. It also shouldnt be overwritten as it is
required on some AMD hardware for the encoder to work.
2019-11-06 20:10:19 -08:00
Kurt Kartaltepe d2f2aeb5d2 obs-ffmpeg: Remove unexposed vaapi parameters
In ffmepg 4.2 setting qp overrides bitrate, this option isnt exposed
currently so users cannot disable it.
2019-11-06 18:57:05 -08:00
tujinshu 76e6a99124 win-capture: Fix rare crash when GL program exits
**Commit message modified and clarified by Jim**

When hooking a program that has both DirectX and OpenGL contexts in use,
it is possible to cause a crash on shutdown due to capture_active()
returning true when an OpenGL context is deleted.  Normally, when
capturing an OpenGL program, this would not happen because the 'active'
variable would not be set due to OpenGL capture not being initialized,
but if DirectX is captured while an OpenGL context is available, and
OpenGL could not load these required functions, then GL can crash due to
trying to use unavailable functions.

This case is extremely rare and doesn't happen under normal
circumstances; only if a program is using both DirectX and OpenGL within
the same program simultaneously, and *only* if OpenGL could not load the
required functions.  This likely almost never happens under normal
programs, games, and hardware.  This was apparently produced by hooking
a GL Qt program that used QWebEngine, which used multiple contexts at
once.
2019-11-05 13:44:15 -08:00
Roman Sivriver 64d90c28c8 rtmp-services: Add YouNow service and implement ingest lookup 2019-10-30 13:16:13 -04:00
Ryan Foster 30d29618b1 mac-vth264: Manually mark priority bits for frames
This commit is the mac-vth264 version of edfc2be in obs-qsv11.
2019-10-27 01:05:54 -04:00
Dmitry Vovk c0a8e86c9c rtmp-services: Add Stars.AVN.com streaming service 2019-10-22 23:53:48 -07:00
Jim 4c85ac65a3
Merge pull request #2134 from WizardCM/wasapi-samplerate
Log Sample Rate for WASAPI devices
2019-10-21 23:30:18 -07:00
Jim 86006ca726
Merge pull request #2129 from Fenrirthviti/win-blacklist-update
win-capture: Add additional exe to window capture blacklist
2019-10-21 23:23:23 -07:00
Matt Gajownik a6a86caf21 win-wasapi: Log device sample rate when initialized 2019-10-19 21:53:08 +11:00
derrod 5e183ff9a7 obs-ffmpeg: use avcodec_find_best_pix_fmt_of_list
The built-in format selector failed in certain cases like UtVideo now
using a differently packeg RGB format. FFmpeg has a format selection
functionality built-in that does pick the correct format however
(avcodec_find_best_pix_fmt_of_list), so we can simply use that instead.
2019-10-17 08:07:27 +02:00
Joel Bethke 6fb3552d70 win-capture: Add additional exe to window capture blacklist
These are additional internal windows processes that should not
be listed in the window capture dropdown.
2019-10-16 19:47:43 -05:00
Richard Stanway da31881059 obs-ffmpeg: Use vendor and device ID for NVENC blacklist 2019-10-16 12:19:09 +02:00
Jim 1ae588f3be
Merge pull request #2121 from cg2121/fix-warning
rtmp-stream: Fix comparison between signed and unsigned ints
2019-10-15 22:24:10 -07:00
Jim 86a5d43173
Merge pull request #2110 from derrod/ffmpeg-output-fix
obs-ffmpeg: Use av_opt_set on context instead of priv_data
2019-10-15 22:21:04 -07:00
Jim 09cbbd5487
Merge pull request #2108 from cg2121/mantis-1557
obs-filters: Fix sharpness not being translated
2019-10-15 22:19:27 -07:00