- moved platform dependend code into scope its respective #ifdef
- killed one useless 'goto' with great pleasure
- introduced duplicate code to preserve behavior (fallthrough case)
Setting the JACK_NO_AUDIO_RESERVATION environment variable let one skip the
audio reservation bits.
The main use case is a system-wide jackd promiscuous instance launched at boot
time. In such a case no session bus is available, and reservation doesn't
really makes sense anyway.
The cycle counting clock is no longer supported. For backwards
compatibility with scripts, allow the user to request the cycle clock on
the command line, but use the system clock instead.
Cross-ported from jackd1.
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.
The constant was introduced when the mode parameter of the JackEngine
constructor was added in aab13501f4.
Then in 6253344da6 the parameter
was exposed through the control api, but with different default
value.
This commit changes the value to match the default of the control api
parameter.