Wim Taymans
84eed9ef6f
pw-cat: use none as default latency for record
...
Don't force the record latency to the large latency we use for playback
(100ms) but set it to none, which means use defaults.
2021-01-08 16:30:57 +01:00
Wim Taymans
4440ede41c
bluez5: add SBC XQ support with a config option
2021-01-08 13:00:44 +01:00
Wim Taymans
9a03f8769e
pw-cli: handle unquoted strings
...
Use parse_string for everything else to use it as a string value.
Make it possible to use short name for the param.
so now you can do:
pw-cli set-param 55 Props '{ channelVolumes: [ 0.3, 0.3 ], channelMap: [ FR,FL ] }'
2021-01-08 12:23:02 +01:00
Wim Taymans
1084306f4d
disable i18n stuff, something doesn't work on bots
2021-01-08 11:04:03 +01:00
Wim Taymans
ef6bb2195a
pw-dump: dump all objects
...
Dump all objects, not only the ones for which we have a class.
2021-01-08 10:51:37 +01:00
Wim Taymans
3c2794dcc9
add i18n support
2021-01-08 10:26:46 +01:00
Wim Taymans
deb3fa1d9b
media-session: handle device events
...
The object config event should set props on the object.
2021-01-07 17:30:10 +01:00
Wim Taymans
c430b1de58
jack: move monitor ports after playback ports
...
Enumerate monitor ports after their playback ports, like how
jack does this.
See #527
2021-01-05 15:38:52 +01:00
Wim Taymans
bad9a36a84
rtkit: set nice-level to -11 by defaukt
...
To mimic pulseaudio.
2021-01-05 12:33:41 +01:00
Wim Taymans
962bf4d897
media-session: clean proxy and handle in destroy
...
After we called destroy on the handle and proxy we should not
try to access them anymore so we set them to NULL.
See #534
2021-01-05 10:05:30 +01:00
Pauli Virtanen
b76bcdc70d
pulse-server: NULL means default only if id==INVALID
...
The default values also only apply for sources/sinks which have
defaults.
2021-01-04 23:54:48 +02:00
Nicolai Syvertsen
7a82be3361
pw-top: Fallback to app name if no node name/desc exists
2021-01-04 19:26:44 +00:00
Wim Taymans
518365e350
pulse-server: fix module arg parsing
...
Parse the module arguments according to the pulseaudio syntax,
not our own syntax (which requires "" around a , delimter). Fixes
audio.position=FL,FR argument.
See #527
2021-01-04 17:25:28 +01:00
Wim Taymans
0bf7b07d91
pulse-server: improve warning
2021-01-02 20:37:44 +01:00
Wim Taymans
b4f359ed77
media-session: ensure unique node names
...
Fixes #525
2021-01-02 20:07:27 +01:00
Wim Taymans
498b4bd080
media-session: ensure unique device.name
...
See #525
2021-01-02 20:00:03 +01:00
columbarius
e871b761fe
examples: only announce SPA_DATA_MemPtr
2021-01-01 21:12:00 +01:00
columbarius
f1ad7e2486
filter: Add mappable dataTypes to SPA_PARAM_BUFFERS_dataType if PW_FILTER_PORT_MAP_BUFFERS is set for inputs
...
This lets consumer just set SPA_DATA_MemPtr as their supported dataType and will add all by PW_STREAM_MAP_BUFFERS supported dataTypes, which are made available with the MemPtr API to the param
2021-01-01 21:12:00 +01:00
columbarius
9b7aa168cb
stream: Add mappable dataTypes to SPA_PARAM_BUFFERS_dataType if
...
PW_STREAM_MAP_BUFFERS is set for inputs
This lets consumer just set SPA_DATA_MemPtr as their supported dataType
and will add all by PW_STREAM_MAP_BUFFERS supported dataTypes, which
are made available with the MemPtr API to the param
2021-01-01 21:12:00 +01:00
columbarius
016287f8f2
filter: create mappable_dataTypes bitmask
2021-01-01 21:12:00 +01:00
columbarius
51a7690cd1
stream: create mappable_dataTypes bitmask
2021-01-01 21:12:00 +01:00
columbarius
7ad1ee0cec
examples: use dataType mask for consumers
...
Set the dataType mask to MemFd and MemPtr since we implemented the MemPtr API and get MemFd mapped by pipewire.
2021-01-01 21:12:00 +01:00
Wim Taymans
d99ac615b2
conf: remove extra object level
...
We can parse this without the extra object level.
Use 4 spaces per level
2020-12-31 21:45:36 +01:00
Wim Taymans
d3f314cf82
media-session: remove -p option
...
Place properties in the config file now.
2020-12-31 21:25:38 +01:00
Wim Taymans
d09cb1f05b
json: handle incomplete strings
...
If we run to the end of the string and the string is not closed,
assume it closed.
2020-12-31 17:16:32 +01:00
Wim Taymans
799bc13c85
json: set state on final bare string
...
When we run out of chars and are inside a bare string, set our state
so that the next round will continue instead of looping forever.
2020-12-31 17:07:03 +01:00
Wim Taymans
49d11acde0
daemon: rework config parsing
...
Replace config parsing for something more flexible based on json.
2020-12-31 16:44:35 +01:00
Wim Taymans
1bd90dc666
pipewire-pulse: escape the address string
...
It can contain special chars
2020-12-31 16:24:26 +01:00
Wim Taymans
0bf1aa8f45
media-session: load properties from config
2020-12-31 13:06:17 +01:00
Wim Taymans
85306917a2
media-session: try to load config from state dir first
...
First try to load conf from the user config directory and then from
the global config dir. Allows users to copy and modify a custom
config file.
2020-12-31 11:46:54 +01:00
Wim Taymans
20e9ec25be
media-session: use simplified syntax
...
Now sure about this, it looks better but it's less compatible.
2020-12-31 10:19:48 +01:00
Wim Taymans
2fd35488c7
properties: just use the parser in all cases
...
We can just use the json parser to parse the old key=val
syntax as well now.
2020-12-31 10:12:09 +01:00
Wim Taymans
f29bc42b4d
media-session: improve conf parsing
...
Just use parse_string to convert the value.
2020-12-31 10:11:10 +01:00
Wim Taymans
24c68b0067
media-session: add config files
...
Remove -e and -d options
Manage modules in media-session.conf
Add alsa-monitor.conf that can match node/device properties with
a regex and update properties on it. All previous configuration and
more cane be done with this.
2020-12-30 13:15:08 +01:00
Wim Taymans
cb8e627b1e
media-session: use new properties method to load state
2020-12-29 13:30:04 +01:00
Wim Taymans
923e82df27
properties: Expose _update_string() method
...
Refactor an internal method and expose as _update_string() to
update an existing properties structure with a string representation.
2020-12-29 13:15:54 +01:00
Georges Basile Stavracas Neto
56e2d6a3da
filter, stream: Fix error check for DMA-BUF buffers
...
When a buffer is of type SPA_DATA_DmaBuf, the 'data' field
will be NULL - we instead have to check if the file descriptor
is valid. The current code, however, always checks if the
data is NULL, which gives a false positive for DMA-BUF buffers,
signaling an error when there is none.
Fix that by also checking if the buffer type is MemPtr together
with the NULL check of the 'data' field.
2020-12-28 15:58:38 -03:00
Ihor Kalnytskyi
8942f6b402
launch: avoid autostarting pipewire-pulse systemd units for root
...
Long story short, this is something pulseaudio has since 2017 [1]. If
pipewire-pulse is aiming to be a drop-in replacement, the same behaviour
is probably expected.
I noticed that without this line I hit some issues with systemd socket
activation. In fact, it does not work properly at all. It probably has
something to do with the fact that pipewire-pulse is started for GDM
session and is somehow propagated down to my own user session.
[1] 24928d6b6f
2020-12-28 13:35:41 +01:00
Gabriel Ebner
ad9d485d1b
gst: set node.name and node.description based on client-name property
2020-12-26 10:11:42 +01:00
Wim Taymans
921aba9edf
media-session: fix help
...
Use enabled and disabled options from the implementation so that we
can parse them in help.
2020-12-25 19:47:34 +01:00
Wim Taymans
f28fb692a4
pw-top: handle io
2020-12-25 16:35:38 +01:00
Wim Taymans
ae8f8b25f6
pw-top: add new tool
...
Uses ncurses to display all drivers and nodes with their latency,
error count and DSP usage.
2020-12-25 16:33:54 +01:00
Gabriel Ebner
7bdcfb6383
pw-cat: report delay
2020-12-23 19:13:29 +00:00
Wim Taymans
d7a2b569e4
alsa-monitor: make no-auto-port/profile instead
...
auto-port and auto-profile are enabled by default so make a no-auto
version to disable.
2020-12-22 13:12:12 +01:00
Wim Taymans
a8937413e6
acp: add options to disable profile and port switching
...
See #498
2020-12-22 13:08:14 +01:00
Pauli Virtanen
09265e116e
media-session: accept multiple -p, -e, and -d command-line arguments
...
Combine arguments together if given multiple times, instead of using the
last one. Useful, since pipewire.conf appears to not do quotes.
Fixes !348
2020-12-22 12:47:34 +01:00
Wim Taymans
461e3db741
tests: fix some leaks
...
See #497
2020-12-21 20:07:02 +01:00
Wim Taymans
5804dd3f9b
properties: fix leak with NULL or empty key
...
See #497
2020-12-21 19:48:55 +01:00
Wim Taymans
62954e14c3
node: improve profiler
...
Make a new complete event and use it instead of the start event
Use the start event at the start of the cycle
Make the profiler also log incomplete graph cycles
2020-12-20 20:37:21 +01:00
Wim Taymans
f630dd1a3b
node: improve debug
...
Add duration/rate/position in warning
2020-12-20 20:37:21 +01:00