Ruwen Hahn
8fb32c37ee
obs-ffmpeg: Add disable_scenecut
option for NVENC
...
This is functionally the same as x264's `scenecut=0` option
2024-01-13 17:49:34 -06:00
James Hurley
7fe5cb7dad
librtmp: Add missing extended timestamp in Type 3 chunks
...
According to https://rtmp.veriskope.com/docs/spec/#5313-extended-timestamp
extended timestamps need to be present in Type 3 chunks
(`RTMP_PACKET_SIZE_MINIMUM`) if the previous chunk also included an
extended timestamp
2024-01-13 17:47:16 -06:00
Georges Basile Stavracas Neto
03358961aa
linux-pipewire: Pass framerate and resolution at construction
...
This allows the stream negotiation to set the camera values right
from the start.
2024-01-11 09:57:08 -03:00
Wim Taymans
bc02779529
linux-pipewire: Handle camera hotplug
...
Rebuild the camera list when a camera was added or removed.
2024-01-11 09:57:08 -03:00
Wim Taymans
968d7259bf
linux-pipewire: Use spa_strerror to convert SPA errors to string
...
g_strerror only works for errno values, SPA errors are negative errno
values.
2024-01-11 09:57:08 -03:00
Wim Taymans
a683c5f3ce
linux-pipewire: Add float property support
2024-01-11 09:57:08 -03:00
Wim Taymans
a44228ef50
linux-pipewire: Add resolution and framerate list contents
...
Trigger a renegotiation of the camera stream when either the
resolution or the framerate change.
2024-01-11 09:57:08 -03:00
Wim Taymans
12eba3f5d7
linux-pipewire: Handle property changes
2024-01-11 09:57:08 -03:00
Wim Taymans
07cbbe9bec
linux-pipewire: Collect device controls
...
Collect the controls on the node. Enumerate the controls as
properties.
Co-authored-by: Georges Basile Stavracas Neto
<georges.stavracas@gmail.com>
2024-01-11 09:57:08 -03:00
Wim Taymans
e6d98ebfbb
linux-pipewire: Start camera only after we find the device
...
Wait with starting the camera until we find the device in the
registry. Avoids cases where the camera stays unlinked.
2024-01-11 09:57:08 -03:00
Georges Basile Stavracas Neto
364323e445
linux-pipewire: Factor out formats list into a file
...
This will help share these formats with the upcoming Camera portal
code.
2024-01-11 09:57:08 -03:00
Wim Taymans
7f765cdb4c
linux-pipewire: Add NV12 support
...
List it in addition to YUV formats.
Co-authored-by: Georges Basile Stavracas Neto
<georges.stavracas@gmail.com>
2024-01-11 09:57:08 -03:00
Georges Basile Stavracas Neto
c1b3831ba2
linux-pipewire: Add PipeWire-based camera source
...
This plugin adds a camera source for capture devices available
via PipeWire using the Camera portal.
2024-01-11 09:57:08 -03:00
Georges Basile Stavracas Neto
261cb91c62
linux-pipewire: Rename a function
...
Make it a bit more semantic, and matching of PipeWire API.
2024-01-11 09:57:08 -03:00
Georges Basile Stavracas Neto
56d3720ffa
linux-pipewire: Add obs_pipewire_roundtrip()
...
Generalize the async server roundtrip wait so that future consumers
can, for example, wait for all devices to be listed before acting
on the registry.
2024-01-11 09:57:08 -03:00
Georges Basile Stavracas Neto
6499d01bec
linux-pipewire: Allow passing registry events on creation
...
This will allow consumers of obs_pipewire to handle the device
registry themselves. This is not useful for the screencast code
since there's always only one node in the registry, but it will
be used by the camera and audio code to list hardware devices.
2024-01-11 09:57:08 -03:00
Lain
a4f2290026
image-source: Rework slideshow (slideshow mk2)
...
Makes it so that slideshows can have as many files as desired, and
lazily decodes image data in a separate thread to prevent decoding from
stalling the video thread.
2024-01-10 20:45:36 -06:00
gxalpha
0aaf2e518b
mac-capture: Remove macOS 14 ifdef and custom CGDisplayStream header
...
ec9809bd43
increased the minimum macOS SDK
to 14.2, meaning that the ifdef (and as a result the custom header) is
no longer needed.
2024-01-08 20:40:33 -05:00
Ryan Foster
cc25a14173
obs-ffmpeg: Fix incorrect CMake list syntax
2024-01-08 19:49:04 -05:00
derrod
24e59d1621
obs-ffmpeg: Fix NVENC compat hack ternary being inverted
2024-01-07 02:29:00 +01:00
pkv
99ae6eb2e9
obs-ffmpeg: Support multiple audio tracks (mpegts)
...
This adds support for multiple audio tracks for the new mpegts output.
Signed-off-by: pkv <pkv@obsproject.com>
2024-01-06 18:42:54 -06:00
derrod
4a8e8bb1bd
obs-ffmpeg: Only use NVENC compatibility hack if necessary
2024-01-06 18:38:43 -06:00
PatTheMav
2457d83e0f
mac-capture: Update capture to include menu bar and child windows
...
macOS 14.2 changed internal defaults of SCK requiring the inclusion
of the menu bar and child windows to be enabled explicitly.
This will have a slight negative impact on capture performance but is
required to restore behavior of prior macOS versions.
2024-01-06 18:09:06 -06:00
jcm
354150a992
mac-virtualcam: Reduce excessive polling for new sample buffers
2024-01-06 17:43:42 -06:00
Penwywern
7abbfb1c82
vlc-video: Fix play_pause to respect boolean
2024-01-06 17:22:27 -06:00
Rodney
051d227b51
obs-ffmpeg: Remove Windows 7 NVENC fallback
2024-01-06 17:20:26 -06:00
Rodney
3594017fac
obs-ffmpeg: Remove Ubuntu 20.04 NVENC fallback
...
Effectively reverts dd26fe4f8a
2024-01-06 17:20:26 -06:00
tt2468
8496d58a2c
rtmp-services: Add IRLToolkit Frankfurt ingest
2024-01-06 17:08:40 -06:00
nquah
14db1489e0
obs-outputs: Enable HDR for HEVC over RTMP
...
Removes flag guard to enable HDR streaming for HEVC over enhanced-RTMP.
This functionality is currently only supported by YouTube. See
github.com/veovera/enhanced-rtmp for the enhanced-RTMP spec.
2024-01-03 18:01:26 -05:00
nquah
f1f5b34d7b
obs-outputs: Switch RTMP color metadata order
...
Sends color metadata before the video header for RTMP streams. Only
applicable to HDR RTMP streams. Ensures the server sees the correctly
configured color metadata first, in cases where the decoder config in
the video header has incorrect or missing color information. Mitigates a
bug that users with outdated AMD drivers may encounter.
2024-01-03 16:31:58 -05:00
Ryan Foster
0e50077948
obs-websocket: Update version to 5.3.5
...
Update CMake in preparation for Linux CMake update.
2023-12-22 16:44:55 -05:00
Ryan Foster
f348ab458d
obs-browser: Update version to 2.22.3
...
1f9b458 - cmake: Update formatting and use find_package for Qt6
fde998c - cmake: Fix regression in 1f9b458 for legacy Windows build
2023-12-22 16:44:00 -05:00
PatTheMav
5697b085da
mac-capture: Switch AudioUnits to use canonical format on output bus
2023-12-19 18:33:53 -05:00
Robert Wittams
73e9561633
mac-capture: Allow selection of channels on core audio devices
2023-12-19 18:33:53 -05:00
PatTheMav
7dbde70de1
cmake: Remove support for generators besides Xcode on macOS
2023-12-19 17:59:44 -05:00
PatTheMav
087353eb3f
aja: Add shared interface library for plugin and frontend-plugin
2023-12-19 17:59:44 -05:00
PatTheMav
eae5cc1e38
plugins: Update CMake formatting with manual format choices
2023-12-19 17:59:44 -05:00
PatTheMav
9ae47a7937
cmake: Update FFmpeg find package to use explicit version
2023-12-19 17:59:44 -05:00
PatTheMav
8135085a23
cmake: Replace custom Qt discovery function with CMake default
...
find_qt was necessary during the transitional period between Qt5 and
Qt6. With Qt6 being the only supported Qt version (for open source) for
the time being, code complexity can be reduced for easier maintenance.
2023-12-19 17:59:44 -05:00
Service Checker
ebed24c767
rtmp-services: Remove defunct servers/services
2023-12-19 02:32:08 +01:00
jpark37
09ffae07d8
win-capture: Toggle premultiplied alpha for games
...
Keep straight alpha as default for VTuber applications.
2023-12-16 17:15:18 -06:00
jpark37
ea9df85512
graphics-hook: Fix DXGI ref leak for D3D12 capture
...
Create ID3D11Resource dynamically to avoid reference inflation.
2023-12-16 17:03:43 -06:00
Georges Basile Stavracas Neto
67c1202849
linux-pipewire: Add screencast cursor_visible prop
...
This commit adds the screencast-specific 'cursor_visible' field
in an anonymous struct within the constructor struct.
This slightly improves the connection code by properly treating
construction-time information in a constructor struct. It allows
removing the extra function call that sets cursor visibility from
the Screencast portal code.
Admittedly that's not much, but again, this will be an important
distinction when introducing the Camera portal code, since some
camera properties will need to trigger renegotiation.
2023-12-14 10:20:55 -03:00
Georges Basile Stavracas Neto
a1db8e5bde
linux-pipewire: Factor out connection props in a struct
...
So that we can expand the number of construct-time connection
properties without changing the function signature every time.
This is mostly an ergonomic change for now, but it'll be very
useful when introducing the Camera portal code.
2023-12-14 10:20:55 -03:00
Georges Basile Stavracas Neto
afab71aa80
linux-pipewire: Standardize argument names
...
Always name obs_pipewire_stream pointers 'obs_pw_stream', so as not
to confuse with obs_pipewire pointers which are called 'obs_pw'.
2023-12-14 10:20:55 -03:00
derrod
ebd6eec7f6
win-wasapi: Make reroute target a weak reference
2023-12-13 22:10:53 +01:00
Norihiro Kamae
70aa1e903f
win-wasapi: Initialize a pointer reroute_target
...
The pointer `reroute_target` was never initialized if the reroute was
not set but read during processing audio.
2023-12-13 16:15:09 +01:00
derrod
4b28631a95
win-capture: Add audio capture option to window/game capture
2023-12-12 00:05:47 +01:00
derrod
48f9969df3
win-wasapi: Add procedure to reroute audio output
2023-12-12 00:05:47 +01:00
jpark37
263e027938
graphics-hook: Remove unused member variables
2023-12-10 04:45:33 -06:00