0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

101 Commits

Author SHA1 Message Date
Exeldro
aee6d813f1 obs-transitions: Fix stinger transition looping 2021-11-10 12:47:39 -08:00
Vainock
11a690b038 Update translations from Crowdin 2021-09-24 09:42:08 -07:00
gxalpha
c9302d13ce UI,obs-transitions: Enable missing files dialog for stinger transition
Adds transitions to the missing files check, allowing for stinger
transitions to be shown in the dialog
2021-08-16 08:29:54 -07:00
jp9000
f487954395 obs-transitions: Fix desync of stinger track matte
Although obs_source_add_active_child indicates to a child source that a
child source needs to activate, sources will not activate until the next
tick. However, because the transition start call is made from within the
UI thread, the time in which the media source renders is not guaranteed
to be activated by the time the stinger renders due to a potential race.
Thus he media source of a stinger is not guaranteed to be activated,
causing a brief flash. This also applies when stopping a stinger.

This problem normally doesn't really affect normal stingers; instead, it
affects track matte stingers because it is critical for them to be on
time in order to have the mask data.

In order to solve this, check to see if the underlying media source is
actually active and able to render when performing the masking.
2021-08-11 05:56:02 -07:00
jp9000
30c264c8bf obs-transitions: Add "Mask only" track matte option 2021-08-08 15:45:14 -07:00
jp9000
884f707d31 obs-transitions: Fix missing newline at end of file 2021-08-08 15:40:13 -07:00
Translation
ef2b1eb1c6 Update translations from Crowdin 2021-06-11 07:18:15 -07:00
Gol-D-Ace
90df8d44df Update translations from Crowdin 2021-05-30 20:33:35 +02:00
jp9000
6792e9c1c6 obs-transitions: Disable separate track matte file for now
Because it's not currently possible to guarantee synchronization between
two separate media files (yet), disable separated track matte media
files for now. It'll just result in support requests that can't be
solved.
2021-05-23 04:00:18 -07:00
Clayton Groeneveld
e1580d12fb obs-transitions: Make sure gs calls are in graphics context
This would cause a memory leak when toggling the track matte
transition.
2021-05-14 07:43:27 -07:00
jp9000
6698638450 obs-transitions: Fix memory leak
Fixes a memory leak with stinger texrender objects. These functions must
be called while the graphics context is locked. Caught via warnings
generated by the destroy functions.
2021-05-13 15:13:07 -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
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
jpark37
091bdb9832 obs-transitions: Remove dead code 2021-05-01 23:57:49 -07:00
jpark37
a5cef2513b obs-transitions: Nonlinear SRGB, swipe
Switch back for now. Maybe we want CIELUV, but that's expensive.
2021-04-21 21:06:18 -07:00
jpark37
8c826f5bc3 obs-transitions: Nonlinear SRGB, slide
Switch back for now. Maybe we want CIELUV, but that's expensive.
2021-04-21 21:06:18 -07:00
jpark37
62bd3854f8 obs-transitions: Nonlinear SRGB, luma wipe
Switch back for now. Maybe we want CIELUV, but that's expensive.
2021-04-21 21:06:18 -07:00
jpark37
8e2096f621 obs-transitions: Nonlinear SRGB, fade
Switch back for now. Maybe we want CIELUV, but that's expensive.
2021-04-21 21:06:18 -07:00
jpark37
6124a373f6 obs-transitions: Nonlinear SRGB, fade to color
Switch back for now. Maybe we want CIELUV, but that's expensive.
2021-04-21 21:06:18 -07:00
Stéphane Lepin
dc2b00a4dd obs-transitions: Crop output of stinger media player
This fixes an issue with Track Matte Stingers applied as visibility
transitions, where the side-by-side or stacked matte file mode would
result in the matte part of the video to "overflow" outside of the
transition's zone
2021-04-18 18:05:07 -07:00
Stéphane Lepin
661256e6de obs-transitions: Remove scaling of track matte texture 2021-04-18 18:05:07 -07:00
jpark37
cacc65f978 obs-transitions: Add narrowing casts 2021-03-31 06:07:11 -07:00
Eric Lindvall
3c76fc4ddb obs-ffmpeg: Enable macOS hardware decoding for media source
Reverts  c7395b05ec
2021-03-30 03:45:06 -07:00
Stéphane Lepin
2bd0404c17 obs-transitions: skip stinger size factors if track matte is disabled 2021-02-06 17:14:10 -08:00
Stéphane Lepin
442ebce361 obs-transitions: default size factors when track matte is disabled 2021-02-06 17:14:10 -08:00
Stéphane Lepin
506434c5e6 obs-transitions: add track matte feature to the stinger transition
This adds the ability to use a secondary black-and-white video as a mask
between source A and B of the transition. The greyscale value of each
pixel is used as the "slider" value in a linear interpolation between the
corresponding pixels in source A and source B.
The track matte can either be in the same file as the stinger itself
(next to the stinger or under the stinger, doubling the width or height
of the stinger depending of the selected layout) or a in a separate
dedicated file.
The same file/separate file behavior is controlled by the
"Matte Layout" option in the stinger settings.
2021-02-06 17:14:07 -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
Gol-D-Ace
7368a2c7cc Update translations from Crowdin 2020-12-14 00:29:44 +01:00
Gol-D-Ace
7ab98ca00f Update translations from Crowdin 2020-11-25 20:11:39 +01:00
Matt Gajownik
4a53958c87 obs-transitions: Expose hardware decoding for Stingers
This also enables hardware decoding by default for stingers.

Note: per c2a2bc5e40 this will not affect
webm files with alpha.
2020-10-23 22:34:24 -07:00
Gol-D-Ace
c66ebde080 Update translations from Crowdin 2020-09-27 23:07:27 +02:00
jp9000
7993179466 cmake: Add cmake folders 2020-05-13 06:52:37 -07: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
Gol-D-Ace
d74fc65047 Update translations from Crowdin 2020-03-16 20:14:50 +01: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
Matt Gajownik
56d25fe6a8 obs-transitions: Set stinger media source's name 2020-01-25 17:27:16 +11:00
Matt Gajownik
51be039cf8 CMake: Build Windows modules with file descriptors 2019-10-15 21:34:12 +11:00
jp9000
e023060afa obs-transitions: Fix stingers sometimes getting cut off
The file duration is a bit of an estimate.  This adds 500ms to the
estimated stinger media file duration to help ensure stinger videos
play back in full without getting cut off prematurely.
2019-10-05 12:51:01 -07:00
Gol-D-Ace
03b5be75e4 Update translations from Crowdin 2019-09-17 23:21:00 +02:00