Commit Graph

10692 Commits (c426622690399d5dfcc8ff00d7e1fbc8a3c937fc)

Author SHA1 Message Date
Matt Gajownik c426622690 UI: Create Log Viewer window XML file, migrate code 2022-04-10 11:52:11 +10:00
Matt Gajownik dbb063eae6 UI: Create Properties window XML file, migrate code
window-basic-properties was written in the earliest days of OBS. To
make it easier to navigate & adjust, this moves all the structural
code into a new .ui file and out of the C++ code.

This also modifies the ButtonBox in Filters to use matching buttons.
2022-04-10 11:52:11 +10:00
tt2468 af67ef8e57 libobs, UI: Fix `--verbose` logging for stdout
Verbosity of stdout was previously hardcoded to INFO, while log viewer
and log files had correct verbosity. This makes the behavior of
--verbose make sense in all places.
2022-04-09 16:48:37 -07:00
Georges Basile Stavracas Neto 3d7663f417 linux-pipewire: Explicitly enumerate portal capture types
This is very much like previous commit, but there's a catch: there
already was an enumeration in place, which is replaced in this
commit. The obs_pw_capture_type enum was introduced before splitting
the portal code into a separate file, and the enum itself is specific
to the screencast portal, so the appropriate place to enumerate it
is in portal.h.

For completude, PORTAL_CAPTURE_TYPE_VIRTUAL was added to the enum,
even though we never used, and probably never will.

The values are still the same, since both the old and this new enum
were extracted from the screencast portal [1].

https://github.com/flatpak/xdg-desktop-portal/blob/main/data/org.freedesktop.portal.ScreenCast.xml#L290-300
2022-04-09 16:45:02 -07:00
Georges Basile Stavracas Neto e7815dff66 linux-pipewire: Explicitly enumerate cursor modes
The ScreenCast portal defines 3 cursor modes [1]:

 * Hidden: no visible cursor (value: 1)
 * Embedded: cursor is drawn in the frames (value: 2)
 * Metadata: cursor is sent as stream metadata (value: 4)

The values are power-of-two due to be used as flags.

Explicitly listing these values in an enum improves legibility
of the code, so do that instead of hardcoding 1, 2, and 4.

[1] https://github.com/flatpak/xdg-desktop-portal/blob/main/data/org.freedesktop.portal.ScreenCast.xml#L302-L316
2022-04-09 16:45:02 -07:00
Georges Basile Stavracas Neto 1267081e5c linux-pipewire: Move fetching cursor mode to portal.c
The portal.c file was introduced after the PipeWire code landed, and
handles acquiring a D-Bus connection to the portal interface, and also
has helpers to get properties from portals. The available cursor modes
property fits nicely in portal.c.

Move fetching the cursor mode to portal.c.
2022-04-09 16:45:02 -07:00
Georges Basile Stavracas Neto 2534e549f9 linux-pipewire: Remove ellipses from log messages
Ellipses in log messages bring a tone of vagueness and insecurity
that does not match the geist of the OBS Studio community. We're
a bold, industry-leading community producing software that is at
the heart of the biggest services of today's world. When it comes
to PipeWire and Wayland adoption, we're quite literally the app
that protocols and portals are designed for.

Therefore, it is unacceptable that the log messages in the PipeWire
capture don't communicate how strong of a community we are. Not
only that, these ellipses bring harm on the long run. After all,
who on their right mind would design protocols, portals, and user
interactions for an app that doesn't even log their messages in
accordance to its community values?

Our logs must shout strength. They must reflect that OBS Studio
is here to stay. Readers of such logs must fasten their seatbelts
before opening these files. Competition tremble with dread and
fear when presented with these logs. Only extreme metal singers
should be able to read these logs out loud.

No compromise.

Remove ellipses from PipeWire log messages.
2022-04-09 16:45:02 -07:00
Georges Basile Stavracas Neto 25fe22a489 linux-pipewire: Properly capitalize log messages
They are inconsistently capitalized, some with sentence capitalization,
some completely lower-cased.

