Lain
6cb1f5451e
Merge pull request #9943 from derrod/its-a-deque
...
Rename `circlebuf` to `deque`
2024-01-20 17:47:01 -06:00
PatTheMav
e284a79b48
mac-avcapture: Update plugin to ObjC and modern APIs
...
Marks old AVFoundation capture source as deprecated.
2024-01-19 16:56:10 -05:00
derrod
229b7b2b03
image-source: Migrate slideshow mk2 to deque
2024-01-16 16:45:10 +01:00
derrod
a4b8e1a6a9
libobs/util,docs: Deprecate circlebuf
2024-01-16 16:45:10 +01:00
derrod
9f306fa832
obs-outputs: Replace circlebuf with deque
2024-01-16 16:45:10 +01:00
derrod
8ec91bab04
obs-filters: Replace circlebuf with deque
2024-01-16 16:45:10 +01:00
derrod
f083d14143
obs-ffmpeg: Replace circlebuf with deque
2024-01-16 16:45:10 +01:00
derrod
538ea46e5a
deps/obs-scripting: Replace circlebuf with deque
2024-01-16 16:45:09 +01:00
derrod
a029d2ac01
deps/media-playback: Replace circlebuf with deque
2024-01-16 16:45:09 +01:00
derrod
a3ac6ee473
frontend-tools: Replace circlebuf with deque
2024-01-16 16:45:09 +01:00
derrod
2963959e71
libobs: Replace circlebuf with deque
2024-01-16 16:45:09 +01:00
derrod
10a47756b0
docs: Add deque documentation
2024-01-16 16:45:09 +01:00
derrod
1938d65c9f
libobs/util: Add deque
2024-01-16 16:44:12 +01:00
Lain
1e09f5a543
Merge pull request #10039 from derrod/roi-libobs
...
libobs/plugins: Add region of interest (ROI) encoder feature
2024-01-13 18:30:31 -06:00
Eric Lindvall
71d963a755
libobs/util: Implement error reader for ffmpeg posix pipe
...
Transition from using popen() to using fork()/dup2()/execl() to provide
a way to read stderr from ffmpeg.
Co-Authored by: PatTheMav <PatTheMav@users.noreply.github.com >
2024-01-13 18:20:26 -06:00
derrod
32e201ebb9
UI: Save invalid transition source data in safe mode
2024-01-13 17:59:42 -06:00
derrod
6fc3bb4eb4
UI: Switch to bigger units for high bitrate/large recordings
2024-01-13 17:57:26 -06:00
Norihiro Kamae
1d4107d744
cmake: Fix Xcode version error message
2024-01-13 17:51:45 -06:00
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
Rodney
0510d673d3
obs-qsv11: Add ROI support
2024-01-11 13:36:35 +01:00
Rodney
730ab5e6d1
obs-ffmpeg: Add ROI support to AMF
2024-01-11 13:36:35 +01:00
Rodney
5e9b2d6322
obs-ffmpeg: Add ROI support for native NVENC
2024-01-11 13:36:35 +01:00
Rodney
6b1f61949b
obs-x264: Implement ROI feature
2024-01-11 13:36:35 +01:00
derrod
a0ee9445ba
docs: Add encoder ROI functions/struct
2024-01-11 13:36:35 +01:00
Rodney
d96ad4ac98
libobs: Add encoder ROI functions
2024-01-11 13:36:35 +01:00
jpark37
a8866fe3fa
libobs-d3d11: Remove new/delete replacements
...
MSVC noticed inline is not allowed, and new/delete replacments also
don't belong in a header file. We're also just leaning on
__STDCPP_DEFAULT_NEW_ALIGNMENT__ being 16 for MSVC x64 now.
2024-01-11 04:02:31 -06: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
derrod
83e65170ad
CI: Sign and package Windows builds
2024-01-09 18:54:46 -05:00
PatTheMav
07dd32ad14
obs-ffmpeg: Disable hardened runtime when using ad-hoc signing
2024-01-09 10:59:14 -05: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
PatTheMav
e79b190f68
cmake: Update MbedTLS finder to support MSVC Debug configuration
...
Natively compiled MbedTLS for Windows will use the non-debug platform
library, which will lead to a linker error when building OBS in debug
configuration with MSVC.
Neutralizing the linker directive for Debug builds on Windows
unbreaks the build configuration without the need to ship separate
debug variants of MbedTLS.
2024-01-08 18:54:28 -05:00
Lain
ae469d23e1
libobs/util: Fix function declaration
...
C functions that have no parameters should use (void) to signify that
they have no parameters, otherwise legacy C handling for parameters will
apply.
2024-01-07 15:59:09 -06:00
Lain
2fb7063e1a
libobs: Defer media controls to video thread
...
To prevent sources from having to take too much extra consideration into
threading, defer the media control functions that directly affect
functionality to the video thread. Getters will still have to take
threading into account, but this should make things much more trivial
for media controls thread-wise.
(Lain note: Context: I noticed that things such as the slide show
require mutexes due to their media controls, and I felt that it was
largely unnecessary and that libobs should mitigate the threading issue
itself and keep it all in the video thread like it should be. Again, the
getters are still going to require *some* consideration into threading
but in terms of threading, for the type of stuff we're doing, querying
state is far more trivial to take into consideration.)
2024-01-07 15:59:09 -06:00
Lain
42bda5fb67
libobs/util: Add da_pop_front()
...
Doesn't really make sense that it was missing, so just add it.
2024-01-07 15:59:09 -06:00