Wim Taymans
f269cb9e51
Merge pull request #2 from ford-prefect/master
...
pulse: Deal with header consitification in PulseAudio 13.0
2019-09-27 09:49:11 +02:00
Arun Raghavan
8666bcac65
pulse: Deal with header consitification in PulseAudio 13.0
...
The 13.0 release included changes to constify various parameters in the
public headers, which breaks our implementation. This adds an optional
const qualifier based on the version we're compiling against to deal
with that. There are some warnings caused by bad annotations upstream
which should be fixed separately.
2019-09-27 07:45:15 +05:30
George Kiagiadakis
5183e1d4b4
bluez-monitor: fix usage of pw_properties_setf without a format string
...
Otherwise compilation will fail with certain -Wformat-security flags
Add the flag to the warnings.
2019-09-26 17:26:23 +02:00
Wim Taymans
56cf3196a2
Update NEWS
2019-09-26 16:53:05 +02:00
Wim Taymans
8b69fbb27a
Merge branch 'work' into master
2019-09-26 16:48:17 +02:00
Wim Taymans
14c11c0fe4
Release 0.2.7
2019-09-26 15:58:39 +02:00
Wim Taymans
312864d9e9
protocol-native: attempt to remove socket
...
After we grab the lockfile we should remove the socket when it
exists so that we can bind again. This should solve startup
problems after a crash, which left the socket around and caused
bind failures.
2019-09-26 15:41:03 +02:00
Wim Taymans
44840c4a55
alsa-seq: add some comments
2019-09-26 15:17:00 +02:00
Wim Taymans
f539b42a03
alsa: improve midi
...
Add some debug
Ignore ports without buffers.
2019-09-26 11:57:25 +02:00
Wim Taymans
274d616fa6
jack: implement midi mixing
2019-09-26 11:56:25 +02:00
Wim Taymans
8d472befaa
alsa-seq: Improve connection setup
2019-09-25 10:48:25 +02:00
Wim Taymans
efe3aba608
adapter: put port channel in port name if possible
2019-09-25 10:44:40 +02:00
Wim Taymans
f0b3ed5257
alsa-seq: improve timings
...
Track the position of the clock instead of our own timer.
Implement stop.
2019-09-25 10:14:25 +02:00
Wim Taymans
387b281f5c
alsa-seq: use dll to track queue timer
...
Also increase timer resolution to get less jitter.
2019-09-24 17:23:39 +02:00
Wim Taymans
197d2b15b6
alsa-pcm: small cleanups
2019-09-24 17:23:01 +02:00
Wim Taymans
db341a6450
improve properties on node and port
...
Rename some alsa filenames.
2019-09-23 20:51:34 +02:00
Wim Taymans
8d8ef587f5
jack: improve properties
2019-09-23 20:50:12 +02:00
Wim Taymans
77e07e1948
improve properties on globals and ports
2019-09-20 13:28:06 +02:00
Wim Taymans
6756a3c8fc
monitor: remove monitor API and use device
...
Remove the monitor API, we can use the device API for it. Make sure
we support creating devices (like alsa) from another device (udev).
Use new object.id to store the object id in the object properties. Use
the port.id/node.id etc to make relations to other objects.
2019-09-20 13:04:14 +02:00
Wim Taymans
818fb9e904
alsa: add midi bridge
...
Add a node that exposes all midi input and output ports and converts to
and from PipeWire control streams.
2019-09-19 16:57:00 +02:00
Wim Taymans
ab0d1b7fad
alsa: cleanups
...
Avoid getting the clock time just for debug.
Improve time at startup.
2019-09-19 16:55:02 +02:00
Wim Taymans
b85b88b53d
jack: sort midi ports before audio ports
...
for compatibility reasons return the audio ports before the midi
ports. Most apps just try to link the first hw ports they see and
jack always lists the hw audio ports first.
2019-09-19 15:26:06 +02:00
Wim Taymans
d3c7acb137
iter: add helper to parse pod from memory region
2019-09-19 13:17:48 +02:00
Wim Taymans
322ccb452c
small cleanups
2019-09-19 13:17:30 +02:00
Wim Taymans
f777c04ea6
jack: only allow connection of same type
2019-09-19 13:16:42 +02:00
Wim Taymans
59bf522ce1
system: use the same bits as POLL and EPOLL
...
Use the same bits for the io mask as POLL and EPOLL so that we
can avoid conversions.
2019-09-19 13:15:38 +02:00
Wim Taymans
49a5e97d69
format: add application/control media type
...
Add a new application/control media type that can be used to negotiate
control streams between ports.
2019-09-16 21:09:52 +02:00
Wim Taymans
cd2c8ceb31
jack: use buffers for midi
...
Place the midi in application/control buffers instead of control
IO.
2019-09-16 21:08:35 +02:00
Wim Taymans
565f0475f0
tests: update test
2019-09-16 21:08:03 +02:00
Wim Taymans
4381e79632
control: clean up some control includes
...
Remove control from channelmix, it's not used
Add control metadata
Add OSC control type
Improve some docs
2019-09-16 15:49:46 +02:00
Wim Taymans
8b85cc225e
rename HAVE/NEED_BUFFER -> HAVE/NEED_DATA
...
It is more generic and works with control-only ports as well
2019-09-16 12:55:23 +02:00
Wim Taymans
1d2db89b9c
jack: update for HAVE/NEED_BUFFER -> HAVE/NEED_DATA
2019-09-16 12:53:53 +02:00
Wim Taymans
d648ea4ad3
control: don't fail on async port_set_io
2019-09-10 18:50:28 +02:00
Wim Taymans
4bd1e9a9ff
jack: init midi buffer correctly
...
Init the midi event buffer at the right memory.
Add some more debug.
2019-09-10 18:49:19 +02:00
Wim Taymans
2d8bce7479
names: add vulkan compute source factory name
2019-09-10 12:38:25 +02:00
Wim Taymans
7fd6d6d820
node: revert previous commit
...
Always add work to the work queue, some code relies on the fact that
the state change continuation happens from next iteration of the
mainloop.
Don't warn when destroying the work queue and there are still items in
it, this is ok.
2019-09-10 12:27:29 +02:00
Wim Taymans
80ba0b2dcf
node: only put async state changes to work queue
2019-09-10 12:13:26 +02:00
Wim Taymans
ad086e3349
jack: don't use private flag
...
Some input buffers are also used as output buffers in case of
feedback.
2019-09-10 11:56:25 +02:00
Wim Taymans
9a202272f2
remote: always close the fd in connect_fd
...
Not closing the fd causes leaks in existing apps. It's probably better
to always close it and let apps deal with that by using dup or similar.
Make gst sink and source dup the fd before connect_fd().
Fixes #181
2019-09-10 11:08:38 +02:00
Wim Taymans
c9855763c3
remote: always close the fd in connect_fd
...
Not closing the fd causes leaks in existing apps. It's probably better
to always close it and let apps deal with that by using dup or similar.
Make gst sink and source dup the fd before connect_fd().
Fixes #181
2019-09-10 11:05:38 +02:00
Julian Bouzas
ddd2a97f7e
bluez: set bluez profile property when emitting node
...
We need to expose the bluetooth profile in the nodes so that external
applications know how to handle them.
2019-09-10 10:42:11 +02:00
Wim Taymans
3142d3b979
mem: add private mapping flag
2019-09-10 09:59:31 +02:00
Wim Taymans
35bf6bfa5c
jack: map buffer readwrite and private for input
...
qtractor writes to the input buffer so make them writable but with
a private mapping.
2019-09-10 09:58:36 +02:00
Wim Taymans
b9e517ee67
pipewire: add PIPEWIRE_LOG environment variable
...
PIPEWIRE_LOG will redirect logging to a file.
2019-09-10 09:44:05 +02:00
Wim Taymans
0fe7f9765d
link: use the port as the work-queue object
...
Use the port as the object/seq identifier of the defered work. This
way we can handle feedback links between the same node and identify
what port completed.
2019-09-10 09:42:23 +02:00
Wim Taymans
9c9bff8fe9
data-loop: add _wait function
...
Add function to wait for one iteration of the loop. This can be used
by specialized implementations of the data loop, like jack.
2019-09-09 17:17:03 +02:00
Wim Taymans
2736c227a1
jack: use our own per client loop, like jack.
2019-09-09 17:16:18 +02:00
Wim Taymans
7f7ed1e039
jack: implement some more functions
2019-09-09 17:15:52 +02:00
Wim Taymans
3340f3cacc
core: don't touch unassigned nodes that don't need_driver
2019-09-05 17:06:49 +02:00
Wim Taymans
729dd1360a
alsa: don't set rate, it's set by the app
2019-09-05 17:05:20 +02:00