If we get an error after receovering, ignore it and assume we filled
the buffer completely. We need to do this or otherwise we stop the
timer and audio stops.
When filtering parameters, return an error when something went
wrong as opposed to 0. This way we can see if there was an error
or just no parameters. Fail when there was an error negotiating
the buffer size because that means incompatible values.
The dataType parameter is a bitmask of allowed data types for the
buffer memory. Make the mask by or-ing all (1 << enum spa_data_type)
you accept/produce.
The audioconvert tool checks for sndfile dependency, which is missing in
case pw-cat option is disabled.
Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Whenever a param change was found, increment the user counter
of the spa_param_info. We can use this to detect changes in
individial param_info items without having to track them
ourselves.
The this field can be used by apps who keep a copy of the
spa_param_info. They can use it, for example, to keep a counter
with the amount of changes since last processed.
This small patch makes audiotestsrc work.
You will need to uncomment the following lines in pipewire.conf
add-spa-lib audiotestsrc audiotestsrc/libspa-audiotestsrc
create-object adapter node.name=my-test factory.name=audiotestsrc
If you use pw-record, use --list-targets to find the target id and
record using --target=<n>
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Don't load and use rt-kit by default because it can cause sigkill in
the app, which is not good when it happens in a compositor.
Make the module profile a comma-separated list of profiles and make
it possible to explicitly load rtkit as well.
load the rtkit profile as well in jack.
On NixOS all packages are installed into their own immutable prefix.
Because of this get_pkgconfig_variable will return a
path from within systemd's prefix and we cannot write to it.
By using define_variable we can replace the respective directory
to be from the paths from meson.
Don't use pthread_cancel by default to stop the data thread but
instead use an eventfd. pthread_cancel uses a signal and is not
nice to use in a library as it can cause strange crashes.
See #211