Commit Graph

11394 Commits (a46cc43e6f11f51593601d004db78db77ac2f8d8)

Author SHA1 Message Date
mvji f0b3593349 deps/media-playback: Fix invalid seek at reset
When AVFormatContext->startime is set to AV_NO_PTS
mp_media_reset try to seek to INT64_MIN
use 0 instead.
Fix loop with aac file
2022-07-16 16:29:02 -07:00
bin c19946d7e8 libobs: Fix pulseaudio crash. 2022-07-16 16:25:47 -07:00
Richard Stanway c5965c8605 libobs: Log errors for bmalloc(0)
malloc(0) is implementation defined and almost always a mistake. I
believe we should be more like malloc and treat bmalloc(0) as an error
instead of tying to handle it. For now we can log an error in case 3rd
party plugins are broken, in the future I would suggest this becomes a
crash-worthy error.
2022-07-16 15:20:55 -07:00
Richard Stanway dbdbfe79d2 libobs: Deprecate base_set_allocator and make it no-op
Hopefully nothing is actually using this in the first place. As a
library libobs has alignment requirements so we should probably not
allow an application to replace our aligned mallocs with something else.
This also allows more aggressive optimizations inside libobs as the call
can be completely inlined into a libc malloc.
2022-07-16 15:20:55 -07:00
gxalpha 05c245532f UI: Correctly spell "ChromeOS" again
Google made up their minds after we merged ccc5767
2022-07-16 16:12:24 -04:00
Clayton Groeneveld 9b09ad9a7a UI: Fix menu icons not showing up
The menu icon was set only in the Yami theme.
2022-07-14 19:48:53 -04:00
Norihiro Kamae 56c502b254 obs-qsv11: Fix timestamp for fractional frame rate
This commit rounds the timestamp to the integer multiple of fps_den.
Prior to this change, since the timestamp in MFX is defined in units of
90 kHz, timestamps for 60000/1001 fps is not accurately expressed. Also
the encoder sometimes returns the decode time stamp slightly off.
Hence, the timestamp in OBS becomes not a multiple of fps_den after
converting back from the timestamp in MFX.
2022-07-14 19:20:40 -04:00
tytan652 b65411c343 UI: Fix color format warning
bbeafeabdd change how the combobox is filled.

`UpdateColorFormatSpaceWarning` did not get the required change to use
the combobox data rather than the text.
2022-07-14 11:47:56 -04:00
Ryan Foster beaae2b9ce CI: Update deps to obs-deps 2022-07-08 release
Notable changes:
 * Windows: Add Qt 5 and 6 builds
 * Windows: Remove nasm native build
 * Windows: Update srt from 1.4.2 to 1.4.4
 * Windows: Update SWIG from 3.0.12 to 4.1.0-git
 * macOS: Update libvpx from 1.10.0 to 1.11.0
 * macOS: Update srt from 1.4.1 to 1.4.4
 * macOS: Update SWIG from 3.0.12 to 4.1.0-git
 * macOS: Update x264 from r3059 to r3060
2022-07-14 11:22:36 -04:00
PatTheMav e27f90fa5a obs-scripting: Fix crashes introduced by Swig update to 4.1.0
Fixes issues introduced by https://github.com/swig/swig/pull/2238. As
obs-scripting is not compatible with the SWIGPYTHON_BUILTIN, obspython
needs to disable this feature.
2022-07-13 16:50:09 -04:00
PatTheMav 9145e3063d win-capture: Fix subprojects not installing on incremental builds
When changing a subproject (e.g. graphics-hook), the generated binaries
are not installed without also building win-capture. This commit enables
the subprojects to be treated as "plugins" which are installed to rundir
and also the installation directory without any additional workarounds.
2022-07-13 15:52:13 -04:00
PatTheMav 48c52c9d74 cmake: Fix libraries and header files being installed for packages
The `EXCLUDE_FROM_ALL` token, which is responsible for excluding
components from a "unspecified" installation (which we use to create
the distributed package) needs to be specified for _every_ destination
specified in an `install` call.

