Wim Taymans
7c1fbf5bee
pulse-bridge: rework messages
...
Make recycled message blocks for receiving and sending data.
Implement async flushing out the output queue.
2020-10-08 18:06:11 +02:00
Wim Taymans
4ad085ef96
pulse-bridge: work more on timings
...
Fixes sync in firefox
2020-10-08 18:06:11 +02:00
Wim Taymans
ab4def7e5f
pulse: respect flags to set volume/mute
2020-10-08 18:06:11 +02:00
Wim Taymans
a4874abc46
pulse: restore volume and muted
2020-10-08 18:06:11 +02:00
Wim Taymans
630889493c
pulse-bridge: Update client properties
2020-10-08 18:06:11 +02:00
Wim Taymans
949f923b80
pulse-bridge: implement timing and corking
2020-10-08 18:06:11 +02:00
Wim Taymans
a536c38fbe
pulse: use send to avoid SIGPIPE signals
2020-10-08 18:06:11 +02:00
Wim Taymans
90b52b9ff4
pulse-bridge: add more commands
2020-10-08 18:06:11 +02:00
Wim Taymans
9dad175959
pulse-bridge: implement stream volume
...
Implement some more things.
2020-10-08 18:06:11 +02:00
Wim Taymans
7655aa7066
pulse-bridge: implement enough to play flatpak Spotify
2020-10-08 18:06:11 +02:00
Wim Taymans
d180b8d927
beginnings of pulse protocol
2020-10-08 18:06:11 +02:00
Wim Taymans
0da406d304
media-session: make sure we don't read invalid data
2020-10-01 11:32:40 +02:00
Wim Taymans
81ca70af9b
alsa-monitor: avoid crash in release
...
Only try to release the device when we have a proxy.
Fixes #310
2020-09-28 18:23:23 +02:00
Wim Taymans
61523d383a
tools: add pw-reserve to reverse and monitor a device
2020-09-23 10:24:06 +02:00
Wim Taymans
f4bf7bc7e6
media-session: don't emit busy when we are acquiring
2020-09-23 10:22:22 +02:00
Wim Taymans
3f844f7b09
media-session: make the same node name as PulseAudio
...
Fixes #299
2020-09-22 12:59:13 +02:00
Wim Taymans
a4e079e1cb
media-session: guard against invalid input
...
See #304
2020-09-22 12:39:39 +02:00
Wim Taymans
cf2c32f0a9
alsa: rework device reservation
...
Always try to first reserve the device name and then start the probing
so that we can be sure that the device is not in use.
2020-09-21 15:23:36 +02:00
Wim Taymans
2b8568e14f
reserve: don't call busy/available when we are the owner
...
Also ignore acquired from our other devices.
2020-09-21 14:35:32 +02:00
Wim Taymans
cc470c048b
reserve: improve debug
2020-09-21 14:35:08 +02:00
Arun Raghavan
2c8e2f3a36
reserve: Fix check for whether acquire succeeded or not
...
We only deem success if we successfully became the primary name owner.
2020-09-19 11:02:04 +00:00
Arun Raghavan
272624fe83
alsa-monitor: Don't ignore device reservation failure
...
We were ignoring the reservation status, which is incorrect as we might
not have succeeded in grabbing the device.
2020-09-19 11:02:04 +00:00
Arun Raghavan
2acfa0ee10
alsa-monitor: Lower our device reservation priority
...
For now, let's lower our priority in device reservation below that of
PulseAudio (which currently uses a priority of 0), so that it takes
priority while contending for the same device.
2020-09-19 11:02:04 +00:00
Wim Taymans
8ee07c3c66
policy-node: always boost default node priority
...
Make sure the default node as the highest priority.
Fixes a problem with default nodes not being selected when their
priority happens to be too low (bluetooth devices)
2020-09-17 12:35:33 +02:00
Wim Taymans
30dfe16c52
media-session: destroy errored links
...
When a link we create is in error, destroy it.
2020-09-14 20:19:44 +02:00
Sanchayan Maity
f4a949dc3a
examples: media-session: Conform to XDG base directory spec
...
Currently pipewire-media-session uses ~/.pipewire-media-session for
storing configuration. Use home directory as specified by XDG base
directory specification viz. XDG_CONFIG_HOME and fall back to using
a default of $HOME/.config as per the spec if XDG_CONFIG_HOME is not
set or empty. Also in addition, all cases are now handled the same
and always end up using "%s/.config/pipewire-media-session".
If neither XDG_CONFIG_HOME or HOME are set, fall back to the earlier
approach.
Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/271
Signed-off-by: Sanchayan Maity <sanchayan@asymptotic.io>
Fixes !298
2020-09-09 17:51:30 +02:00
Wim Taymans
b6e78f5577
improve debug
2020-09-03 11:14:58 +02:00
Wim Taymans
dd0f4c7295
policy-node: only send PortConfig on audio nodes
...
0.2 version don't handle this correctly.
Possibly fixes #270
2020-09-02 14:25:11 +02:00
Wim Taymans
1e2d5e6837
policy-node: force channel setup of target node
...
When we are switching to a target node, force a downmix to the
target channel layout if we can. Don't try to upmix for now and
don't try to mix when the dont-mix flag is set.
2020-08-19 11:53:07 +02:00
Wim Taymans
d878843c2b
policy-node: keep the original node format
2020-08-19 11:26:51 +02:00
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
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
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
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
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
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
Wim Taymans
4b42639541
metadata: only emit signal when metadata changed
2020-08-12 18:59:59 +02:00
Wim Taymans
a0777d7806
policy-node: only set peer when we actually linked something
2020-08-07 10:50:30 +02:00
Wim Taymans
46b8b67ee6
policy-node: small cleanup
...
to keep the orinal node around if we want to do something with it
later
2020-08-06 17:58:42 +02:00