2864 Commits

Author SHA1 Message Date
jpark37
db35a022cd libobs-winrt,win-capture: Support desktop capture
Add display capture support via winrt_capture_init_monitor. Almost all
of the existing window capture code is reused.

Rename winrt_capture_init to winrt_capture_init_window for symmetry.
2021-01-26 15:57:20 -08:00
Matt Gajownik
84771b143c obs-browser: Fix panel build error on Windows and Linux 2021-01-27 10:31:20 +11:00
Matt Gajownik
482a8adaf3 obs-browser: Fix panel build error on macOS 2021-01-27 10:07:19 +11:00
Matt Gajownik
ba546ee79c obs-browser: Add Linux browser panel support 2021-01-27 09:40:33 +11:00
Kurt Kartaltepe
0dce235fdb linux-capture: Fix lock ordering
xcompcap was taking locks in the wrong order resulting in deadlocks on
close. If you had an xcompcap properties window open on close it was
nearly 100% deadlock. This ensures locks are taken in the same order as
libobs takes when shutting down.
2021-01-26 03:33:05 -08:00
SCG82
16a5ce89aa rtmp-services: Update MyFreeCams 2021-01-26 03:18:59 -08:00
Mark Sergienko
c38cbb10a4 rtmp-services: Add EventLive
Add EventLive endpoint and recommended settings to list of RTMP
services. Bump rtmp-services/data/package.json version
2021-01-25 07:28:15 -08:00
jp9000
560c1bea30 rtmp-services: Fix trailing whitespace in services.json 2021-01-25 06:50:40 -08:00
Kurt Kartaltepe
d8a25ef943 linux-v4l2: Improve module detection
Expand PATH for Debian-like systems.
Improve detection when the module is already loaded.
2021-01-25 04:14:29 -08:00
Kurt Kartaltepe
d8a253c42f libobs, linux-v4l2: Set thread names
Sets thread names for the hotkey and v4l2 capture threads.
2021-01-25 04:13:24 -08:00
MaZderMind
9afd1c99bd linux-capture: Remove unused code 2021-01-24 16:36:41 -08:00
MaZderMind
6bb39ea3de linux-capture: scan for re-created windows more often 2021-01-24 16:36:41 -08:00
MaZderMind
4b8c490ed5 linux-capture: XSelectInput tracking improvement
Track all windows corresponding to sources and ensure that we only
disable XSelectInput events once all sources for a given window have
been removed. Previously we may have stopped listening for events if
multiple sources captured the same window and one was removed.

We also move window redirection into the helper to avoid similar issues.
2021-01-24 16:35:45 -08:00
MaZderMind
a92c68fb9f linux-capture: Capture windows by id first
Previously we only captured by window name and class. This prevented
capture of windows with the same name and class, and caused captures to
switch from one window to another of the same name and class.
2021-01-24 15:04:26 -08:00
jpark37
b460f025ed obs-filters: Fix pow arguments
GLSL does not auto-promote float to vector where HLSL does.
2021-01-23 01:53:11 -08:00
jp9000
9c3863671c obs-browser: Update color handling
Updates color handling with obsproject/obs-studio#2067
2021-01-22 16:09:47 -08:00
Jim
8333f13587
Merge pull request #2067 from jpark37/srgb-toggle
Linear color math
2021-01-22 16:03:29 -08:00
jpark37
a11e34615d obs-filters: Apply sharpness filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
346af9cc87 obs-filters: Apply scale filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
19d897e3d3 obs-filters: Apply image mask filter in linear space
Also fix an existing stale texture crash when reseting to defaults.
2021-01-21 07:57:57 -08:00
jpark37
d16919b8a0 obs-filters: Apply GPU delay filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
ad2527765f obs-filters: Apply luma key filter in linear space
Also switch from 601 to 709 luma coefficients to match other filters.
2021-01-21 07:57:43 -08:00
jpark37
e66d49cd83 obs-filters: Apply color key filter in linear space
Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:57:15 -08:00
jpark37
22a7fd1cf3 obs-filters: Apply color grade filter in linear space 2021-01-21 07:57:15 -08:00
jpark37
e812a133ee obs-filters: Apply color correction filter in linear space
The newly versioned filter also has color overlay removed. We can add it
back if the demand is there, but I'd rather not maintain it.

Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:56:34 -08:00
jpark37
47da18e26c obs-filters: Apply chroma key filter in linear space
Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:55:50 -08:00
jpark37
14d9b57422 obs-transitions: Linear SRGB, swipe 2021-01-21 07:42:57 -08:00
jpark37
33ace6b817 obs-transitions: Linear SRGB, slide 2021-01-21 07:42:57 -08:00
jpark37
ad013f4d84 obs-transitions: Linear SRGB, luma wipe 2021-01-21 07:42:57 -08:00
jpark37
b718a5b0a4 obs-transitions: Linear SRGB, fade 2021-01-21 07:42:57 -08:00
jpark37
18184e0175 obs-transitions: Linear SRGB, fade to color 2021-01-21 07:42:57 -08:00
jpark37
33b744270a linux-capture: Support linear SRGB
Well, linear SRGB for screen capture. The window capture path failed to
copy between SRGB textures for some reason, so just force nonlinear
formats instead.
2021-01-21 07:42:57 -08:00
jpark37
ebc22dea78 mac-capture: Support linear SRGB 2021-01-21 07:42:57 -08:00
jpark37
a311299606 win-capture: Support linear SRGB
For game capture, neither GL nor D3D9 support SRGB shared textures, so
disable linear SRGB support if the texture format doesn't support it.

