Wim Taymans
0c04481ba7
metadata: improve default sink/source
...
Only check defaults when subject is PW_ID_CORE
Handle NULL keys: remove the defaults
2020-08-18 17:56:05 +02:00
Wim Taymans
759e1ccb6b
jack: fix default source and sink handling
2020-08-18 17:18:37 +02:00
Wim Taymans
8c893cbc4a
jack: improve debug
2020-08-18 16:52:27 +02:00
Wim Taymans
cfdd6cab20
acp: fix UCM off profile
2020-08-18 16:52:09 +02:00
Wim Taymans
69be14186e
0.3.10
2020-08-18 13:19:12 +02:00
Wim Taymans
a67af43cad
alsa: sync with latest pulseaudio
...
Move some things around to make it easier to merge in changes.
2020-08-18 12:41:34 +02:00
Wim Taymans
6aa6b4eac7
pulse: improve debug
2020-08-18 12:12:49 +02:00
Wim Taymans
a92d060de9
context: make sure required fields are not NULL
2020-08-18 12:11:54 +02:00
Wim Taymans
35bec2c7c4
context: also find monitor names
2020-08-18 12:11:24 +02:00
Wim Taymans
fa66bf8187
pulse: use device.api property to mark HARDWARE
...
Check if there is a device.api property on the sink/source and
if there is, mark the sink/source as a hardware device.
2020-08-17 20:57:32 +02:00
Wim Taymans
21e7c77e5e
pulse: add symbol to check for PipeWire lib
2020-08-17 20:07:04 +02:00
Wim Taymans
3174e8b69e
media-session: fix spelling mistake
2020-08-17 19:30:26 +02:00
Emmanuel Gil Peyrot
14fdf07e8f
Run codespell on the entire codebase
...
This tool detects and fixes common English spelling mistakes, with
generally very few mistakes.
Here is the command I used to generate this commit. There were a few
changes that had to be done manually, and of course adding the ignore
file:
```shell
codespell -I .codespell-ignore -x .codespell-ignore -w
```
I didn’t add it to the CI, but this would be a good place for it.
2020-08-17 17:16:31 +00:00
Wim Taymans
688a1ab082
media-session: add module to restore stream settings
2020-08-17 17:55:20 +02:00
Wim Taymans
6b7928aee5
media-session: only debug param when loglevel set
2020-08-17 17:52:25 +02:00
Wim Taymans
28bb212630
policy-node: improve move
...
Don't try to do work when not needed
2020-08-17 17:50:42 +02:00
Wim Taymans
f9a5053c73
media-session: improve cleanup in some modules
2020-08-17 17:50:15 +02:00
Wim Taymans
451fee2208
pulse: implement some more extensions
...
Most just return nothing or say that the extension is not supported.
Remove some warnings, they should show up in the log from setting
the error in the context.
2020-08-17 17:40:34 +02:00
Wim Taymans
62cea9c6d5
pulse: implement some more methods
...
Makes paman work
2020-08-17 17:22:14 +02:00
Wim Taymans
e544f82004
Revert "default-profile: keep a restore and save list"
...
This reverts commit de71618b99 .
Doesn't work when the device is removed and added again.
2020-08-17 16:04:22 +02:00
Wim Taymans
d337abf690
media-session: escape and unescape keys when saving
...
So that we can allow space in the keys.
2020-08-17 12:12:11 +02:00
Wim Taymans
de71618b99
default-profile: keep a restore and save list
...
Load the settings into the restore list, when we see a device and it's
in the restore list, restore the profile and remove from restore list.
All updates to profiles go into the save list and it is then saved.
2020-08-17 11:48:52 +02:00
Wim Taymans
03f1dfcf99
acp: handle unset profile
...
The active profile is set to -1 initially, don't try to do anything
with the profile if it is invalid.
See rhbz#1868332
2020-08-17 11:33:17 +02:00
Wim Taymans
48a7e83fab
media-session: add module to restore route volumes
2020-08-17 11:17:21 +02:00
Wim Taymans
31a3fab554
media-session: use name from Profile param
2020-08-17 11:15:44 +02:00
Wim Taymans
05416b497c
media-session: improve property save/load
...
Allow spaces in the property values.
2020-08-17 11:10:16 +02:00
Wim Taymans
dadb3a884d
profile: refactor code to make EnumProfile and Profile params
...
Use the same code to enumerate the profiles and the current profile,
this makes sure we have all info in the Profile param as well and
don't need to do a lookup in the EnumProfile.
2020-08-17 11:08:26 +02:00
Wim Taymans
90e12299f1
acp: add current profile in the route
2020-08-14 15:09:00 +02:00
Wim Taymans
4ad6c627a0
media-session: add module to restore card profile
...
Save card profiles to file and restore.
2020-08-13 17:01:47 +02:00
Wim Taymans
cf6ffcacb8
media-session: do some more cleanup
2020-08-13 17:00:08 +02:00
Wim Taymans
ebc659330e
pulse: also update ports after profiles
...
The ports have references to the profile info.
2020-08-13 16:58:40 +02:00
Wim Taymans
f058f86670
pulse: also update the profiles when the active one changes
2020-08-13 16:10:30 +02:00
Wim Taymans
efdeceddab
media-session: Add module to load/save default nodes
...
Nodes are stored with their (unique) name and restored with their
ID on the metadata.
2020-08-13 11:33:48 +02:00
Wim Taymans
8a4dd83883
media-session: add API to load/store state
2020-08-13 11:33:48 +02:00
Felix Yan
cc9c2caa90
Correct typos in README.md
2020-08-12 18:10:47 +00:00
Wim Taymans
4b42639541
metadata: only emit signal when metadata changed
2020-08-12 18:59:59 +02:00
Wim Taymans
36c10046da
metadata: fix string compare
2020-08-12 18:58:48 +02:00
Wim Taymans
add30965e3
meson: rename uninstalled target to pw-uninstalled
...
It does not seem to work anymore with recent versions.
2020-08-12 17:36:41 +02:00
Wim Taymans
2176874687
doc: fix some spelling errors
2020-08-11 21:24:19 +02:00
Wim Taymans
82b0644e23
gst: rework device provider
...
Use the node and port info to enum formats when available.
Use simple resync after each operation, when nothing is pending,
loop over the results.
2020-08-11 17:34:23 +02:00
Wim Taymans
799fe7f90c
gst: reset negotiated state before connect
...
Right before connecting, set ourselves to not negotiated.
First look for errors, then the negotiated state.
Handle NULL caps after negotiation.
2020-08-11 16:10:44 +02:00
Wim Taymans
47a6360112
gst: don't share memory
...
We can't allow to share our memory because it might disappear when
the server or source renegotiates.
2020-08-11 16:10:00 +02:00
Wim Taymans
cc044b0e08
jack: don't overwrite any PIPEWIRE_PROPS values
2020-08-11 12:12:37 +02:00
Wim Taymans
f73a0c97e3
jack: use empty area when get_buffer frames is 0
...
Client that call port_get_buffer with 0 frames get the empty scratch
buffer because we can't know the final output size.
2020-08-11 12:09:50 +02:00
Wim Taymans
753af7c7b3
jack: improve buffer size callbacks
...
Make sure we emit the buffer callback either from the calling thread
or from the thread_loop. Mark the callback as pending and don't call
the process function until the callback has been handled.
2020-08-11 11:11:00 +02:00
Wim Taymans
e62b59beb9
node: only set update flag when changed
2020-08-10 18:19:42 +02:00
Wim Taymans
0955ecc4b0
client-node: avoid useless warnings
...
Mostly useless warnings while shutting down.
2020-08-10 18:15:14 +02:00
Wim Taymans
a3350d44eb
pw-cat: use metadata to tag default device
2020-08-10 17:45:45 +02:00
Wim Taymans
5e9091a285
node: add new NEED_CONFIGURE flag
...
Add a new node flag that is set when the node needs more configuration.
Don't try to Start nodes that have the NEED_CONFIGURE flag set.
Make audioadapter clear the NEED_CONFIGURE flag when it has the
PortConfig.
These changes now make it possible to run:
gst-launch-1.0 -v pipewiresrc path=51 stream-properties="props,node.group=1" ! audio/x-raw ! pipewiresink stream-properties="props,node.group=1"
The pipewiresink and pipewiresrc will be added to the same scheduling
group (1) and the devices they connect to will be slaved, even if they
are otherwise not linked.
Without the NEED_CONFIGURE flag, pipewiresink would be added to the
pipewiresrc group and would be started by the daemon before the
session manager has a chance to configure (and link) the node.
Fixes #4
2020-08-10 16:57:14 +02:00
Wim Taymans
db93135ff7
impl-node: recalc when node flag change
2020-08-10 16:48:42 +02:00