This commit remedies the issue of missing tokens in these calls.
2022-07-13 15:52:13 -04:00
Warchamp7 9febf96a61 UI: Fix text shifting on lineEdits 2022-07-13 19:14:03 +10:00
Ryan Foster 231c91846d CI: Update Ubuntu versions
Ubuntu 22.04 images are now available on GitHub Actions. Add 22.04 and
drop 18.04, as we are dropping 18.04 for an upcoming release.
2022-07-13 19:05:05 +10:00
tytan652 49c20c6cc1 CI: Fix Flatpak releases
Add a job where the tag is checked if it is valid, it also checks if the
release should be published to Flathub beta and/or Flathub by
dynamically setting the matrix.
2022-07-12 14:13:16 -04:00
mvji bbeafeabdd UI: Add more information to describe output format
In advanced settings
Also enable translation for color format
2022-07-12 23:37:01 +10:00
PatTheMav e2e06f6f08 mac-syphon: Fix usage of methods deprecated since macOS 11.0
`absolutePathForAppBundleWithIdentifier` and `openFile` have both been
deprecated since macOS 11.0. This pr uses the correct modern APIs when
OBS is compiled for macOS 11.0 or more recent and falls back to the
legacy APIs when either compiled against or run on older macOS versions.
2022-07-11 23:19:21 -07:00
jpark37 df96e68ca6 cmake: Disable LNK4099 warning
We are very unlikely to ship PDBs for deps.
2022-07-11 22:07:10 -07:00
jpark37 8bb03a1136 obs-ffmpeg: Fix warning about useless llabs call 2022-07-11 22:07:10 -07:00
jpark37 1c58d4402d aja: Fix warnings about type usage 2022-07-11 22:07:10 -07:00
jpark37 92d1ca41cc libobs: Fix warnings about type usage 2022-07-11 22:07:10 -07:00
jpark37 5e3c824801 obs-scripting: Suppress long volatile warning 2022-07-11 22:07:10 -07:00
cg2121 a32793dd04 UI: Use more descriptive tooltips
This makes the scene/source tooltips easier to
understand.

