Peter Hutterer
95a84e797a
treewide: replace !strcmp() with spa_streq()
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Peter Hutterer
7697ed0757
treewide: replace strcmp() == 0 with spa_streq()
...
This change is only done in source files for now, header files will be done
separately.
2021-05-18 22:10:27 +10:00
Wim Taymans
02decd9fba
alsa: pause/resume when entering/exiting freewheel
...
When we start freewheeling, pause the device and resume when we
finish freewheel.
In freewheel mode, just discard samples in the sink and produce
silence in the source.
2021-05-07 11:51:22 +02:00
Wim Taymans
efc497a38a
spa: make a new FREEWHEEL clock flag
...
When freewheeling, the clock is going faster than real time.
When freewheeling, skip samples in alsa sink/source.
2021-05-07 09:03:34 +02:00
Wim Taymans
80ce2c94ac
alsa: add start-delay parameters to sink
...
The start-delay adds extra silence to the buffer before starting the
playback. The idea is to have more time to adapt to the device
startup and set the timer more accurately.
See #983 , #431
2021-03-29 13:20:14 +02:00
Wim Taymans
8e590df92f
spa: improve info parsing
...
Make info parsing a bit easier to read by assigning the key and
value to temporary variables.
Improve the parsing of channelmap using json parser to make it
support more cases.
Add a unit test for channelmap parsing options.
2021-03-18 18:40:56 +01:00
Wim Taymans
c8804c3d6d
context: make a new node.max-latency property
...
node.latency also influences the pipeline latency in that it can
push the latency above the default value.
node.max-latency, instead, is only used to clamp the final latency
of the pipeline.
2021-03-03 13:27:48 +01:00
Wim Taymans
1dfa36d77b
alsa: reconfigure max latency based on buffer size
...
We can't ever support a latency larger than half the buffer size.
Take a fourth of the buffer size to have some extre headroom.
See #724
2021-03-02 10:34:41 +01:00
Wim Taymans
f7d756460e
alsa: add option to use device channel map instead of default
...
See #461
2021-02-25 21:16:16 +01:00
Wim Taymans
ecd1d3e1d7
Move node.pause-on-idle setting to config files
...
So that we can configure it.
Add some more docs to the config file
2021-02-08 17:19:47 +01:00
Wim Taymans
73896bfa83
alsa: rework batch handling a bit
...
By default, use a 512 period for batch and use 512 headroom
Add a property to disable special batch handling.
2021-01-21 17:14:51 +01:00
Wim Taymans
d9a63dc69f
alsa: disable pause-on-idle by default
...
snd_pcm_drop() causes pops and cracks. It is better to just let the
sink consume silence until it gets suspended.
2021-01-18 11:13:48 +01:00
Wim Taymans
482f96a644
alsa: add option to disable mmap access mode
2021-01-15 15:44:22 +01:00
Wim Taymans
7347b5ef05
alsa: add api.alsa.headroom setting
...
Can be used to tweak the extra distance kept between the hardware
and software pointers when reading and writing.
See #289
2021-01-14 17:10:05 +01:00
Wim Taymans
18b5199d44
alsa: add read/write access mode
...
Add support for read/write access mode when mmap is not available.
See #526
2021-01-05 17:48:09 +01:00
Wim Taymans
87292432b7
alsa: add option to configure period-size
...
api.alsa.period-size can be set to something else than 1024 with
this config option.
2021-01-05 12:44:10 +01:00
Wim Taymans
4b076549f7
alsa: allow override of channel map
2020-12-28 14:24:59 +01:00
Wim Taymans
7768a87a0b
alsa: make it possible to fix format
2020-12-09 20:33:57 +01:00
Wim Taymans
4e7be858e4
node: Add ParamBegin/End
...
Use these commands to mark the begin and end of a series of Param
enumerations and configuration, like when doing format negotiation. The
idea is that the device can remain open while we do this.
Use this in adapter when negotiating a format.
2020-12-09 17:10:52 +01:00
Wim Taymans
42dd52c7fe
acp: clean up card object
...
Fixes #369
2020-11-09 15:01:07 +01:00
Wim Taymans
5a98a9b1cd
alsa: reload alsa configuration
...
Fixes #332
2020-11-05 10:00:25 +01:00
Wim Taymans
1bf6dead10
alsa: add option to force a samplerate
2020-09-16 15:14:26 +02:00
Wim Taymans
2b0b44edc0
alsa: add option do use chmap from alsa, disable by default
...
This should be more in line with what PulseAudio does and so lead
to less surprises.
See #289
2020-09-14 20:19:44 +02:00
Wim Taymans
8168dfdbc1
alsa-pcm: allow setting number of channels
...
Allow passing the number of channels when creating a device to
restrict the negotiated channels.
2020-07-01 12:54:27 +02:00
Wim Taymans
f65d71dd5b
alsa: support planar formats
2020-07-01 11:43:25 +02:00
Wim Taymans
a528189d26
slave -> follower
...
We use master/follower terminology everywhere.
2020-02-21 10:47:32 +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
f391353c7f
Make interface types a string
...
This is more in line with wayland and it allows us to create new
interfaces in modules without having to add anything to the type
enum. It also removes some lookups to map type_id to readable
name in debug.
2019-12-19 13:36:04 +01:00
Wim Taymans
feb8dd3a34
Add include of keys.h
2019-11-21 09:34:08 +01:00
Wim Taymans
2fa97daa24
add some constants for max samples
2019-10-24 12:35:00 +02:00
Wim Taymans
e10a74785c
pcm: don't complain on Suspend
2019-10-22 12:20:29 +02:00
Wim Taymans
2e3608a34f
Improve some debug
2019-10-18 21:54:44 +02:00
Wim Taymans
c8ffcaaefe
plugins: just check the data pointer
...
We don't need to look at the data type, we just just be happy when
the data pointer is filled in.
2019-10-16 12:23:42 +02:00
Wim Taymans
6e0ffb0c47
flags: change flag macros
...
SPA_FLAG_CHECK -> SPA_FLAG_IS_SET
SPA_FLAG_UNSET -> SPA_FLAG_CLEAR
Add SPA_FLAG_UPDATE
2019-10-02 18:00:42 +02:00
Wim Taymans
db341a6450
improve properties on node and port
...
Rename some alsa filenames.
2019-09-23 20:51:34 +02:00