Commit graph

10824 commits

Author SHA1 Message Date
Wim Taymans
de9b28f783 context: don't use fallback driver if priority_driver <= 0
The drivers with priority_driver <= 0 should not be used as a fallback
driver for audio ever because it does not do the timing correctly.

One example is the screencast driver.

Fixes #3219
2023-05-22 09:48:51 +02:00
Wim Taymans
c5e1515b7a context: add method to add/remove context listener 2023-05-21 15:45:45 +02:00
Pauli Virtanen
38860630a5 pulse-server: module-gsettings: check schemas exist before starting
Check the required GSettings schemas exist before trying to use them, as
g_settings_new aborts if they are missing.  Instead, make it just log
errors.
2023-05-21 10:18:56 +00:00
Dmitry Sharshakov
797bd4f6b3 bluez5: media-sink: include codec into media.name 2023-05-21 10:18:06 +00:00
Dmitry Sharshakov
7e5c6631a5 Audio Pro A26: disable hw-volume feature, because volume was being reset to 100% on each reconnect 2023-05-20 09:26:30 +00:00
Wim Taymans
e3d9d9c9fa audioadapter: warn !started and scheduled only once
One warning is enough.
2023-05-19 18:40:11 +02:00
Wim Taymans
9192892d08 impl-node: always resume non-driver nodes when finished
We don't really have a mechanism to do async resume and OK is now
emitted by the filter when nothing happened.
2023-05-19 18:07:53 +02:00
Wim Taymans
7da1094819 remote-node: update some internal state
This is not really used yet but when we get an activation record from
the server we can update the node stet some more.
2023-05-19 15:25:40 +02:00
Wim Taymans
f085a1fa49 impl-node: improve graph xrun detection
Simply check for the state of the activation.
2023-05-19 15:25:14 +02:00
Wim Taymans
606bbefaa4 filter: return better value from process() 2023-05-19 13:33:39 +02:00
Wim Taymans
0ab335d041 stream: improve debug 2023-05-19 13:33:32 +02:00
Arun Raghavan
b216a2cfb0 doc: Some minor fixups to the scheduling doc
s/evenfd/eventfd and some minor formatting.
2023-05-18 14:58:49 -03:00
Pauli Virtanen
1d23d21ffe bluez5: check if we have any codecs before trying to register
Don't try to register A2DP / BAP with BlueZ if we don't have any codecs
for that.
2023-05-18 14:36:16 +03:00
Wim Taymans
ae9262409f audioconvert: suggest to inline some functions 2023-05-18 10:21:47 +02:00
Wim Taymans
ce71b37b58 jack: update bufsize and samplerate when skipping notify
When we skip the notify because we are not active or we don't have a
callback, still update the buffer_size and sample_rate fields or else
we will keep on trying forever.

Fixes #3226
2023-05-18 09:59:26 +02:00
Wim Taymans
4206f6bbdb jack: align sample rate callbacks with buffersize callbacks
Don't emit when no value has been queried before.
2023-05-18 09:46:40 +02:00
Wim Taymans
bd225b14bb 0.3.71 2023-05-17 12:33:51 +02:00
Wim Taymans
05f5e416e2 filter-chain: include unistd for getcwd 2023-05-17 12:19:57 +02:00
Wim Taymans
782d5af050 pulse-server: add server.dbus-name option
Add an option to set the name for the dbus service. Setting an
empty name will skip dbus registration.

See #2987
2023-05-17 12:16:16 +02:00
Wim Taymans
5a12b35be7 stream: fix state changes 2023-05-17 12:01:57 +02:00
Wim Taymans
135647f193 module-filter-chain: do better error reporting
When we find no valid sample file to read, go through all files and
report why they fail to load. Also display the current working directory
so that we can see where file are loaded from.

See #3223
2023-05-17 11:01:26 +02:00
Wim Taymans
65a5272a9f stream: keep error res around
So that we can return it when there is an error instead of the generic
-EIO.
2023-05-17 11:00:52 +02:00
Wim Taymans
ca17672871 module-filter-chain: give better error when load fails
See #3223
2023-05-16 22:33:52 +02:00
Wim Taymans
318bb0b442 context: Don't stop at driver nodes, only driving nodes
Don't stop collecting runnable nodes when we find a driver, only a
driving node. Otherwise we would skip nodes between virtual sinks and
the real sink when the virtual sink is not driving.

