Commit Graph
9509 Commits
Author SHA1 Message Date
jpark37 9e092bf28e obs-filters: Fix color key distance
Was incorrectly computing distance between linear color and nonlinear
key. Make color nonlinear to match previous behavior.
2021-05-11 20:23:19 -07:00
jp9000 fa3d87b770 obs-transitions: Use texrender with stacked track mattes
When using a stacked track matte stinger transition with a visibility
transition, the matte portion of video would also be visible on the
right side or below the source. This fixes it by first rendering the
video to a texrender object in order to filter out the unwanted portion.

(Jim note: So basically, track matte stingers now use two texrenders.  I
really don't like this. Texrender objects can already cause stalling as
it is.)
2021-05-11 00:58:16 -07:00
jp9000 c4e0a68641 obs-transitions: Fix track matte rendering improper sizes
When using track matte stingers as visibility transitions, it would
render the matte portion at the incorrect size. This was due to the fact
that texrender render code blocks do not set the projection matrix.
You're supposed to do that manually. Thus, it was using whatever the
current projection matrix was, which was usually the canvas projection
matrix.

(Jim note: There were reasons why I didn't make texrender objects do
this automatically, mostly scaling and performance reasons, but I
realize now I should have at least provided an option for it instead to
prevent this "gotcha" situation from happening. Bad design on my part. I
do not blame Palakis for falling for this.)
2021-05-11 00:58:16 -07:00
jp9000 d4780e061c obs-transitions: Fix annoying log message
This would cause a null pointer check log message because matte_source
only exists when using an explicit separate video for track matte
stingers. Instead, explicitly set matte_ph to null if matt_source is
null to avoid the null pointer check logging.
2021-05-11 00:58:16 -07:00
jp9000 9867b9513f obs-transitions: Only check matte duration if matte exists
The code within this block was being called even when there is no matte
source present. Caught by null pointer checks in the log.
2021-05-11 00:58:16 -07:00
jp9000 279ca988cd obs-transitions: Free matte texrender when not in use
This prevents the texrender object from lingering if the user changes
the transition properties.
2021-05-11 00:58:16 -07:00
jp9000 84b12afa5f obs-transitions: Remove unnecessary matrix push/pop
texrender objects already push/pop the matrix internally, so doing this
within a texrender rendering code block isn't necessary.
2021-05-11 00:58:16 -07:00
jp9000 4636413334 obs-transitions: Reset track matte texture in tick
This causes the track matte render target to only be reset once per
frame, rather than potentially multiple times per frame. Palakis most
likely did not know that you're supposed to reset only once per frame in
order to prevent the render target from being rendered more than once
per frame.

(Jim note: I probably should have made texrender objects automatically
detect new frames internally so it wouldn't require this. Not Palakis'
fault.)
2021-05-11 00:57:26 -07:00
jp9000 07783c1846 Revert transition scaling fix
This reverts commit 091bdb9832, dc2b00a4dd, and
661256e6de.

These did not fix the problem with track matte scaling.
2021-05-11 00:25:04 -07:00
jp9000 cec8e24630 frontend-plugins: Fix script properties not updating
Fixes a bug where script properties would not update correctly after the
Undo/Redo changes in the properties view. The properties view was using
the wrong callback, and had a bad cast.
2021-05-09 08:45:08 -07:00
jp9000 8ecf634ba7 Revert "rtmp-services: Add Odysee.com"
This reverts commit e876ad6596.
2021-05-09 00:55:16 -07:00
jpark37 9d7330ca44 obs-transitions: Blend in linear space
Color mismatch is apparent when using source transitions, which lerps
against transparent black and blends into the canvas nonlinearly. When
the transition is done, the blend switches to linear, leading to a pop.

