fix alsa driver parameter order
commit3b12bcf1861a640361af3591e53fb28b68d68c91
authorNedko Arnaudov <nedko@arnaudov.name>
Thu, 24 May 2012 17:53:30 +0000 (24 20:53 +0300)
committerNedko Arnaudov <nedko@arnaudov.name>
Sat, 26 May 2012 14:07:57 +0000 (26 17:07 +0300)
tree925475f256e3fc9c1bd1170e97d20b4c22f7891c
parent7c6c99846eb9d1a7fe3bfa7ddfafd251d97587d3
fix alsa driver parameter order

Parameter order doesnt matter for jackd but does for jackdbus. jackd
sets parameters (via Control API) in the order they were specified at
commandline. Thus, the jackd user is expected to specify parameters in
correct order. This is not good solution for jackdbus though. jackdbus
settings persistence in ~/.config/jack/jack.xml stores parameter in
the order they are defined by the driver. OTOH the D-Bus interface
itself suggests no particular order. For example the user can change
only one parameter via the jack_control tool. Other parameters either
have their default values or the ones that were previously set are
used.

The particular ordering problem this changeset aims to fix is that when
user specifies capture/playback device and device, the first one(s)
is/are ignored. This happens because the device parameter is set after
the capture/playback device parameters. The alsa then uses the string
from the device parameter for both capture and playback devices,
despite the user wish to override one or both of them.
linux/alsa/JackAlsaDriver.cpp