Wim Taymans
505f4c14b6
Makefile: set mixer and profile paths
2020-08-03 08:14:32 +02:00
Wim Taymans
2116b4d10a
uninstalled: add some comments to variables
2020-08-02 20:18:03 +02:00
Wim Taymans
edb3968c5c
docs: some small fixes and updates
2020-08-02 20:14:04 +02:00
Gleb Popov
be19e45ee1
Workaround subtle problem with FreeBSD CI.
2020-08-02 20:13:54 +02:00
Wim Taymans
407ea74513
don't use qsort_r, it's not implemented everywhere
...
Fixes #260
2020-08-02 12:50:56 +02:00
Wim Taymans
0b12cc96cc
pulse: remove metadata store
...
We don't actually need to store all the metadata, we just need to
track the default sink and source property and store the value.
2020-07-31 15:47:14 +02:00
Wim Taymans
f2cc0e6723
media-session: add some debug for enum-param
2020-07-31 15:21:39 +02:00
Wim Taymans
5bdd65e066
device: pass original seq in async reply
...
When we get an async reply from the implementer, use the original
seq from the caller in the reply.
Fixes !287
2020-07-31 15:19:45 +02:00
Wim Taymans
5e51cbe48e
media-session: improve param enumeration
...
Don't use subscribe, enum is more manageable.
Use user data field to check for changes.
Only enumerate readable params.
Enum all node params.
2020-07-31 13:59:25 +02:00
Wim Taymans
f231392093
pulse: improve param enumeration
...
Use user data field in param to check for changes and only
perform a clear+enum when it changed.
2020-07-31 13:57:19 +02:00
Wim Taymans
47ce374636
pulse: refactor param enumeration
2020-07-31 13:33:28 +02:00
Julian Bouzas
c388df1cf3
bluez5: include profile classes when doing enum profile
2020-07-31 10:53:51 +00:00
Wim Taymans
6f2e274b15
protocol: add a few more options for XDG_RUNTIME_DIR
...
PIPEWIRE_CORE can be used to specify a server name.
PIPEWIRE_REMOTE can be used to specify what server name to
connect to.
Either use the absolute path of the name to create and connect
to a server, or use a relative path. For a relative path, the
server name will be completed by prefixing the following paths
in order:
PIPEWIRE_RUNTIME_DIR environment variable,
XDG_RUNTIME_DIR environment variable,
HOME environment variable,
USERPROFILE environment variable,
home directory as stored in the password database.
Fixes #259
2020-07-31 12:46:58 +02:00
Wim Taymans
5f40bc6d4e
gst: support VideoCrop meta
...
Convert the VideoCrop metadata to GStreamer metadata.
2020-07-31 11:44:46 +02:00
Wim Taymans
6fd373ac83
examples: add support for YUV data
2020-07-31 11:44:20 +02:00
Wim Taymans
a5f85deabe
pulse: also use PIPEWIRE_LATENCY as a fallback
2020-07-30 18:23:23 +02:00
Wim Taymans
df76501d39
impl-node: update driver stats as well
...
If we have an underrun but are managed by another driver, also update
the driver stats.
2020-07-30 18:22:33 +02:00
Wim Taymans
aee95e76bb
pulse: use the right sample spec
2020-07-30 18:22:03 +02:00
Wim Taymans
c7d7dd91f8
permission: add M permission
...
The M permission is needed to set metadata on an object.
2020-07-30 16:35:14 +02:00
Wim Taymans
91d4806611
permission: add some helpers
...
Add PW_PERM_ALL as a shortcut for all permissions
Add PW_PERMISSION_FORMAT and PW_PERMISSION_ARGS to nicely format
permissions.
2020-07-30 16:26:29 +02:00
Wim Taymans
f5e78196c4
pulse: check that we have access to change metadata
2020-07-30 16:23:13 +02:00
Wim Taymans
8db9a2741b
metadata: only allow setting metadata on objects we can see
...
Allow a client to only set metadata on objects that it has
read access to.
2020-07-30 15:30:13 +02:00
Wim Taymans
bd8b239621
client: add function to check permissions of a client
2020-07-30 15:16:30 +02:00
Wim Taymans
a5ec68e61c
metadata: only set default name when not already set
2020-07-30 14:28:11 +02:00
Wim Taymans
ba8522aac9
metadata: we need W permission to set and clear properties
2020-07-30 14:27:35 +02:00
Wim Taymans
2b3a58ed13
jack: improve client name
...
Only append app name and node name when they are different
Use / to separate app name from node name because : is used to
separate client name from port name.
2020-07-30 12:56:20 +02:00
Wim Taymans
2e95f7dd85
jack: improve metadata callbacks
...
Only emit callbacks when something changed.
When setting a value, first update the local store. This triggers
the emit from the calling thread (as expected by jack clients) and
when the update arrives from the server, it will not emit the callback
anymore because the value didn't change.
2020-07-30 12:11:24 +02:00
Wim Taymans
f888c58b83
jack: fix client uuid
2020-07-30 12:10:46 +02:00
Wim Taymans
24755afee9
pulse: use format from node if available
...
And fall back to some defaults otherwise.
2020-07-29 14:42:29 +02:00
Wim Taymans
18b4aee677
Parse format param and store in node
2020-07-29 14:29:03 +02:00
Wim Taymans
0d6bbaa7e1
policy-node: only configure devices when active
...
Wait until a node is active before we attempt to configure it or
else we don't yet have a format to configure it with.
2020-07-29 12:20:24 +02:00
Wim Taymans
d2452e1340
acp-device: remove sources when destroyed
...
Or we end up polling wrong fds in an infinite loop.
2020-07-29 12:19:33 +02:00
Wim Taymans
e32a7a8d65
make some errors into debug
...
With the debug and return value we can delay writing error messages
in the log until we really need to.
2020-07-29 11:30:11 +02:00
Wim Taymans
55bef12cda
pulse: take queued data into account when asking for more
...
Don't use always ask for the maximum amount of data in the
write_callback but subtract the queued amount of data from it or else
we will queue too much and cause huge lag.
Fixes #258
2020-07-29 09:49:06 +02:00
Wim Taymans
c04d57d5d5
pulse: fix signedness warning
2020-07-28 16:53:13 +02:00
Wim Taymans
229fad4691
0.3.8
2020-07-28 15:20:04 +02:00
Wim Taymans
1d7ca5bdae
add udev rules so we don't rely on pulseaudio
2020-07-28 13:11:17 +02:00
Wim Taymans
eaf7606e3f
acp: pass udev PROFILE_SETS to acp device
2020-07-28 13:00:45 +02:00
Wim Taymans
e478ba7e34
alsa: be safer when parsing device string
2020-07-28 12:51:33 +02:00
Wim Taymans
154f981f97
Add mixer paths and profile-sets as well
...
So we don't have to rely on pulseaudio installed ones
2020-07-28 12:30:32 +02:00
Wim Taymans
a2de3b0873
policy-node: add default video source metadata
2020-07-28 11:17:36 +02:00
Wim Taymans
9e8851e0ae
policy-node: do downmix in monitor streams
...
Monitor streams usually have 1 channel so ask for all monitored
channels to be downmixed.
Don't try to configure video or unknown streams
2020-07-28 10:50:00 +02:00
Wim Taymans
cb91e9c536
stream: improve flags
2020-07-28 10:49:33 +02:00
Wim Taymans
a96fcf5c19
policy-node: rework node configuration
...
Add a configure stage to the node where the PortConfig is
determined.
Wait until we link a stream and then configure the node with the
portconfig of the peer.
Configure devices with the their best portconfig by enumerating
the formats.
2020-07-28 10:21:01 +02:00
Wim Taymans
3f33c9c81d
acp: sync with latest
2020-07-28 10:16:47 +02:00
Wim Taymans
6184c0fe32
keys: add stream to avoid remixing channels
2020-07-28 10:16:04 +02:00
Wim Taymans
e35586cd15
media-session: link MONO/UNKNOWN channels only once
...
Try to only link the MONO and UNKNOWN input ports once
2020-07-27 17:41:52 +02:00
Wim Taymans
6e2d3feb07
doc: clarify version field in events
2020-07-27 16:47:30 +02:00
Wim Taymans
ca5836cdf4
alsa: fix delay parameter
...
We need to keep twice the delay of samples around. Fixes capture
with resampling.
2020-07-27 16:22:17 +02:00
Wim Taymans
8f3771a56c
alsa-pcm: also follow resampler insize when resampling
...
Use the input size of the resampler as the amount of samples to
read when we are resampling.
2020-07-27 15:57:27 +02:00