Capitalize all log messages using sentence capitalization.
2022-04-09 16:45:02 -07:00
Georges Basile Stavracas Neto 6216f4555b linux-pipewire: Log more PipeWire-related info
The information that we currently log is not enough to give proper
support, and at best allows us to know that the first few steps of
negotiation worked.

Transform a few key debug messages into infos.
2022-04-09 16:45:02 -07:00
jpark37 76ddbe11d0 UI: Add high-precision sRGB support
Remove warnings about using 10-bit formats with SDR color spaces.
2022-04-08 17:19:23 -07:00
jpark37 007ed2c355 deps/media-playback: Add more accurate TRC hints
Allows us to tell the difference between HDR and high-precision SDR.
2022-04-08 17:19:23 -07:00
jpark37 06111d5b10 libobs: Add high-precision sRGB support 2022-04-08 17:19:23 -07:00
jpark37 848e128435 libobs,plugins: Replace video matrix function
video_format_get_parameters_for_format provides a more accurate matrix
than video_format_get_parameters.
2022-04-07 19:28:51 -07:00
jpark37 94fa6d064b libobs: Add video_format_get_parameters_for_format
Video matrix is slightly different based on the number of bits per
channel, so derive from video_format for convenience.
2022-04-07 19:28:51 -07:00
Joshua Ashton 9903d73f36 linux-capture: Don't initialize format info if init_obs_pipewire fails
The pointer has been freed by this point so it just segfaults.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2022-04-07 08:41:19 -03:00
jpark37 9409ce1ea7 UI: Add Rec. 2020 space and I010/P010 formats
Also localize color spaces with improved naming. Should be compatible
with existing user profiles.
2022-04-07 02:38:33 -07:00
wangshaohui db8145e8a2 obs-ffmpeg, win-dshow, deps/media-playback: Use recommended API for AVCodecContext 2022-04-07 01:59:30 -07:00
wangshaohui 1ec70ddf2b libobs: Fix image source not loading upper case file extensions 2022-04-07 01:58:13 -07:00
gxalpha 2d75167e4c UI: Truncate displayed file paths in the middle in Remux window 2022-04-07 01:52:02 -07:00
jpark37 d641ab12f7 win-capture: Use normal blend equation for cursor
Not sure what the previous setup was trying to do. I guess we'll find
out if users complain.
2022-04-07 01:51:15 -07:00
jpark37 d72d2552ee libobs: Clear image on color convert
Avoid redrawing potentially stale image from previous frame.
2022-04-07 01:50:27 -07:00
jpark37 433eef5910 obs-transitions: Smooth source transition fades
Add logic to avoid unexpected deviation.
2022-04-07 01:49:57 -07:00
jpark37 8194e9431e libobs: Allow transitions to give placeholder
The fade transition could benefit by providing NULL to differentiate a
real source texture from the transparent placeholder. This would give it
a chance to fade correctly for source transitions.
2022-04-07 01:49:57 -07:00
karenkim-AfreecaTV 42c7e29d25 rtmp-services: Update AfreecaTV
Add Brazil server
2022-04-07 01:48:22 -07:00
jpark37 6e4ed48188 obs-transitions: Add HDR support to cut/fade
Both transitions are capable of passing through HDR sources now.
2022-04-06 17:33:53 -07:00
jpark37 e2b0ccdd22 obs-transitions: Add effect files to VS solution 2022-04-06 17:33:53 -07:00
Patrick Heyer 2ac9f83cb6
Merge pull request #6278 from PatTheMav/macos-plugin-fix
cmake: Fixes plugins not being copied into application bundle on macOS
2022-04-05 12:57:28 +02:00
PatTheMav 9c6897324a
cmake: Fixes plugins not being copied into application bundle on macOS
Makes the check for the number of plugins in the global list an explicit
length check (not relying on CMake implicit functionality), also moves
it in line with how the same was solved in `ObsHelpers.cmake` globally.
2022-04-05 11:11:14 +02:00
Jim 7f990677c0
Merge pull request #6158 from jpark37/hdr-format-trc
Add I010/P010 support, video_trc enum
2022-04-04 18:28:14 -07:00
jpark37 737696950d libobs: Fix sign mismatch 2022-04-04 00:44:32 -07:00
jpark37 a00d53eccf win-dshow: Add HDR support 2022-04-03 00:03:34 -07:00
jpark37 4c2aa58dbe obs-ffmpeg: Support Rec. 2020, I010/P010 formats
Also remove unused function, ffmpeg_to_obs_video_format.
2022-04-03 00:03:34 -07:00
jpark37 4ae3956010 deps/media-playback: Add I010/P010 support 2022-04-03 00:03:34 -07:00
jpark37 0ed0f2cdb4 libobs: Add I010/P010 support, TRC enum 2022-04-03 00:01:25 -07:00
jpark37 c455aaedba libobs: Add color spaces to deinterlace shaders 2022-04-02 20:14:31 -07:00
jpark37 6fc5566f38 libobs: Add SWS_CS_BT2020 support 2022-04-02 20:14:31 -07:00
jpark37 c9e0d18ce1 libobs-winrt: Add null checks to capture
Try harder to avoid crashing when capture is in a dead state.
2022-04-02 16:28:54 -07:00
Paul Hindt 743f540fa1 aja: Use correct colorspace for SD or HD/UHD
Set video range to VIDEO_RANGE_PARTIAL
2022-04-02 16:23:21 -07:00
jpark37 083034bb0a obs-filters: Fix scale undistort, attempt two
Undistort checkbox should be ignored if bilinear lowres effect is used.
2022-04-02 16:22:59 -07:00
gxalpha e840966968 UI: Remove old ComboBoxIgnoreScroll 2022-04-02 16:04:51 -07:00
gxalpha e33b7d2dab UI: Disable wheel scrolling on QComboBoxes
Adds a new ProxyStyle, OBSIgnoreWheelProxyStyle, and applies it to the
entire program. This style sets a StyleHint to disable mouse wheel
scrolling on QComboBoxes.
The existing OBSProxyStyle, which is used only for the context bar, has
been renamed accordingly.
2022-04-02 16:04:51 -07:00
jpark37 f2b049c0e7 UI: Add support for nonlinear SRGB blending 2022-04-02 16:02:41 -07:00
jpark37 e638cc9f82 libobs: Add support for nonlinear SRGB blending 2022-04-02 16:02:41 -07:00
Kurt Kartaltepe bf660b1d8d linux-pipewire: Version check call to pw_deinit
Per upstream this function is not supposed to be called by users of
PipeWire, and will crash when called twice. Instead only call it on
recent versions of PipeWire where it is safe to call.

This also removes the nearly empty pipewire-common files.
2022-04-02 12:45:39 -03:00
Zhao Zhili 255c4096a8 cmake: check empty OBS_MODULE_LIST for macOS 2022-04-02 21:46:52 +11:00
Zhao Zhili df4315103f cmake: Fix configure error on macOS when -DENABLE_SCRIPTING=OFF 2022-04-02 21:46:52 +11:00
Vainock 6ec7ebcb89 CI: Update Crowdin Sync to 0.2.0 2022-04-02 12:47:27 +11:00
Richard Stanway a8ecf3c8f2
UI: Fix display affinity logic when re-applying
The old behavior toggled display affinity every time the window was
updated instead of applying it consistently.
2022-03-31 17:23:53 +02:00
Patrick Heyer 3c1d7aeb86
Merge pull request #6245 from PatTheMav/cmake-resource-fix
win-capture: Fix added resources not properly copied to rundir
2022-03-31 11:52:50 +02:00
Patrick Heyer dea8817f62
Merge pull request #6243 from PatTheMav/cef-finder-fix
cmake: Fix usage of relative paths for CEF finder
2022-03-31 11:52:11 +02:00