Add -> Add Scene, Add Source
Remove -> Remove Selected Scene, Remove Selected Source(s)
MoveUp -> Move Scene Up, Move Source(s) Up
MoveDown -> Move Scene Down, Move Sources(s) Down
Properties -> Open Source Properties
Filters -> Open Source Filters
2022-07-11 18:17:04 -04:00
gxalpha 29ae00e4af UI: Add Apple H.264 hardware encoder to simple mode
Adds the Apple Silicon hardware encoder as a simple mode option. For
recordings this only requires being on Apple Silicon (since we use the
Constant Quality setting), while for streaming it requires the user to
be on macOS 13 or newer (since we're using CBR).
2022-07-11 23:45:43 +02:00
PatTheMav 566ce79b0f mac-videotoolbox: Enable CBR and CRF on hardware encoders only
Both rate control methods only work on hardware encoders and will error
out when selected for software encoders, so we shouldn't show them there

Co-Authored-By: Sebastian Beckmann <beckmann.sebastian@outlook.de>
2022-07-11 23:45:43 +02:00
AuroraWright 84c7d87a7f mac-videotoolbox: Add CRF support on Apple silicon
Co-Authored-By: Sebastian Beckmann <beckmann.sebastian@outlook.de>
2022-07-11 23:45:43 +02:00
Developer-Ecosystem-Engineering 9e0d7b3123 mac-videotoolbox: Add CBR support on Apple silicon / macOS 13
Implementation adjusted by the OBS Project.

Co-Authored-By: Sebastian Beckmann <beckmann.sebastian@outlook.de>
2022-07-11 23:45:43 +02:00
gxalpha 8c987a86ac mac-videotoolbox: Use type_data as it was intended 2022-07-11 23:45:43 +02:00
gxalpha fffb320225 mac-videotoolbox: Remove redundant bitrate check
The session_set_bitrate method already returns an OSStatus to confirm
that everything has been successful. As such, a second check to make
sure that the bitrate has indeed changed is redundant and only adds
unnecessary code.
2022-07-11 23:45:43 +02:00
gxalpha 182906d412 mac-videotoolbox: Rename functions to remove "h264" 2022-07-11 23:45:43 +02:00
gxalpha a129c953e8 cmake: Rename mac-vth264 plugin to mac-videotoolbox 2022-07-11 23:45:43 +02:00
gxalpha 737f0ab08a mac-videotoolbox: Rename mac-vth264 plugin to mac-videotoolbox 2022-07-11 23:45:43 +02:00
Tommy Vercetti cabc3c8aec UI: Implement Taskbar Overlay for Qt6 2022-07-10 14:06:15 +10:00
Clayton Groeneveld b307d38ef6 UI: Fix typo with SetSourceName function
The SetSoureName in the adv-audio-control.hpp had newName
misspelled as newNamw.
2022-07-10 14:00:35 +10:00
Clayton Groeneveld 1cf93a4b29 UI: Fix compiling error on nix platforms
On nix platforms, the compile would complain about
using non-const values for the function parameters.
2022-07-10 14:00:35 +10:00
Clayton Groeneveld 22dbf316df UI: Truncate push-to-* labels
The labels for the push-to-mute / push-to-talk hotkeys
were never truncated.
2022-07-10 14:00:35 +10:00
Clayton Groeneveld e40a6be031 UI: Use new truncate function with hotkeys
This updates the hotkeys to use the new truncate label
function in qt-wrappers.cpp
2022-07-10 14:00:35 +10:00
Colin Edwards 50372164d0 UI: Move multiview render into a new class
Co-authored-by: tt2468 <tt2468@irltoolkit.com>
2022-07-10 13:45:43 +10:00
Clayton Groeneveld 873ee8e7ba UI: Fix reset ui warning showing on first start
If a plugin adds a dock and the program is run for the
first time, the reset ui warning would show up.
2022-07-10 12:26:42 +10:00
Kurt Kartaltepe 4163940137 libobs-opengl: Change log level for texture_from_pixmap
This function is expected to fail fairly often as it is the tool for
checking if windows are mapped and have a valid pixmap in the linux
capture plugin. So reduce this error to a debug message to avoid
spamming release builds.
2022-07-10 11:24:40 +10:00
Kurt Kartaltepe c6cb0838fd linux-capture: Silence log spam on xcomposite capture
It is expected that capture might fail, like when a window is minimized.
In these cases we dont want the log to be spammed by X11 errors so
install a noop error handler while we try to import.
2022-07-10 11:24:40 +10:00
Kurt Kartaltepe e9076da901 linux-capture: Retry capture if texture not created
This prevented OBS from re-aquiring capture when windows were minimized
or fullscreened.
2022-07-10 11:24:40 +10:00
PatTheMav c61d523d58 mac-avcapture: Fix deprecation warning for AVCaptureDevice list
Direct access to `[AVCaptureDevice devices]` is deprecated since macOS
10.15. An `AVCaptureDeviceDiscoverySession` is to be used instead, which
this PR implements.

When running on older macOS versions or compiling against older platform
SDKs, the deprecated method is used.

PS: The formatting is not proper ObjC style, but that's clang-format's
doing with our current settings.
2022-07-10 10:09:58 +10:00
tt2468 97756861b4 obs-outputs: Rework RTMP context init/deinit
This commit fixes what is arguably a long-winded series of previous
commits that have possibly caused just as many problems as they have
fixed. I'll spare the details, but basically, there's no reason that
any of the RTMP object should ever be used across socket sessions.

This provides a slight enhancement by removing the `RTMP_Init` call
in `rtmp_stream_create()`, since it effectively just initializes TLS
just for `try_connect` to deinitialize it before it is even used.

This also fixes the current `SO_RCVTIMEO` timeout functionality by
making sure that `RTMP_Reset` is called last.
2022-07-09 17:04:37 -07:00
Norihiro Kamae c1d1526b24 aja: Split audio part in CaptureThread to function
To improve readability of the capture thread function
`AJASource::CaptureThread`, audio part is split into two functions.
Behavior is not changed.
Also fixed one of warnings.
2022-07-10 10:01:58 +10:00
Norihiro Kamae 08a071d7a5 aja: Fix memory overrun on aja-source
When too many audio frames are captured and at the same time the ring
buffer on the card is wrapped, memory overrun was not captured before
DMA transfer, which resulted in corruption of memory contents. This
commit moves the overrun check before the DMA transfer.
2022-07-10 10:01:58 +10:00
PatTheMav 62c6a6d223 obs_ffmpeg: Explicitly mark variables as unused 2022-07-10 09:59:55 +10:00
PatTheMav fa7047c418 images-source: Explicitly mark variables as unused 2022-07-10 09:59:55 +10:00
PatTheMav ed9cc5c0dd aja: Explicitly mark variables as unused 2022-07-10 09:59:55 +10:00
PatTheMav ff7f756886 libobs: Explicitly mark variables as unused 2022-07-10 09:59:55 +10:00