LADI
/
spa
1
Fork 0
Commit Graph

10857 Commits

Author SHA1 Message Date
Nedko Arnaudov 1728128269 Add GNUmakefile to generate README.html 2023-05-28 18:45:03 +03:00
Nedko Arnaudov be25be1494 replace PipeWire's README with one for SPA 2023-05-28 18:44:56 +03:00
Pauli Virtanen 7aae8c45ec bluez5: do not delay transport release if it is not active
Transport release should not be delayed if it is not active, since the
fd cannot be used any more, and the transport needs to be reacquired to
get a working fd.

Fixes reacquiring transports if the remote side causes them to become
inactive.
2023-05-26 07:17:51 +00:00
Wim Taymans 2ee7996cf7 impl-node: improve stats
The signal_time of the driver is supposed to be the time when the
driver started, not when it was signaled the last time to complete
the graph. Remember the start time and override the signal time when
the graph completes.
2023-05-25 20:22:49 +02:00
Wim Taymans 3d68c7124d impl-node: drivers run remotely now
Remove some code now that drivers also run remotely.
2023-05-25 20:06:38 +02:00
Wim Taymans 09f480ccb3 audioconvert: fix monitor port latency
The monitor port latency is the reverse direction of the input ports.
2023-05-25 20:05:54 +02:00
Wim Taymans a5b845650e remote-node: only signal graph end when profiling
Add a flag to the activation to mark the node as being profiled.
Only wake up the eventfd in remote-node when the profiler is running.

This keeps the server sleeping when remote nodes are driving and the
profiler is not running.
2023-05-24 22:40:28 +02:00
Wim Taymans 5fcc0e1181 filter: fix warning 2023-05-24 18:24:06 +02:00
Wim Taymans 8303082024 stream: do fast calls for the process function
We checked it while registering.
2023-05-24 18:01:41 +02:00
Wim Taymans 004d3d900a pulse-server: improve debug 2023-05-24 18:01:19 +02:00
Wim Taymans 3605eae6ad impl-node: fix compilation 2023-05-24 17:38:40 +02:00
Wim Taymans 2994c48702 impl-node: only copy relevant fields from target
We can't copy the link or active state.
2023-05-24 14:35:47 +02:00
Wim Taymans 894eeae03c impl-node: add id and name to pw_node_target
Make a copy of the node name into a statically allocated array. This is
for debugging purposes only but might crash if we do a name change while
the data thread is reading it.

Make it possible to do reposition on the client side by copying the id
to the target. The client side does not have a node in the target so we
can't deref it.
2023-05-24 14:05:03 +02:00
Bennett Hardwick 4843928370 Fix jackdbus-detect module name in comment 2023-05-24 11:44:09 +00:00
Sebastian Jaeckel dfeacaafdd rtp-sap: use correct property key to get channel names 2023-05-24 08:32:42 +00:00
Sebastian Jaeckel 39d6e40abd rtp-sap,AES67: reorder sdp records to be compatible with Dante/AES67 devices
A software called `Dante Controller` is needed to configure Dante
devices (which also support AES67). This software is picky about the
order in which SDP records are received and parsed.

Changing the order or adding new records in between leads to faulty
display of our stream within `Dante Controller` (missing channel display
etc.) and the user is then unable to connect any Dante device to the
AES67 stream.
2023-05-24 08:32:42 +00:00
Sebastian Jaeckel 31ffa09c16 rtp-sap: use the ptime from the stream in the announcement and omit the decimal ms if they are 0 2023-05-24 08:32:42 +00:00
Sebastian Jaeckel d08439316b rtp/stream: calculate and format the ptime property as float 2023-05-24 08:32:42 +00:00
Wim Taymans b74f2e19a7 impl-node: remove duplicated fields
Move all of the info to trigger a node into the target so that
we can copy it around easily.
2023-05-23 16:46:30 +02:00
Wim Taymans 3b5fd0bd7a doc: fix pod sizes 2023-05-23 09:30:36 +02:00
Wim Taymans 83718f431b doc: update 2023-05-23 09:19:35 +02:00
Wim Taymans bb72e3bc00 gst: fill default stride in metadata
When there is no metadata on the buffer, use the default video stride
as the stride on the pipewire buffers instead of 0.

Fixes #3236
2023-05-23 09:00:30 +02:00
Wim Taymans b8fe832188 impl-node: run the remote driver node logic remotely
Don't signal the pipewire daemon to run the driver. We can transfer the
complete driver state to the client and run everything there.
2023-05-22 17:10:01 +02:00
Wim Taymans a46076b207 Revert "impl-node: run the remote driver node logic remotely"
This reverts commit 2f67a6a5b4.

This needs more work and makes easyeffects fail
2023-05-22 14:54:38 +02:00
Wim Taymans a14483ed61 jack: also allow signaling ourselves.
If we are a driver we can also ignal ourselves.
2023-05-22 12:15:01 +02:00
Wim Taymans 79d1278b2e fix -UFASTPATH compilation 2023-05-22 11:30:38 +02:00
Wim Taymans 46add98c0a impl-node: remove warning 2023-05-22 11:06:49 +02:00
Wim Taymans 7ffe64f7af client-node: make old driver nodes work
Bump the client-node version because we use the writefd differently now.
Support driver nodes using the old version somewhat. The stats will be
wrong but then again, we don't have any flatpak driver nodes that could
use an older version.
2023-05-22 11:03:20 +02:00
Wim Taymans 0135a1fc05 client-node: signal graph complete
Use the writefd for waking up the server when the graph completed. Make
this emit the complete event so that the profiler can capture the
data.
2023-05-22 10:30:01 +02:00
Wim Taymans 5c7c12638d impl-node: do stats at the end of the cycle
For remote nodes we don't activate the server anymore so the stats
won't reach the server anyway. It's better to do them at the end of the
cycle again.
2023-05-22 10:29:59 +02:00
Wim Taymans 2f67a6a5b4 impl-node: run the remote driver node logic remotely
Don't signal the pipewire daemon to run the driver. We can transfer the
complete driver state to the client and run everything there.
2023-05-22 10:29:13 +02:00
Wim Taymans 3f46044c39 impl-node: update xrun_count of late nodes
When the graph didn't complete, update the xrun_count in each node
that didn't complete.

We can then remove the code to simulate that from pw-top.
2023-05-22 10:24:51 +02:00
Barnabás Pőcze de7883024b test: test-logger: fix systemd journal usage
`sd_journal_seek_tail()` is supposed to seek to the logical end of the journal,
i.e. (always) after the last entry. A call to `sd_journal_previous()` is needed
to seek to the last entry, so that `sd_journal_next()` can be called
successfully in `find_in_journal()`. Without it, the journal would always
stay at the end of the list of entries, so further `sd_journal_next()`
calls would fail as there are no entries after the last.

See:
 * https://github.com/systemd/systemd/issues/25369
 * https://github.com/systemd/systemd/pull/26577
2023-05-22 08:05:39 +00:00
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