Barnabás Pőcze
b71d0224db
pipewire: module-rt: remove check for impossible condition
...
Neither `sched_set_nice()` nor `pw_rtkit_make_high_priority()`
(should) ever return a positive number, so that case is not
possible; remove it.
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
7a336645fb
pipewire: module-rt: get_rtkit_priority_range(): return void
...
This function cannot fail, so make it return `void`.
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
801ac5ced8
pipewire: module-rt: simplify check_rtkit()
...
The return value is always 0, and the `impl` parameter
is not used, so ues the return value to return the boolean
result instead of an out parameter, and get rid of the
unused argument.
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
10161407ff
pipewire: module-rt: move RLIMIT_RTTIME compat definition
...
Move it next to the other macros.
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
f0579b9b67
pipewire: module-rt: deduplicate log message
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
c4984e33b2
pipewire: module-rt: use spa_autoptr for properties
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
3b4f37ac92
pipewire: module-rt: fix function brace style
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
7eb98a31bb
pipewire: module-rt: define SCHED_RESET_ON_FORK if not available
...
Instead of using a new macro with the `PW_` prefix, simply define
`SCHED_RESET_ON_FORK` to be `0` when it is not defined; as the
prefixed variant can be a bit confusing.
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
279b7ee698
pipewire: module-rt: use "tid" instead of "pid" for thread ids
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
13fe4a5a57
pipewire: module-rt: use sizeof(variable) instead of sizeof(type)
2025-07-12 19:55:34 +00:00
Barnabás Pőcze
72f1719c95
pipewire: thread: check sched_get_priority_*() return value
...
The function can report errors, so let's propagate them.
2025-07-12 19:53:45 +00:00
Barnabás Pőcze
d17f68c047
pipewire: thread: impl_join(): return negative error code
...
`pthread_*` functions return a positive error code, but
a negative one is expected, so negate the return value.
2025-07-12 19:53:45 +00:00
Arun Raghavan
51d4d5ec3c
gst: pipewiresrc: Expose cursor position as a ROI meta
2025-07-11 11:57:59 -04:00
Wim Taymans
20a4aa8cf9
modules: remove v0 protocol support
2025-07-10 16:26:01 +02:00
Demi Marie Obenour
c54fdb76f8
protocol-native: check for NULL strings
...
SPA_POD_String allows NULL strings, so check for them.
2025-07-10 14:08:56 +00:00
Demi Marie Obenour
adb3a55703
protocl-native: v0: Fix integer overflow to buffer overflow
...
Too many dict items could cause an integer overflow leading to a
stack-based buffer overflow.
2025-07-10 14:08:15 +00:00
Demi Marie Obenour
9a66938283
pulse: don't ignore return value
...
If a function can fail don't pretend it succeeded.
2025-07-10 14:06:05 +00:00
Demi Marie Obenour
3c3ead2784
gst: whitespace fix
...
No functional change.
2025-07-10 14:05:23 +00:00
Demi Marie Obenour
32b8e5f500
src: use correct format string for uint32_t
...
<inttypes.h> provides the correct and portable format string to be used.
2025-07-10 14:03:44 +00:00
Demi Marie Obenour
b3bf5be1f6
*: Avoid macros that use casts where possible
...
Use direct field access when the type is known, instead of a macro that
includes a cast.
These were missed in e4fcbef89a .
2025-07-10 14:02:55 +00:00
Wim Taymans
5ca74996f0
filter-graph: allow setting a fixed rate
...
It's possible to make the filter streams resample to a specific rate
before running the graph.
2025-07-10 13:47:23 +02:00
Wim Taymans
e8dbd328d8
doc: fix a typo
2025-07-09 14:13:56 +02:00
Jonas Holmberg
85ff73d690
echo-cancel: reset buffers when deactivating
...
Reset buffers when deactivating to avoid having old data in the
ringbuffers, which also adds latency when activated again.
Clear sink_ready and capture_ready when resetting buffers to avoid
calling process() before there is new data to process.
2025-07-09 10:20:51 +02:00
Robert Mader
9debb4b814
gst: pipewireformat: Validate fourcc before converting to string
...
gst_video_dma_drm_fourcc_to_string() asserts when called with
DRM_FORMAT_INVALID.
2025-07-08 11:38:28 +00:00
Albert Sjolund
2581575bd1
gst: fix leak in sink_update_params
...
buffer_pool_get_config returns a copy of the config structure, but it is
never freed in this function. Add a gst_structure_free to fix the leak
2025-07-08 13:07:44 +02:00
Jonas Holmberg
a0beb30ba8
echo-cancel: drop if playback is not streaming
...
capture and sink streams may start before playback stream so process()
may fail to dequeue a playback buffer. In that case advance the read
pointers to avoid building up latency in the ringbuffers.
2025-07-03 19:02:59 +00:00
Wim Taymans
ef5d9ff028
filter-graph: add a simple noise gate
2025-07-03 20:58:00 +02:00
Wim Taymans
616db9809e
module-rtp: add some rate limit to send/recv errors
2025-07-03 20:57:49 +02:00
Wim Taymans
47ee9ef10a
module-rtp: set the EMPTY flag on empty buffers
...
And make sure other flags are reset.
2025-07-03 20:57:19 +02:00
Wim Taymans
3ff0c270dd
echo-cancel: send capture/source latency correctly
...
Input latency received on the source (output stream) should be
propagated on the input stream (capture).
2025-06-30 15:48:20 +02:00
Michael Olbrich
a77c1cbd0b
gst: pipewireformat: enforce DMA_DRM when possible
...
with memory:DMABuf, DMA_DRM should be used as 'format'. So only add
formats to 'format' if there is no equivalent drm format.
2025-06-27 12:57:40 +00:00
Michael Olbrich
7795e06563
gst: add colorimetry support
2025-06-27 12:57:01 +00:00
Wim Taymans
c045767252
stream: improve drain
...
Make sure we safely stop draining the stream by using the loop lock.
Always stop draining when we change the state of the stream.
The idea is that you either wait for the drain signal or cancel the
pending drain early with a new set_active() call.
2025-06-25 13:07:16 +02:00
Wim Taymans
bd7ce5c7fa
pulse-server: only react to state changes when not corked
...
When we are starting or corked we don't emit suspend/resume caused
by state changes.
2025-06-25 10:31:32 +02:00
Elliot Chen
43441a4d69
pipewiresrc: fix sending last buffer failure if waiting operation exits in advance
2025-06-23 16:16:13 +00:00
Wim Taymans
4b236f8274
stream: fix a typo
2025-06-23 11:34:43 +02:00
Arun Raghavan
220b037683
pulse-server: Implement stream suspended callback
2025-06-23 09:19:10 +00:00
Wim Taymans
fd2db174c1
pipewire: update global properties
...
When the properties of an object change, update the properties on the
global as well. There is no way to notify clients of a changed global
but they are supposed to listen to the object specific events for that.
The global properties are meant to be a snapshot at the time of
enumerating the registry and can change later.
2025-06-23 10:42:47 +02:00
Wim Taymans
343509abdf
pw-cli: add type info to variables
...
Add type info to variables. This way we can avoid doing things on
variables of the wrong type.
Add a list-vars command to list the currently registered variables and
their type.
Fixes #4746
2025-06-18 15:02:20 +02:00
Wim Taymans
b51755bc8b
pulse-server: add stream_properties for RTP streams
2025-06-18 12:29:39 +02:00
Wim Taymans
58aab3e16b
pw-dump: add -i and -s options
...
-i can be used to configure the indentation (default 2)
-s can be used to output simplified SPA JSON
2025-06-17 11:01:28 +02:00
Wim Taymans
0b2b723a0e
filter-graph: add a zeroramp plugin
...
The filter detects unnatural gaps (consisting of 0.0 values) and will
ramp-down or ramp-up the volume when entering/leaving those gaps.
This makes it filter out the pops and clicks you typically get when
pausing and resuming a stream.
See #4745
2025-06-17 09:14:18 +02:00
Pauli Virtanen
dc618d37c6
modules: fix missing free/close and length checks
...
Fix some missing free and close.
Fix not checking length of received netjack data.
2025-06-14 15:24:05 +03:00
Pauli Virtanen
baadda3b67
tools: fix some missing free/close
2025-06-14 15:21:29 +03:00
Wim Taymans
83c644fe09
pulse-server: mark empty buffers
...
This makes it use some more optimal paths in the mixer.
2025-06-13 18:07:55 +02:00
Wim Taymans
3d1c9f1cce
modules: update Props and ProcessLatency
...
When setting Props or ProcessLatency on a stream, it doesn't actually
remember the values that were set so we need to manually update them.
See #4731
2025-06-13 12:46:40 +02:00
Wim Taymans
3d8a19af33
filter-chain: we manage the state from the playback stream
2025-06-13 11:58:42 +02:00
Elliot Chen
72e0fe0479
pipewiresrc: add provide clock property
2025-06-13 08:10:20 +00:00
Christian Glombek
baf0b0b9e1
50-raop.conf.in: Add a condition that allows for disabling module
2025-06-13 08:08:31 +00:00
ZZyVSmOzMz OZaAEBlUIZ
0e8a8e9844
filter-chain: add dolby pro logic ii sink
2025-06-12 17:18:21 +00:00