Wim Taymans
713f242853
audioadapter: handle -ENOENT from enum_param
2020-05-03 11:45:06 +02:00
Wim Taymans
22cc1f903f
stream: clean up enum_params
2020-05-03 11:43:56 +02:00
Wim Taymans
2efa3f00ac
return -ENOENT when param doesn't exist
2020-05-03 10:13:50 +02:00
Wim Taymans
f46cbd2ac2
man: add pw-cat beginnings
2020-05-03 07:25:28 +02:00
Wim Taymans
3037dd6b48
update man pages.
2020-05-02 20:19:20 +02:00
Wim Taymans
b9bb318cb7
alsa: install conf files
2020-05-02 10:43:10 +02:00
Wim Taymans
7a7527bc90
Update README.md
2020-05-02 08:16:03 +00:00
Wim Taymans
f043ed86d9
update with jack and pulse install instructions
2020-05-02 10:12:08 +02:00
Wim Taymans
d8de4f3b9f
Update docs a bit
2020-05-01 20:29:40 +02:00
Wim Taymans
5b9e82c4e8
pw-cat: add pw-midiplay and pw-midirecord aliases
2020-05-01 11:35:51 +02:00
Wim Taymans
f11cd32258
node: improve warnings
...
Make separate warnings for read failure and xrun
2020-05-01 11:24:14 +02:00
Wim Taymans
940ff7f53b
client-node: improve error reporting
...
Separate read failure and missed wakeup in 2 messages.
2020-05-01 11:23:54 +02:00
Wim Taymans
e83bf8a33f
log: use printf attribute for log fallback
...
Fixes #233
2020-05-01 11:18:28 +02:00
Wim Taymans
979a81a70d
meson: add -Wformat
...
cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
Fixes #234
2020-05-01 11:05:38 +02:00
Wim Taymans
08543384f1
uninstalled: symlinks are not needed anymore
2020-05-01 11:05:08 +02:00
Wim Taymans
33398d7de8
0.3.4
2020-04-30 17:55:54 +02:00
Wim Taymans
3324a15fe3
protocol: use bool for Bool pod
2020-04-30 17:12:20 +02:00
Wim Taymans
c117ca0899
jack: fix unlock
2020-04-30 16:18:40 +02:00
Wim Taymans
420c186124
jack: also sync position area with data thread
2020-04-30 16:15:22 +02:00
Wim Taymans
0fd46d057e
remote: free io area after we set the new area
...
First set the new area, then destroy the old one. Otherwise the
data thread might still be using the old area and crash.
2020-04-30 16:13:50 +02:00
Wim Taymans
dc331aa562
add more warnings and fix one
2020-04-30 16:07:23 +02:00
Wim Taymans
002bcae856
0.3.3
2020-04-30 13:46:39 +02:00
Wim Taymans
ac9f2a020f
filter: make sure to sync the position with data thread
2020-04-30 13:46:39 +02:00
Wim Taymans
8141c92dde
jack: free some objects
2020-04-30 13:11:01 +02:00
Wim Taymans
30d5a247e1
jack: improve locking
...
Protect the global metadata with a lock because we update this from
multiple clients. Avoid updating the metadata if it didn't change.
Add a simple lock to protect the session objects, they could be
accessed from the main thread or data thread. Use the simple lock
in methods that just read.
Use the new data loop invoke to make sure we sync the data update
with the data thread.
Stop the data loop when our position io is removed.
2020-04-30 12:57:56 +02:00
Wim Taymans
acd9991bfc
remote-node: remove unused position area
2020-04-30 11:55:46 +02:00
Wim Taymans
cec26494f8
data-loop: add function to invoke
...
Add function that invokes the given function in the context of the
thread or the caller thread depending on if the thread is running.
2020-04-30 11:54:15 +02:00
Wim Taymans
5e99e7da49
alsa-monitor: remove timeout in destroy
2020-04-29 17:12:22 +02:00
Wim Taymans
0380c6d91e
suspend-node: remove idle handler in destroy
...
Or else the idle handler might go off when we are already destroyed.
2020-04-29 16:41:41 +02:00
Wim Taymans
d8d4e2f335
jack: make dummy server and net libraries
2020-04-29 16:32:15 +02:00
Wim Taymans
9f810d1bbc
add pw-jack and pw-pulse to set the library path
...
pw-pulse and pw-jack set the replacement library path correctly
so that pulse and jack apps run on top of PipeWire.
2020-04-29 13:28:08 +02:00
Wim Taymans
293386c21a
install replacement libraries in modules directory
...
Don't use a special name for the replacement libraries but install
them into the modules directory by default. Add an option to install
them into another location.
This way, we don't need to set up symlinks in development, distros can
choose to install them where they want and/or we can use symlinks or
LD_LIBRARY path to select the replacement versions.
2020-04-29 11:24:24 +02:00
Wim Taymans
83b30dcd3d
jack: always initialize the port buffer
...
Init the port buffer after we create it, not only after we get a buffer
on the port.
Cleanup a little.
2020-04-28 14:15:49 +02:00
Wim Taymans
856e1fe812
client-node: don't error in cleanup
...
It's possible the cleanup code might try to clean up ports we
already removed, don't show an error on that.
2020-04-28 13:56:23 +02:00
Wim Taymans
9c1ac4e850
pulse: implement cork now
2020-04-28 12:18:57 +02:00
Wim Taymans
69bc57864a
link: improve state management
...
Only activate a link when both nodes are active
Don't try to prepare the link when already prepared.
Only unprepare the link when it was prepared
2020-04-28 12:17:33 +02:00
Wim Taymans
f5e4a6b225
link: track active state of nodes
...
Keep track of the node active state, when both are active, we can
prepare (negotiate) the link.
After a link has been prepared we can activate it. When we deactivate
the link, we don't need to prepare again.
When a port loses buffers or format, set the link back to the
unprepared state.
This fixes the case where:
1) a node becomes inactive and goes to suspend, the link becomes
unprepared
2) the node becomes active again and need to be prepared again
2020-04-28 11:45:52 +02:00
Wim Taymans
68268a0116
context: improve states
...
Don't try to IDLE a suspended node.
Don't try to start an inactive node.
2020-04-28 11:42:45 +02:00
Wim Taymans
ea9a016797
context: reorganize graph recalc
...
Move quantum calculation after adding unassigned to fallback drivers
so that they also receive the required quantum.
2020-04-28 09:58:43 +02:00
Wim Taymans
2220d5b9b6
support: add dummy driver
...
Add a dummy driver node with high priority. All nodes not linked
to a device node will be linked to this when they require a driver.
2020-04-27 20:21:31 +02:00
Wim Taymans
730c85e5b0
metadata: fix order of type/value
2020-04-27 12:54:14 +02:00
Wim Taymans
90e1eb1b22
jack: add more metadata keys
2020-04-27 12:22:32 +02:00
Wim Taymans
93211549a4
log: add option to disable line numbers
2020-04-27 11:18:49 +02:00
Wim Taymans
b69bdc1eff
context: improve graph states
...
Keep the first active node as the fallback node. We use this node
as the target when no oher active nodes exist.
Only assign the target node to active nodes.
When we assign an unassigned node, simply update the active followers
of the target, the state of the nodes and target itself will then
be taken care of later.
When registering nodes, only active nodes can influence the state of the
graph.
Update some comments
2020-04-27 11:16:14 +02:00
Wim Taymans
7f271ef982
system: don't use _GNU_SOURCE in public header
...
Use a forward declaration instead for itimerspec.
Fixes #230
2020-04-24 13:11:32 +02:00
Wim Taymans
03027153e2
system: define _GNU_SOURCE for itimerspec
...
Fixes #230
2020-04-24 12:54:08 +02:00
Wim Taymans
d024229166
node: improve debug
2020-04-24 11:51:42 +02:00
Wim Taymans
667c08ecc4
context: improve graph recalc
...
Add reason to why we recalculate the graph for debugging purposes
Only recalculate graph when something relevant changed.
Block recalc from being called recursively.
2020-04-24 11:27:00 +02:00
Wim Taymans
39c2d5b963
gst: remove internal queue
...
Remove the extra queue and use the queue from pw_stream.
Fix some locks and the bufferpool handling to make audio playback
work.
2020-04-23 15:56:12 +02:00
Wim Taymans
7b13ba202b
node: also IDLE when not active
...
Inactive nodes can be set to IDLE
2020-04-23 13:22:38 +02:00