Commit graph

3664 commits

Author SHA1 Message Date
Wim Taymans
d8bac82e72 improve logging
Remove some harmless warnings from the log
Remove some excessive info logging
2020-02-21 11:09:34 +01:00
Wim Taymans
a528189d26 slave -> follower
We use master/follower terminology everywhere.
2020-02-21 10:47:32 +01:00
Wim Taymans
bdeeebfdd4 enable and fix -Werror=suggest-attribute=format 2020-02-20 18:20:04 +01:00
Wim Taymans
020ac545a8 0.3.0 2020-02-20 15:33:31 +01:00
Wim Taymans
c9a6f97364 make libpulse-simple symlinks for developement 2020-02-20 15:04:44 +01:00
Jan Koester
1facf8ed48 added simple api to pipewire pulseaudio wrapper 2020-02-20 13:38:59 +01:00
George Kiagiadakis
0bff0e345f audioconvert: disable monitor port logic if both sides are in dsp mode
There is a use case where you may want to use audioconvert with
both input & output sides configured in dsp mode, for altering
the stream volume. When it is configured like that, the
IS_MONITOR_PORT macro wrongly thinks that all output ports except
the first one are monitor ports, originating in the merger instead
of the splitter.

This change fixes that and it also completely disables exposing
monitor ports, even if they are enabled, when both sides are in
dsp mode (fmt_input_port_info() also uses the same macro to check
if the monitor ports are to be exposed)
2020-02-20 12:34:42 +00:00
Wim Taymans
2a3bf485e7 pw-dot: rename lightgreen to palegreen
lightgreen does not seem to exist for me as a color, dot complains.
2020-02-20 13:28:34 +01:00
Wim Taymans
01934297bd fix compilation warning 2020-02-20 12:03:16 +01:00
Wim Taymans
18590b7e0e 0.2.97 2020-02-19 20:24:51 +01:00
Wim Taymans
d3634aca7e media-session: rework device reservation
Monitor the device reservation objects and mark the device available.
Don't select nodes from devices that are not available.
Acquire the device reservation when a device starts.
Release the device reservation when we suspend the device again.
2020-02-19 18:15:57 +01:00
Wim Taymans
11086f23ea pod: add and use reserve_bytes helper 2020-02-19 11:02:00 +01:00
Wim Taymans
cc1ed84f9f midi: simplify some things 2020-02-19 10:48:16 +01:00
Wim Taymans
7df66cd6ad pw-cat: keep our own time
Don't try to use the time from the io_position, it is updated in
the RT thread and might be slightly wrong for our purposes.
2020-02-19 10:19:59 +01:00
Wim Taymans
ea911f2e3f tweak buffers a little
JACK can handle 2 buffers at most, make the default buffer allocator
allocate 2 buffers when no params are given.
Prefer 2 buffers, it allows some form of async fill/consume
2020-02-19 10:17:00 +01:00
Wim Taymans
ddcb08a98a pw-cat: read midi file from memory
mmap the midi file and read from memory. Simplifies some things and
allows us to potentially parse from the RT thread later.
2020-02-19 09:58:47 +01:00
Wim Taymans
632c8440f8 builder: pass NULL to _raw to reserve memory 2020-02-19 09:57:57 +01:00
Wim Taymans
2a487d5fdb filter: implement filter with Step
Implement filter between Step and Range as if the Step were a
range, ignoring the step value for now.
2020-02-18 18:04:05 +01:00
Wim Taymans
b3d94cde87 jack: fix stride of midi
Midi has a stride of 1
Error when the number of buffers is too big
2020-02-18 18:03:30 +01:00
Wim Taymans
1f3cb3d207 jack: fix invalid unlink
Don't unlink the mix->link when freeing, it is only linked when
in the free pool.