Fix the issue by blending into the canvas in linear space. The lerp is
still nonlinear by design.
2021-05-08 20:53:44 -07:00
Developer 4e4c460829 rtmp-service: Rename "stream key" for dacast
(Additional note by Jim: Apparently, dacast doesn't use "stream key" for
whatever reason on its website, so this commit apparently changes the
text "Stream Key" to "Encoder Key" or whatever for whatever reason I'll
never know. I guess we need arbitrary names for things these days
because services can't get their names in order or something. Whatever.
I'm seriously tired of dealing with this sort of stuff. Seriously, this
is just dumb. This is dumb, and I wish I wasn't merging it, but at this
point, I'm like, whatever. I don't care. I've stopped caring. Why should
I care anymore? I'm losing it. I am absolutely losing it.)
2021-05-08 19:16:13 -07:00
Clayton Groeneveld 0452f05595 UI: Clear fade to black source
If the fade to black was active and the user switched scene collections,
or exited studio mode, the source wouldn't be cleared, causing the
transition not to work properly when used again.
2021-05-08 19:05:27 -07:00
Clayton Groeneveld c2bc5e675c UI: Simplify fade to black code
Removes unnecessary function call.
2021-05-08 19:05:27 -07:00
Ryan Foster a7b20fcd2a cmake: Remove outdated osxbundle files
These files have been superseded by files in CI/scripts/macos. They are
no longer used, and keeping them around creates confusion and makes
people think they are still used. Let's remove them to prevent further
confusion.

This commit also removes the CMake function `obs_finish_bundle` that was
only used with the osxbundle resources and removes calls to that
function.
2021-05-08 18:57:14 -07:00
Georges Basile Stavracas Neto 2b1eda69e7 flatpak: Cleanup unwanted static libraries
The CEF static library in special is gigantic (50MB+) and
was significantly increasing the bundle size.
2021-05-08 18:53:02 -07:00
Georges Basile Stavracas Neto 834b03f489 Revert "flatpak: Disable obs-browser build"
This reverts commit c370692773.

The PR that introduced this commit was opened before the browser plugin
was enabled, and when the browser was effectively enabled, this change
was already in place and didn't conflict, leaving us with both a
-DBUILD_BROWSER=ON *and* -DBUILD_BROWSER=OFF in place.
2021-05-08 18:53:02 -07:00
Clayton Groeneveld 90efc5c69c UI: Disable transition props menu when transitioning
When transitioning, the transitions properties menu would still be
enabled.
2021-05-08 18:46:15 -07:00
iamflorencejay e876ad6596 rtmp-services: Add Odysee.com 2021-05-08 15:31:43 -07:00
geekenmd 200c154238 rtmp-services: Add Brime Live service
rtmp-services: Add Brime Live service
2021-05-08 15:14:19 -07:00
jpark37 f40eede37a obs-filters: Fix unreferenced variable warning 2021-05-08 14:12:54 -07:00
jpark37 83cb43f166 libobs: Mark unused parameters 2021-05-08 14:12:54 -07:00
jpark37 ef72eb70ec libobs: Fix uninitialized variable warning 2021-05-08 14:12:54 -07:00
Exeldro 8810e7ae98 libobs: Fix deadlock removing scene item 2021-05-08 00:32:03 -07:00
jpark37 366b716f20 libobs-winrt,win-capture: Cursor toggle exceptions
A user has reported that toggling the cursor can cause exceptions.

Propagate that information upward, so we can reset the capture.

Display capture never needed to call the function in the first place.

Shuffle around window capture code to make a common reset function.

Builds on PR #4663.
2021-05-07 23:50:13 -07:00
jpark37 3514f4fea5 win-capture: Fix WGC disable index for display
Previously disabled DXGI because the index is wrong.
2021-05-06 13:58:14 -07:00
jpark37 54db450e43 image-source: Premultiply alpha in shader
Fixed-function alpha-blend kills precision of 16-bit alpha.
2021-05-05 09:43:34 -07:00
jpark37 5a8842d9f0 libobs: Support 64 bpp images
Useful for loading high-precision alpha channels.
2021-05-05 09:43:34 -07:00
jpark37 de7cec3dee libobs: Add DrawAlphaBlend technique
Useful when fixed-function blend does not provide enough precision.
2021-05-05 09:43:34 -07:00
jpark37 67c2c45964 obs-filters: Fix shader for LUT on OpenGL 2021-05-05 09:42:11 -07:00
jpark37 da187ba73b image-source: Allow linear space alpha
Add support for applying alpha in linear space to match Photoshop
behavior in linear mode, and for just overall correctness. The default
setting is still nonlinear to match common user expectation though.
2021-05-03 22:58:17 -07:00
jp9000 7b4e4b99d2 obs-browser: Add SRGB flag 2021-05-03 19:13:41 -07:00
jpark37 01d065fa7d win-capture: Remove SRGB code
Not having OBS_SOURCE_SRGB is good enough now.
2021-05-03 01:19:56 -07:00
jpark37 128bd26a1f text-freetype2: Remove SRGB code
Not having OBS_SOURCE_SRGB is good enough now.
2021-05-03 01:19:56 -07:00
jpark37 78711fa648 win-capture: Add OBS_SOURCE_SRGB flag 2021-05-03 01:19:56 -07:00
jpark37 41a294311c obs-text: Add OBS_SOURCE_SRGB flag 2021-05-03 01:19:56 -07:00
jpark37 99eb509fe9 mac-capture: Add OBS_SOURCE_SRGB flag 2021-05-03 01:19:56 -07:00
jpark37 9eaf2fa766 linux-capture: Add OBS_SOURCE_SRGB flag 2021-05-03 01:19:56 -07:00
jpark37 819e634be4 image-source: Add OBS_SOURCE_SRGB flag 2021-05-03 01:19:56 -07:00
jpark37 ae7718a765 libobs, obs-filters: SRGB backwards compatibility
Add OBS_SOURCE_SRGB to indicate sources that support SRGB rendering. We
can use this flag to know which sources do not know how to handle SRGB,
and disable accordingly inside obs_source_main_render().

We can also use this flag to clean up the filter interface and remove
the SRGB-specific functions. We also need to disable direct rendering if
the filter source wants to render SRGB, but the parent source does not
support it.

Scenes and groups are marked as having SRGB support, and those are
internal sources that we control.
2021-05-03 01:19:56 -07:00
jpark37 bd98e41ca1 UI: Fix rounding truncation
Set decimal places before value on QDoubleSpinBox to preserve precision.
2021-05-02 10:01:29 -07:00
jpark37 091bdb9832 obs-transitions: Remove dead code 27.0.0-rc3 2021-05-01 23:57:49 -07:00
Sebastian Beckmann 8ec73aea86 docs: Remove block quotes (#4621)
Removes the indents that cause the text to be interpreted as block
quotes
2021-05-01 19:46:54 -05:00
Matt Gajownik 2a7fd297e4 win-dshow: Add support for ASUS coupled audio 2021-05-01 13:53:37 +10:00
Matt Gajownik 19883b74cf obs-browser: Update version to 2.14.2
* Fix bitmask typo when creating OBS version string
* Fix memory corruption when translating Refresh text
2021-05-01 13:50:47 +10:00
Sebastian Beckmann 88bd91cbc2 README.rst: Use High DPI Discord Badge
Replaces the official Discord Badge with one from shields.io, which is
higher DIP compared to the official one.
2021-04-30 18:46:17 -07:00
Clayton Groeneveld 03b76c09e8 UI: Move clearing of copy/paste variables
It makes more sense for these to be in the ClearSceneData function.
2021-04-30 18:45:27 -07:00
Kurt Kartaltepe 0f172a0bc7 CI: Remove unneeded runtime deps
Removes kernel headers and dkms packages from the CI pipeline. These are
only needed when running obs and not when building. This avoids crashing
and burning in CI when secureboot is enabled. see: https://github.com/obsproject/obs-studio/pull/4560/checks?check_run_id=2403303957
2021-04-30 18:44:01 -07:00
jp9000 b685d1bf88 UI: Fix proprty Undo not updating settings properly
Settings would not update properly because obs_source_update() can only
apply the settings value to the existing settings, so it could not
remove values. This change fully erases existing settings and replaces
it with the target settings instead.
2021-04-30 18:38:31 -07:00