On failure, currently the jack thread exits without notifying the jackd.
So jackd is just waiting for the signals, unaware of the failure.
With this implementation, on error threads can post an event to jackd
notifying it to to exit.
(cherry picked from adit commit c430be1e33)
Change-Id: Ib484bb1e126f6bff0db76d44e6e036f92f5d8806
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
This would be required so that the polling concept can be used to wait
on signals as well as wait for events from the other threads.
(cherry picked from adit)
Change-Id: Ic7b8d4c816d601d4b5467ec9c2519f3c547ae59f
Signed-off-by: Laxmi Devi <Laxmi.Devi@in.bosch.com>
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
* Fix generation of client uuid
Signed-off-by: falkTX <falktx@falktx.com>
* Remove all client properties when removed; Cleanup a few things
Signed-off-by: falkTX <falktx@falktx.com>
* Make all uuid function arguments use jack_uuid_t type; Fix warnings
Signed-off-by: falkTX <falktx@falktx.com>
* Rework uuids to never be int, more cleanup
Signed-off-by: falkTX <falktx@falktx.com>
Descriptor initialization reduces risk of mismatch between array size
and element initialization. It also improves code readability by
separating the parameter descriptions separate from the code that
composes the enum constraint structures.
As a side effect this commit makes the self-connect-mode constraint
allocated in dedicated memory chunks, like others enum constraints.
It was introduced before the parameter was actually exposed.
The parameter is exposed through a char type in both jackd and
jackdbus, thus a mappnig was required.
This changeset removes the enum and makes the code simpler
at the expense of not allowing arbitrary chars as values.
As it is exposed and used in sessions, it is not arbitrary anyway.
The bug was present in the inital version of the code,
commit 606609f9b5
There was no memory corruption because while
jack_driver_param_value_enum_t is smaller by 72 bytes than
jack_driver_param_constraint_desc_t, for ranges of non-string values,
the last 124 bytes are not used.
This changeset is required for proper jackdbus handling of
parameters. jackd handling of parameters is improved by making
driver/internal parameters order on commandline irrelevant. E.g.
"jackd -d alsa -d hw:Intel,0 -P hw:Intel,3" should now give same
result as
"jackd -d alsa -P hw:Intel,3 -d hw:Intel,0".
The code used to create the driver parameter list in
jackctl_parameter_set_value(). Apart from the ordering problem,
the old implementation was not properly handling reset of
driver/internal parameters, because upon reset the parameter was not
removed from the set_parameters list which is supplied to
driver/internal.
This commit shifts driver/internal parameter list composition just
before it is needed. I.e master or slave driver open, switch master,
or internal load. The order of parameters is ensured to be the one
defined by the driver/internal.
jackd and jackdbus defaults values for parameters should match
realtime mode became default for jackd
in svn r3791 (git commit 2cbaece993)
this changeset moves the default to control api
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4461 0c269be4-1314-0410-8aa9-9f06e86f4224