Similarly, DXGI display capture doesn't work with SRGB at the moment.
Unsure if it will with more work, but disable for now.

Also force linear SRGB off if using GDI-compatible textures.
2021-01-21 07:42:57 -08:00
jpark37
015ed39923 text-freetype2: Support linear SRGB 2021-01-21 07:42:57 -08:00
jpark37
a6fc46156d obs-text: Support linear SRGB 2021-01-21 07:42:57 -08:00
jpark37
cc452e5eda image-source: Support linear SRGB
Both image and color sources have been updated.

Also added alpha support to the color source. Useful for users, and
serves as an easy alpha blending test case.
2021-01-21 07:42:57 -08:00
Piotr Esden-Tempski
d7ec87ff0e linux-v4l2: Add auto reset on timeout option
Adds frame time multiple based timeout option, instead of the hardcoded
1 second timeout.

Adds optional automatic device stream reset when the device times out.
Helps with devices that "lock up" or "freeze", for example Magewell and
Elgato USB HDMI capture devices.

The automatic reset is by default off and optional. Turning it on can
cause issues for devices that work but drop a lot of frames.
2021-01-20 16:45:05 -08:00
jp9000
552bd035d5 Revert "mac-avcapture: Add additional capture presets"
This reverts commit b1efb005ab24715a117839e5fdc26185bd0405e5.

This needs to be a runtime check, not a compile-time check.
2021-01-20 12:44:16 -08:00
Doug Kelly
b1efb005ab mac-avcapture: Add additional capture presets
This adds additional capture presets, including 3840x2160 and
1920x1080, in addition to the preset "High."
2021-01-20 12:20:29 -08:00
Sefa Eyeoglu
90244212f3 obs-outputs: Use system-wide FTL if present
To support FTL, it needed to be present in-tree to be compiled. This PR
adds support for system-wide installations of libftl. It uses
pkg-config to find the system-wide installation. If pkg-config can't
provide libftl we just fall back to using the in-tree submodule. If
that's also not available it won't be included at all like before.
2021-01-17 20:07:03 -08:00
Matt Gajownik
f233222412 mac-virtualcam: Make DAL plugin filename case consistent
This caused issues on case sensitive filesystems
2021-01-18 08:57:26 +11:00
Matt Gajownik
bb6b1e53f8 obs-browser: Update to 2.11.0
- macOS Browser Docks
- Virtualcam Frontend Function/Events
- Manually set default font size
- Expose reload function for browser panels
2021-01-17 20:22:44 +11:00
VodBox
fb95e1d1e9 libobs: Add missing file API to sources 2021-01-17 10:31:58 +13:00
Matt Gajownik
84fb6fc744 rtmp-services: Use official Twitch endpoint to fetch ingests 2021-01-14 09:28:21 +11:00
Hernán
92a7c12909 rtmp-services: update Piczel.tv recommended 2021-01-13 09:47:18 -08:00
Hayden McAfee
96ef45cef5 UI: Support FTL URLs for custom streaming service
Custom streaming service URLs beginning with `ftl` are handled by the
`ftl_output` plugin.
2021-01-13 09:44:52 -08:00
Meng Li
96c7790d80 obs-ffmpeg: Always fully restart remote media sources
When a media source is set to use a URL, always fully shut down the
media when stopped. This ensures that the media will do a full
reconnect after having been stopped.
2021-01-12 19:47:44 -08:00
Roman Sivriver
7029304b32 ftl-stream: Fix reconnect loop on FTL ingest disconnect
When connection to FTL ingest is lost, ftl_event() calls
obs_output_signal_stop() to trigger a reconnect. However, during the
reconnect delay, send_thread is still waiting on send_sem semaphore.
After the delay, ftl_stream_start() is called, which in turn resets
the semaphore and creates a new send_thread. Old send_thread now exits
the loop and triggers another reconnect and the whole process repeats
again. The fix resets the semaphore in ftl_event() so the old
send_thread exits immediately.
2021-01-12 18:28:41 -08:00
clone1018
64164a1523 rtmp-services: Add Glimesh service 2021-01-12 16:43:41 -08:00