Commit Graph

12318 Commits

Author SHA1 Message Date
Georges Basile Stavracas Neto
f520b251fb linux-pipewire: Demote yet another error to debug
This was an oversight from commit be629b93c.
2023-03-01 20:47:49 -03:00
Albert
414937a963 rtmp-services: Update Streamvi (#7921)
Co-authored-by: Joel Bethke <joel.bethke@gmail.com>
2023-03-01 17:36:58 -06:00
Stripchat
8fd6949778 rtmp-services: Update Stripchat streaming service (#8269) 2023-03-01 16:16:01 -06:00
Tophicles
87b7f7785f rtmp-services: Add LiveStreamerCafe (#8203)
Incremented version number as requested.

Co-authored-by: Kristopher Marentette <tophicles@syslog.brucenet>
2023-03-01 16:15:45 -06:00
Regan Black
6e0f5dccb2 rtmp-services: Update Switchboard Live Servers (#8180)
Co-authored-by: Regan Baah <one0ten@outlook.com>
2023-03-01 16:15:25 -06:00
Kevin Deng
480a8700da rtmp-services: Update Mildom more_info_link (#8334)
Co-authored-by: kevin.dww <kevin.dww@nonolive.com>
2023-03-01 16:13:38 -06:00
derrod
d15dce99d0 updater: Multi-threaded delta patching 2023-03-01 16:20:43 -05:00
derrod
b7f6ae7d7b cmake: Enable stricter MSVC compiler options 2023-03-01 20:39:53 +01:00
derrod
166dc4909d enc-amf: Update submodule 2023-03-01 20:39:53 +01:00
derrod
3c92413674 win-dshow: Remove obsolete name in REGFILTERPINS 2023-03-01 20:39:53 +01:00
derrod
2ac8ce8f65 obs-ffmpeg: Fix __VA_ARGS__ for comma ellision 2023-03-01 20:39:53 +01:00
derrod
f9cce334d2 libobs: Add copy constructor for ComQIPtr 2023-03-01 20:39:53 +01:00
derrod
60844505d0 UI: Replace uses of token-pasting operator 2023-03-01 20:39:53 +01:00
derrod
19b6d79597 win-capture: Fix possible macro redefinition 2023-03-01 20:39:53 +01:00
pkv
2e79d4c902 obs-ffmpeg: Fix for FFmpeg 6 deprecating a flag
Also modifies libobs & deps/media-playback.
AV_CODEC_CAP_TRUNCATED was removed in avcodec 60 [1].
We ifdef the code depending on it to allow compilation.

[1] avcodec: remove FF_API_FLAG_TRUNCATED
3ceffe7839

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-01 13:23:51 -05:00
Ryan Foster
2b84155da4 cmake: Remove FindRSSDK
Follow-up to PR #7371 (commit a1a98f9cfd).

We forgot to remove the Finder that was only used for that plugin. Let's
remove it now.
2023-03-01 18:16:34 +01:00
PatTheMav
e23455dc74 libobs: Fix device functions not marked as EXPORT
As clang and gcc use "default" visibility (as in "not hidden") when
no visibility is specified, all functions are implicitly exported.

When changing default visibility to "hidden", the corresponding symbols
are not exposed anymore and linking fails. This PR updates all
functions signatures that were added in recent commits but not set to
be EXPORTed.

Also makes required OpenGL imports for texture sharing on macOS
mandatory.
2023-03-01 12:02:33 -05:00
derrod
a9d3b9cbd1 libobs: Clarify memalign ToDo item 2023-03-01 11:18:47 -05:00
Norihiro Kamae
22a98c279e UI: Fix tabstops on settings dialog 2023-03-01 10:50:10 -05:00
CodeYan01
b4fdf2a329 docs: Clarify enum_scenes order 2023-03-01 09:44:35 -05:00
CodeYan01
8ac894a62b docs: Link to obs_scene_from_source in enum_scenes
Enumerating scenes but receiving an obs_source_t is confusing.
2023-03-01 09:44:35 -05:00
CodeYan01
7605883303 docs: Clarify weak source releasing 2023-03-01 09:44:35 -05:00
derrod
a5468cfee0 libobs: Make wcs<->utf8 conversion consistent
On Windows NULL characters would be included in the output if insize is
non-zero, but on *nix it would abort on the first NULL.
2023-02-28 18:36:18 -08:00
derrod
77e4c1c305 cmake: Check if Sparkle options are non-empty 2023-02-27 13:06:26 -05:00
PatTheMav
953e0eda53 UI: Remove unused variable 2023-02-27 18:40:52 +01:00
gxalpha
fea4a19c8b obs-ffmpeg: Add full_decode to media source log
This is an option that while very powerful also provides a footgun for
users if they don't have enough memory. It will be helpful for support
volunteers to be able to see if the option has been enabled.
2023-02-25 19:26:51 -08:00
Frank
20a3ec4a2f libobs: Fix scene_audio_render() incorrectly mixing audio
When the `pos` variable is non-zero, audio does not get mixed correctly.
This is due to the fact that the `pos` variable was erroneously being
applied to the input rather than the output.
2023-02-25 19:25:15 -08:00
Jim
4bf14d09b4 obs-transitions: Add option to preload stinger video to RAM
Stingers -- and especially track matte stingers -- are currently subject
to real time decoding, which can be detrimental in a production
environment where a stinger video may not be able to decode in a timely
fashion.

To remedy this, this change adds an option to fully decode stingers
immediately and cache the decoded video/audio in RAM for playback to
greatly improve stinger performance.
2023-02-25 18:13:11 -08:00
gxalpha
b0ebcff4e8 CI: Stop pinning Xcode to 14.1
This was needed to get the macOS 13 SDK when Xcode 14.0 was the default.
It no longer is (at the time of writing the default is 14.2), so we can
(and probably should) stop pinning to the older 14.1
2023-02-26 03:09:25 +01:00
tytan652
6734c9cbc8 UI: Stop virtual camera if active while exiting
Avoid potential memory leaks and crashes.
2023-02-25 16:06:59 -08:00
tytan652
0f560a9136 UI: Fix scene/source in virtual camera config if renamed 2023-02-25 16:06:59 -08:00
tytan652
501a3e926d UI: Refactor Virtual Camera source selector dialog 2023-02-25 16:06:59 -08:00
Ryan Foster
dc5813c947 libobs-d3d11: Log D3D11 adapter memory correctly
DXGI_ADAPTER_DESC's DedicatedVideoMemory and SharedSystemMemory are
unsigned long long int, but we were logging them as unsigned int. For
GPUs with memory values higher than 4294967295, the logged value would
roll over. Use %PRIu64 (%llu on VS2022) instead of %u in the log call.
2023-02-25 15:42:01 -08:00
CodeYan01
d2dd917721 docs: Fix layout and typos 2023-02-26 10:31:02 +11:00
derrod
e5690a1f65 UI: Use unordered_map for hotkey duplicate detection 2023-02-25 15:28:35 -08:00
derrod
af4012e1b1 UI: Set QT_NO_SUBTRACTOPAQUESIBLINGS env var
This speeds up drawing the hotkey list *significantly* and doesn't seem
to break anything else. But it is kind of a hack.
2023-02-25 15:25:31 -08:00
derrod
c3543273e4 UI: Defer creation of hotkey dupe icon until needed 2023-02-25 15:21:29 -08:00
Kurt Kartaltepe
bc9eee922e libobs: Fix pulseaudio monitoring, once and for all
This makes multiple changes to resolve issues with monitoring. We have
added a number of things over time to resolve various issues due to our
misunderstanding of the pulse api and the explicitly wrong pulse api
documentation.

First is removing the prior stream write tracking. Write tracking
was incorrect as pulse sends you the total number of bytes it wants
written at that time and not a incremental, but also this write tracking
is unhelpful since we can just let begin_write signal when we should
stop writing.

Second removing underflow tracking, this sort of worked to detect high
latency sources like vlc which buffer ~1s of data before writing audio
data. It worked because it would grow the buffer in PA until we could
write enough data into it, but it didn't allow us to leverage that
larger buffer because we never paused the PA stream.

To solve the buffering/high latency issue instead start the PA stream
corked and only uncork it once we have enough data to reach the targeted
latency. We also check how much data we recieve from the source and if
it appears to be high latency providing us with much more data than our
target latency we increase the latency to match the source. Fixing the
VLC source issue and resulting in a smooth start to audio instead of
underruns while we play and increase latency.

Finally add some handling for pulses incorrectly documented API. Notably
that begin_write may request more or less data from you so handle both
cases. And stop attempting to use attr.maxlength which is not updated
after set_buffer_attr calls and was always -1, and tlength is just more
appropriate.

old mantis resulting in some changes, still fixed. https://obsproject.com/mantis/view.php?id=1076
fixes #7574
2023-02-25 15:13:08 -08:00
derrod
11e5afa2b2 UI: Support platform-specific WhatsNew entries 2023-02-25 15:08:27 -08:00
columbarius
8abc3528cf linux-pipewire: Read buffer transformation from PipeWire
PipeWire allows since 0.3.62 [1] to attach metadata to a buffer
describing a transformation of the buffercontent. Clients should then
undo that transformation to import it correctly.

We can enable this feature using macro guards and runtime server version
checks on supported systems.

[1] https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1423
2023-02-25 11:49:51 -03:00
tytan652
2a2d8fc1bb UI: Remove mf_aac references 2023-02-24 14:34:34 +01:00
gxalpha
5d0a1c0010 UI: Don't load global plugins in portable mode
Portable mode is meant to be separated from the rest of the system, and
as such it doesn't make sense to load globally installed plugins there.

On Windows, there currently are only two major plugins that install
themselves there. Plugins installing themselves there is good, but it
currently also means that even portable instances load them which can
make testing and debugging in a clean environment annoying.
2023-02-24 14:11:21 +01:00
gxalpha
d405193aeb UI: Only set portable mode variable if supported
Previously, all the functions of portable mode wouldn't work if compiled
without it, but the log still show it as enabled if the argument was
set. This could lead to confusion.
Additionally, we don't even show the option in the help string (--help),
so it should just be a no-op.
2023-02-24 14:11:21 +01:00
Georges Basile Stavracas Neto
a1a98f9cfd plugins: Drop win-ivcam
Apparently this was a prototype from Intel that never really
properly launched. Remove the plugin.
2023-02-24 14:04:29 +01:00
Georges Basile Stavracas Neto
4ab9cd1005 plugins: Drop win-mf
The win-mf plugin is deprecated, and disabled by default. Let's drop
it entirely.
2023-02-24 13:22:52 +01:00
PatTheMav
76732846d7 libobs: Fix non-exhaustive switch statements
New video formats introduced for ProRes 4444 encoding have not been
implemented in function calls used for video decoding, which makes the
switch statements non-exhaustive.

This does not functionally change the status quo (decoding ProRes 4444
files could still be broken because libobs does not explicitly handle
the colour format).
2023-02-23 20:32:52 +01:00
PatTheMav
112ca44158 CI: Remove deprecated dependency installations via Homebrew
Swig and Freetype are provided via obs-deps instead.
2023-02-22 23:06:52 +01:00
PatTheMav
63e0e49798 CI: Remove unit tests from macOS build scripts 2023-02-22 23:06:52 +01:00
PatTheMav
8061652051 mac-videotoolbox: Refactor implementation
Existing code made use of macros which broke parsing in Xcode and
complicated debugging as crucial code was executed within macros and
not actual source code.

Use of mutable CoreFramework data structures (which were never mutated)
is replaced by use of faster non-mutable variants.

When an allocator needs to be used, `kCFAllocatorDefault` is specified
explicitly.

VideoToolbox session properties are also set in bulk instead of
multiple consecutive calls.

Also simplifies detection of Apple Silicon hosts to make code more
readable.
2023-02-21 21:29:12 +01:00
jpark37
09c2a321ce mac-videotoolbox: Add ProRes 4444 (XQ) support
Also leverage P216/P416 pixel formats to retain precision.
2023-02-21 18:48:44 +01:00