Commit Graph
10968 Commits
Author SHA1 Message Date
PatTheMav aec31a9e6d cmake: Fix handling of optional debug wrapper libraries for obs-browser 2022-06-20 14:24:52 -04:00
Matt Gajownik 0744e260e3 obs-browser: Don't auto-focus, remove init hack
a4e163e - Remove CefInitialize hack argument on Windows
a6df681 - cmake: Fix handling of debug wrapper libraries
a707cb7 - Don't allow browser panels to steal focus on navigate
2022-06-20 18:30:53 +10:00
Patrick Heyer 3ea8dbb392 Merge pull request #6622 from tommyvct/new-rosetta-detection
libobs/util: Add function to get Rosetta translation status
2022-06-19 16:04:50 +02:00
gxalpha 0fa7834bfc UI: Use libobs rosetta detection 2022-06-19 01:37:15 +02:00
Tommy Vercetti 3b64e74660 libobs/util: Add function to get Rosetta translation status 2022-06-19 01:37:15 +02:00
Norihiro Kamae a255b0f742 aja: Implement buffering property
Buffering inside libobs is enabled by default and it causes latency of
video. This commit provides a property to switch the buffering.
Since the latency of the buffering changes every startup, set the
default to unbuffered mode, though the previous implementation was
enabled buffering.
2022-06-18 16:12:20 -07:00
jpark37 22fde5cdcd deps/media-playback: Fix metadata for hw_accel
av_hwframe_transfer_data doesn't seem to transfer metadata, so do it
manually.
2022-06-18 16:03:34 -07:00
Clayton Groeneveld 295386781f UI: Cleanup advanced audio window
This converts the advanced audio window to use
a ui form, so it is easier to modify in the future.

This also fixes sizing issues with the control widgets,
as before the audio tracks would be clipped, because the
widgets in the window were too wide.
2022-06-18 23:13:13 +10:00
Vainock 7d2fae69de CI: Update obs-crowdin-sync to 0.2.1 2022-06-18 11:16:22 +10:00
Grzegorz Godlewski c5015d0e6c linux-v4l2: Add support for H.264 2022-06-17 18:49:12 +10:00
gxalpha a1f9170180 mac-virtualcam: Free virtualcam data when destroying
Fixes a memory leak introduced in db733032e
2022-06-16 18:45:24 +02:00
Exeldro e52018f210 win-dshow: Save and restore video device config props 2022-06-15 12:30:09 -07:00
tytan652 a9cb952628 linux-pipewire: Restore PipeWire minimim version requirement
https://github.com/obsproject/obs-studio/commit/a147315f33edc59c165f8cda1120d6d4219cf6ee removed it without adding it to linux-pipewire.
2022-06-15 13:50:33 -03:00
jp9000 a31d7acb14 obs-outputs: Fix missing function declaration 2022-06-15 00:52:43 -07:00
jp9000 7ba9db3744 obs-outputs: Reset TLS on reconnect
Reverts e8b2b2092b and properly fixes an issue where bad TLS data
would persist through reconnections when the connection is encrypted.
2022-06-15 00:31:08 -07:00
Patrick Heyer 1f72dad245 Merge pull request #6573 from fabianishere/feat/mac-virtualcam
mac-virtualcam: Avoid transcoding where possible
2022-06-12 15:52:05 +02:00
Clayton Groeneveld fca727c191 UI: Add eventFilter to media slider
When pressing the up and down arrows or moving the mouse wheel
for the media slider, the slider would move.
2022-06-11 16:28:57 -07:00
Norihiro Kamae 8a41c7298f decklink: Avoid sending 0x0 frame to libobs
When the mode is set to auto, the API sometimes send frames with 0x0
size. Without filtering such frames, which causes libobs to output error
messages.
2022-06-11 16:22:22 -07:00
Clayton Groeneveld 76660517d2 UI: Make transform dialog spinboxes consistant
The spinboxes in the transform dialog were different sizes.
2022-06-11 16:19:23 -07:00
Clayton Groeneveld 5c5861098b UI: Fix position of reset filters button
This removes the horizontal spacer that pushed the filters
reset button to the right.
2022-06-11 16:16:00 -07:00
OldBaldGeek 1f34b4e2ed UI: handle theme file names with "." characters
Use QFileInfo::completeBaseName() to get name up to .qss for use
as Theme name.
2022-06-11 16:15:11 -07:00
tytan652 6cc7cf3d55 obs-ffmpeg: Remove codec property from VAAPI encoder
Encoders have only one codec so this property is not needed.