Fixes #3220
2023-05-16 16:44:27 +02:00
Wim Taymans
957470bd9f doc: add more docs 2023-05-16 16:15:54 +02:00
Wim Taymans
f5a65a27b0 docs: document some more 2023-05-16 15:44:22 +02:00
Wim Taymans
4eb64f5a6c doc: improve formatting 2023-05-16 12:55:48 +02:00
Wim Taymans
b5224a6844 doc: improve formatting 2023-05-16 12:50:18 +02:00
Wim Taymans
d7315ee572 docs: add more docs 2023-05-16 12:42:36 +02:00
Wim Taymans
56f3d0d417 docs: document some more 2023-05-16 12:27:05 +02:00
Wim Taymans
e759a2feed doc: document registry events and methods 2023-05-16 11:21:03 +02:00
Wim Taymans
aad69d22c1 doc: add more docs 2023-05-16 11:01:54 +02:00
Wim Taymans
736e9cc94c null-audio-sink: make it possible to override node.driver
See #3220
2023-05-15 21:25:28 +02:00
Wim Taymans
26e9a4ce13 impl-node: add some comments 2023-05-15 15:42:37 +02:00
Wim Taymans
f996249fff man: update man page some more
Add some more mentions that modules can not be loaded in a remote
instance in PipeWire.

Also mention the special internal remote name to connect to the local
pw-cli instance.

Fixes #2988
2023-05-15 13:31:13 +02:00
Wim Taymans
a0304c6691 module-rtp: sync session unlink with data thread
See #3217
2023-05-15 12:47:37 +02:00
Wim Taymans
a15517851e module-rtp: fix sess.media usage 2023-05-15 12:34:56 +02:00
Wim Taymans
d3896d290e module-rtp: set default sess.media in properties
Set a default sess.media in properties because we will use it later.
2023-05-15 12:23:28 +02:00
Wim Taymans
fb5c9688a2 doc: fix comment 2023-05-15 12:04:06 +02:00
Wim Taymans
a9d6807ec1 doc: add some more docs 2023-05-15 11:44:41 +02:00
Wim Taymans
9035b97b62 module-rt: improve messages
Move some warnings to info.
Only show 1 warning with all the info why module-rt can't provide
realtime scheduling.

Fixes #3194
2023-05-15 09:31:33 +02:00
Wim Taymans
988fc9692a impl-link: only activate links between runnable nodes
The node might be active but passive, in which case it will not run and
there is no need to schedule it.

Fixes #3215
2023-05-14 20:55:38 +02:00
Wim Taymans
a25c021074 jack: don't fill aliases by default
JACK does not automatically generate aliases, so don't do that either.

The problem is that no new ports can be created if one already exists
with the same name or any of the aliases. This causes problems when a
port is renamed and a new port is created with the old name because the
alias might still be the old name and port creation fails.

Add a jack.fill-aliases for this purpose.

Fixes #3154
2023-05-12 17:58:07 +02:00
Wim Taymans
4c48c7e7b9 module-roc-source: make sure we don't overflow target_latency
See #2641
2023-05-12 16:51:49 +02:00
Wim Taymans
bd28637233 module-rtp-sap: ttl is uint32_t 2023-05-12 16:37:25 +02:00
Sebastian Jaeckel
01d6724819 rtp-sink: fix ttl property which is NOT a bool 2023-05-12 14:34:17 +00:00
Wim Taymans
b3eb4518cb jack: only emit register notify in pairs
Only emit Off when On was sent.
2023-05-12 15:30:44 +02:00
Wim Taymans
8b18cbdce1 jack: restore previous global thread_utils
When a jack client is opened, the thread_utils from the context are
stored globaly. Replace this with a generic thread_utils when we close
the client again to avoid referencing freed memory.
2023-05-12 13:30:32 +02:00
Wim Taymans
741037f1ae impl-node: move signalfd into pw_node_target
We don't need an extra signal_func, we can write to the signalfd
directly.
2023-05-12 13:02:47 +02:00
Wim Taymans
e3d715dfdf module-raop: only send volume when recording
See #3210
2023-05-12 10:48:40 +02:00