Commit Graph
2786 Commits
Author SHA1 Message Date
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
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
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
Piotr Esden-Tempski bb264b2b33 linux-v4l2: Improve error and debug logging
The capture loop errors are now logged as such.
Increased the amount of information logged in debug mode, including
state of all buffers on timeout.
Add device name to all capture loop debug output, especially useful when
debugging issues with multiple v4l2 video streams.
2021-01-12 09:33:11 -08:00
jp9000 c390bb950d cmake: Make mac vcam optional (enabled by default) 2021-01-11 16:16:25 -08:00
jpark37 535f6b0adc win-capture: Typeless game capture textures
Modify game capture shared textures to be typeless if they could
potentially need SRGB and non-SRGB views in the future.

These capture APIs have been updated: D3D 10/11/12, Vulkan.

D3D8 capture does not use shared textures.

D3D9 and GL interop do not support typeless textures.

The new game capture DLL should be compatible with old versions of OBS.

Also removed a lot of dead code around pointless SRV/RTV support.
2021-01-11 14:18:12 -08:00
jpark37 2de056e32c obs-filters: Fix color overlay in color correction
Use color picker with alpha to restore color overlay functionality.
2021-01-11 11:52:50 -08:00
Lin f4a76f9daa obs-qsv11: Fix bframe=0 not working
Fixes obsproject/obs-studio#3979.
2021-01-11 11:52:07 -08:00
Colin Edwards 3056977737 CI: Update macOS to CEF 4183 2021-01-08 10:26:15 -08:00
Colin Edwards 0a614cbf84 obs-browser: Update to 2.10.9
macOS hardware acceleration
multiprocess on macOS
2021-01-07 23:02:45 -06:00
Adrián Pardini e4835daac2 rtmp-services: Add CamSoda service 2021-01-07 08:46:17 -08:00
SCG82 6a9e59108b rtmp-services: Add MyFreeCams 2021-01-07 07:05:56 -08:00
jp9000 dffa822112 win-dshow: Fix dshowcapture not linking audio of certain devices 2021-01-04 07:02:53 -08:00
Hector Martin 9616b79026 linux-jack: fix deadlock when closing the client
This lock causes a deadlock when freeing the JACK client while a
process callback is pending:

deactivate_jack -> locks mutex
   JACK thread -> calls jack_process_callback
   jack_process_callback -> blocks on mutex
jack_client_close -> joins JACK thread
(deadlock as the process callback never returns)

Instead, just don't lock the mutex. This is only mutexing on
creation/destruction of the JACK client. This is not necessary: the
process callback will only run after jack_activate (which is right
before the mutex is released in jack_init()), and will stop running
by the time jack_client_close returns. We don't actually need to
unregister any ports, so just call jack_client_close first thing in
deactivate_jack, which will guarantee the process callback has
completed before returning.

In fact, jack_process_callback isn't allowed to lock any mutexes or
allocate any memory at all, so this plug-in is still broken in this way
as obs_source_output_audio does that. This can cause audio xruns, as
realtime guarantees are violated. This is something that should be
fixed in the future, but at least it's not a deadlock.
2021-01-03 11:08:58 -08:00
Hector Martin 5d6bca0fd2 linux-jack: mark ports as JackPortIsTerminal
Ports which do not feed audio back into JACK should be marked as terminal.
This allows latency compensation to work properly.
2021-01-03 11:08:58 -08:00
Hector Martin df6446c573 linux-jack: fix timestamp calculation
The previous calculation was completely broken, returning offset
timestamps in the best case, and complete insanity in the worst case
(e.g. if an xrun occurs or JACK otherwise has a glitch).
2021-01-03 11:08:58 -08:00
jp9000 c38daa1934 obs-browser: Initialize CEF early to fix macOS crash
Initialize CEF during obs_module_load() to prevent a crash in Chrome's
memory allocation handler.

Reference: obsproject/obs-browser#256
2021-01-03 08:36:24 -08:00
Avital Yachin cfd8b2daf1 rtmp-services: Add Loola.tv service
Closes obsproject/obs-studio#3932
2021-01-02 12:31:23 -08:00
jp9000 979054cc8c rtmp-services: Fix json formatting 2021-01-02 12:29:13 -08:00
Clayton Groeneveld 51050f7181 image-source: Fix slideshow transition bug when randomized
This fixes a bug where the transition wouldn't work when playback
is randomized and restart on activate is used.
2021-01-02 04:35:24 -08:00
Biswapriyo Nath e6ff2b6729 coreaudio-encoder: Fix cmake for mingw
This prevents windres to catch up '-Wno-multichar' as an option which is
unknown to it.  This flag was added in commit
aa0e64b7c9
2020-12-29 13:17:29 -08:00
gxalpha ac8eaad483 mac-virtualcam: Remove unnecessary logging
Removes logging from the DAL plugin that is not really necessary but spams Console.app
2020-12-29 05:48:10 -08:00
gxalpha 20c41dba8a mac-virtualcam: Mark parameters as unused
Marks function parameters as unused, removing compiler warnings
2020-12-29 05:45:54 -08:00
Justin Bull 627aaeddb4 image-source: Add .webp to "All formats" option 2020-12-29 00:39:22 -08:00
Justin Bull 940a07e62f image-source: Add webp to file filter 2020-12-29 00:39:22 -08:00
Richard Stanway e5c6839904 libobs, obs-ffmpeg: Use correct value for EINVAL error check
FFmpeg functions such as av_interleaved_write_frame return negative
on error, so all errno values are negated.
2020-12-21 18:37:49 +01:00
Rodney 60fed63d68 Merge pull request #3877 from derrod/purge-services
UI/rtmp-services: Remove Smashcast
2020-12-21 09:46:53 +01:00
Colin Edwards 8285141ba5 decklink: Fix automatic pixel format detection 2020-12-20 14:44:14 -08:00
SCG82 c7b89fa36b mac-virtualcam: Fix file mode 2020-12-18 00:11:00 -08:00
derrod 47ba751e24 rtmp-services: Remove Smashcast 2020-12-14 04:45:54 +01:00
Gol-D-Ace 7368a2c7cc Update translations from Crowdin 2020-12-14 00:29:44 +01:00