Protect against invalid number of buffers that could corrupt our
state.
2020-02-18 17:37:02 +01:00
Wim Taymans
463b9e4e29 buffers: handle -ENOENT
enum_param should return -ENOENT when the param is not known.
When negotiating buffers handle -ENOENT. This means the port does
not know about the property and we should assume anything is fine
so just use the filter from the first port.
2020-02-18 17:34:41 +01:00
Wim Taymans
b6a6d1f0bb pw-cat: fix tempo changes
Use time in seconds as event timestamp.
Apply tempo from the new events, keep track of elapsed time and
time since tempo change to get the right time.
Skip metadata midi in pw-cat.
2020-02-18 16:13:35 +01:00
Wim Taymans
fe616e38d8 pw-cat: add midi support 2020-02-18 13:38:26 +01:00
Wim Taymans
427a6316d3 stream: also call process when queue is empty
When we just picked a buffer from the queue and it is now empty,
call the process method to fill up the queue again or else we
won't have a buffer for the next wakeup.
2020-02-18 13:38:25 +01:00
Wim Taymans
e6c3619521 jack: don't try to consume port without data
Or else we handle old data.
2020-02-18 13:38:25 +01:00
Wim Taymans
1239009d30 stream: add port properties
Set the port DSP property when dealing with midi.
2020-02-18 10:50:53 +01:00
Wim Taymans
9bd21d6c18 man: improve man pages a little 2020-02-18 10:36:28 +01:00
Wim Taymans
319df9fce9 pw-cat: add option to set resampler quality 2020-02-14 20:34:08 +01:00
Wim Taymans
75e14ecadc resample: tweak resample qualities a little 2020-02-14 20:23:15 +01:00
Wim Taymans
621f6ca10b resample: reset props first, then override 2020-02-14 20:22:55 +01:00
Wim Taymans
dbd483cb46 resample: add resample.quality property 2020-02-14 20:19:47 +01:00
Wim Taymans
3fab544d3d resample: add quality property 2020-02-14 20:16:50 +01:00
Wim Taymans
0023aac9b9 resample: add some more qualities
Clamp quality to available qualities.
0 is a valid quality
2020-02-14 18:00:49 +01:00
Wim Taymans
484d211119 spa-resample: quality 0 is a valid value. 2020-02-14 16:55:37 +01:00
Wim Taymans
046f41c31c test: fix number of queued samples
The number of queued samples is twice the delay.
2020-02-14 10:52:21 +01:00
Wim Taymans
6603fab405 spa-resample: flush last samples
Use 0 samples to flush out the last samples from the resampler.
2020-02-14 09:50:49 +01:00
Wim Taymans
039f6751e1 resample: fix delay reporting 2020-02-14 09:50:35 +01:00
Wim Taymans
5df1c5ae40 resample-native: fix phase shift 2020-02-13 20:41:14 +01:00
Wim Taymans
7267a6bc34 resample: remove old debug variable 2020-02-13 20:11:39 +01:00
Wim Taymans
83f2e890ad tools: add generic resampler tool
Add a tool that can convert the sample rate of an input file and
write it to an output file. This tool can be used to test the
resampler.
2020-02-13 16:46:03 +01:00
Wim Taymans
761119f640 resample: fix start position of new samples
When we finished processing the history it might be possible that we
need to skip some samples from the input. Implement this by adding
a start offset for the samples in the buffer.
2020-02-13 16:43:06 +01:00
Wim Taymans
0a26c478f7 pw-cat: small cleaups
Set endianness correctly
Move setup of output file format outside of sample format function.
2020-02-13 09:51:25 +01:00
Wim Taymans
192fee98a4 fmtconvert: suggest 2 buffers by default
When running pw_stream with async process, we need an extra buffer
to compensate for the thread switch.
2020-02-13 09:47:19 +01:00
Wim Taymans
5e71a01e8d pw-cat: fix setup of defaults
In record mode, setup the parameters before we open.
2020-02-13 08:59:41 +01:00
Wim Taymans
dfdbec1303 node: improve debug of params
List the param id and the name
2020-02-12 17:58:22 +01:00
Wim Taymans
fe85a3b817 pw-cat: refactor a bit
Try to keep the sndfile code in one place
2020-02-12 17:57:42 +01:00
Wim Taymans
e5bdb04b3a pass data around instead of resource
Avoids method calls to get the userdata from a resource
2020-02-12 16:32:55 +01:00
Wim Taymans
b79e63cded device: fix call to enum_params, we need to pass data 2020-02-12 16:29:22 +01:00
Wim Taymans
e72129b9ca device: fix data pointer for subscribe_params 2020-02-12 16:24:31 +01:00
Wim Taymans
495dc7c3af device: implement subscribe_params
Also add subscribe params for the device, like for Node and Port.
2020-02-12 16:07:10 +01:00