Also rename the encoder to "FFMPEG VAAPI H.264".
2022-06-11 16:09:11 -07:00
Fabian Mastenbroek 37c76abf0d mac-virtualcam: Fix CMIO errors due to unsettable properties
This change fixes an issue with the CMIO DAL plugin where the CMIO
subsystem would log multiple errors when starting the virtual camera,
due to certain properties that could not be set (frame rate and format).

For now, we just ignore the assignment, but mark the property as
settable to suppress the error messages that are reported by the CMIO
subsystem.
2022-06-10 14:29:55 +02:00
Fabian Mastenbroek 40cb92a7a5 mac-virtualcam: Fix port leakage in Mach server
This change fixes an issue in the Mach server exposed by the macOS
virtual camera for OBS, where it would not invalidate ports that were
disconnected by the remote application, causing sporadic crashes.

These crashes can be reproduced in the previous builds by opening the
virtual camera in a remote application and closing the application
(without stopping the virtual camera).
2022-06-10 13:37:03 +02:00
Fabian Mastenbroek db733032e0 mac-virtualcam: Do not rely on global state
This change updates the implementation of the mac-virtualcam plugin to
not use any global state and instead rely on the state object that is
passed by the OBS module system.

This approach is similar to the virtual camera implementations for Linux
and Windows.
2022-06-10 13:37:03 +02:00
Fabian Mastenbroek 5edabfe7c1 mac-virtualcam: Remove unused CMSampleBuffer utility functions
This change removes the unused CMSampleBuffer utility functions that
were still left from the previous implementation. Since we construct the
CMSampleBuffer directly from an IOSurface, we do not need any custom
construction logic anymore, since that is now performed by the OBS
plugin.
2022-06-10 13:37:03 +02:00
Fabian Mastenbroek 202eb8f513 mac-virtualcam: Prevent output conversion if possible
This change updates the mac-virtualcam implementation to conditionally
enable conversion of the output video format. Previously, the output
video was always converted into UYVY. However, this conversion exhibits
high CPU usage, as reported in:
https://github.com/johnboiles/obs-mac-virtualcam/issues/102

Therefore, we disable conversion when the selected output format (e.g.,
NV12) is natively supported by CoreVideo's pixel buffers.
2022-06-10 13:37:03 +02:00
Fabian Mastenbroek 8683eb10e1 mac-virtualcam: Support multiple AV planes
This change updates the plugin to support video formats that contain
multiple planes (such as NV12). Such functionality is necessary to
prevent transcoding the raw video data, which is often delivered in a
planar format.
2022-06-10 13:37:03 +02:00
Fabian Mastenbroek 29ca91852b mac-virtualcam: Pool pixel buffers
This change updates the mac-virtualcam implementation to pool the
CVPixelBuffers used to share the output frames. This allows the plugin
to recycle the pixel buffers used by the plugin.
2022-06-10 13:37:03 +02:00
Fabian Mastenbroek aa3781fde9 mac-virtualcam: Use IOSurface to share output with virtual cameras
This change updates the virtual camera implementation on macOS to
utilize IOSurface to share the output feed with the virtual cameras.

By using IOSurface, we remove the need for copying the frames across
multiple buffers, since they can be shared across Mach connections using
zero-copy.
2022-06-10 13:36:54 +02:00
Fabian Mastenbroek 9e29be5c79 mac-virtualcam: Build DAL plugin for ARM64e target as well
This change fixes an issue where the DAL plugin would not load due to
not supporting the architecture arm64e. We update the build
configuration to build a universal binary that includes arm64e as well.

