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

10985 Commits

Author SHA1 Message Date
Norihiro Kamae
fcf6b24e44 UI: Fix crash if missing module in context bar
If a module is not found in context bar, it crashed when resolving
source type name. This is same change as 41367bb2b but fixes
window-capture and display-capture.
Also removes an unnecessary pair of braces.
2022-06-25 16:09:30 -07:00
Richard Stanway
17c39ccb07 obs-ffmpeg, obs-outputs: Check return of obs_encoder_get_extra_data
A race condition can occur in obs-outputs where the send_thread is in
the process of (re)connecting but the encoder was shut down in the
meantime. This causes the expected header data to be garbage, resulting
in a crash.
2022-06-25 16:03:12 -07:00
tytan652
066f0defcf UI: Fix cut transition not being initialised
78bdd4cb01 removed it accidentally
2022-06-25 12:12:39 +02:00
Matt Gajownik
2bb780468c UI: Fix formatting 2022-06-25 14:46:05 +10:00
Matt Gajownik
76cc739c7f UI: Support pressing space to open MenuButton 2022-06-25 14:39:30 +10:00
Matt Gajownik
0135af9c34 UI: Use existing IsThemeDark() in more places 2022-06-25 14:33:52 +10:00
gxalpha
889ca0fc04 UI: Regroup and Reorder source right-click menus
Visually, the Scale Filtering, Blending Mode & Method, and Deinterlacing
menus are now grouped together, with "Hide in Mixer" being its own group
until a better place for it has been found.
Projector and Screenshot menus have been moved down.

As a related code cleanup, the creation of sourceProjector and
sourceWindow has been moved down and partially inlined.
2022-06-20 19:31:31 -03:00
gxalpha
bb69883bd0 UI: Only show "Interact" menu for interactable sources
Most sources can't be interacted with, so always showing this menu only
takes up space and makes the menu stack bigger.
2022-06-20 19:31:31 -03:00
gxalpha
829e906ac2 UI: Remove "Resize output (source size)" menu 2022-06-20 19:31:31 -03:00
gxalpha
1c7062c3a4 UI: Move transition duration above Add/Remove buttons 2022-06-20 18:29:22 -03:00
gxalpha
78bdd4cb01 Revert "UI: Redesign transitions dock"
This reverts commit d5905039c9.
2022-06-20 18:29:22 -03:00
gxalpha
6b287dbcc1 Revert "UI: Fix "Add [transition]" not being translated"
This reverts commit 1a14304784.
2022-06-20 18:29:22 -03:00
gxalpha
4feabf227f Revert "UI: Move "Add [transition]" to bottom of combo"
This reverts commit 6460579fb6.
2022-06-20 18:29:22 -03:00
gxalpha
609acca161 Revert "UI: Fix non-default transitions going below add vals"
This reverts commit da8547c112.
2022-06-20 18:29:22 -03:00
gxalpha
5fad651b2d Revert "UI: Fix selecting correct transition when deleting"
This reverts commit 3486c0b363.
2022-06-20 18:29:22 -03:00
gxalpha
6188144cab Partly revert "UI: Fix Qt signal connection warnings"
This partly reverts commit 40f99da8a2 so
that conflicts are gone.
2022-06-20 18:29:22 -03:00
Richard Stanway
dada82fec1
obs-outputs: Don't shutdown RTMP session when silently reconnecting
The silent reconnect (GOAWAY) is supposed to be used for switching the
connection to a different server. As such, cleanly shutting down the
RTMP connection can destroy state that needs to be preserved in order
for the GOAWAY-enabled server to properly resume the same stream on
reconnect.

This commit closes the TLS/TCP connection before calling RTMP_Close,
causing librtmp to skip the FCUnpublish and deleteStream messages.
2022-06-20 22:10:06 +02:00
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
a147315f33 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