See https://github.com/obsproject/obs-studio/issues/6285 for more
information regarding this issue.
2022-06-10 13:34:17 +02:00
Norihiro Kamae f4854dccb4 libobs-opengl: Remove unnecessary call to retrieve screen number
The code to retrieve the screen number was originally implemented for
GLX but not necessary for EGL.
2022-06-08 08:55:03 -03:00
Norihiro Kamae 6c39b023ad libobs-opengl: Remove unused code 2022-06-08 08:55:03 -03:00
Norihiro Kamae 1c4bc6e735 UI: Fix multithread-unsafe GetCurrentScene
The function `OBSBasic::GetCurrentScene()` is also called from the
graphics thread and access to a QListWidget object, which is not
multithread-safe.
2022-06-06 10:20:00 -07:00
jp9000 e8b2b2092b obs-outputs: Clear RTMP data before initiating connect
Sometimes when reconnecting the internal RTMP data is not cleared
(particularly the TLS data). This can cause TLS data to carry over from
one connection to another, causing issues with the secondary connection.
2022-06-06 10:12:50 -07:00
Shaolin 5e696cdaa8 CI: Fix FreeBSD definition of streaming service
This will bring build script on par with linux and macs
2022-06-06 03:12:46 -04:00
Yuriy Chumak 84e7db5059 UI: Simple Output Mode for NVENC HEVC 2022-06-05 16:02:58 -07:00
Jim 29782cd594 libobs: And fix area scaling effect with RGBA 2022-06-04 19:54:52 -07:00
Matt Gajownik 736c14f0f5 docs/sphinx: Minor formatting corrections 2022-06-05 12:14:05 +10:00
Matt Gajownik f4b8a3c0e0 docs/sphinx: Update configuration and version 2022-06-05 12:14:03 +10:00
Matt Gajownik c0fcff074c docs/sphinx: Update GitHub links to OBSProject org 2022-06-05 12:13:58 +10:00
Jim a33a5d2151 libobs: Fix bilinear lowres RGBA as well 2022-06-04 19:03:20 -07:00
Jim 4a2a06b22f libobs: Fix RGBA format output not working
Due to a bug in shader parsing, it thinks that because the token
"multiplier" is used here, that the "multiplier" uniform is being used.

This is a workaround for the issue because fixing the parser is probably
going to be much more annoying than just working around the issue for
now.
2022-06-04 17:47:47 -07:00
Service Checker d30484cef6 rtmp-services: Remove defunct servers/services 2022-06-05 01:40:20 +02:00
gxalpha d093128935 libobs: Deprecate obs_hotkey_enable_strict_modifiers
In bb6787968, we changed the default behaviour to be strict modifiers
and we consider this to be the correct way. There is no need to change
this from code either, since if someone really needs non-strict
modifiers, they can work around it by setting multiple hotkeys.
Having this option in code just means a bigger maintenance cost, so
we'll deprecate the function and remove it in the future.
2022-06-04 16:03:23 -07:00
jpark37 bacd4713da libobs: Clear low bits when writing P010
Don't want to rely on consumer to ignore those bits.
2022-06-04 01:00:21 -07:00
jpark37 1ac758a2ef libobs: Ensure active copy surfaces are active
Stale surfaces can cause improper downloads from GPU, and lead to video
corruption in certain cases.
2022-06-03 01:17:07 -07:00
tytan652 3c390d8b5b flatpak: Update deps based on obs-deps 2022-05-23
* nv-codec-headers: Update to n11.1.5.1
* NTV2: Update to v16.2-bugfix5
* LuaJIT: Use same commit as obs-deps
2022-06-02 09:36:54 -03:00
gxalpha efd26b25ea UI: Mark YouTube window showEvent as override 2022-06-01 19:43:03 -04:00
gxalpha e0472f5b9e UI: Fix unused parameter warnings 2022-06-01 19:43:03 -04:00