diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2017-01-14 01:40:12 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2017-02-04 17:22:08 +0100 |
commit | 1245c5fe61f6ca8e1980a33a8b8f7ea4322829fd (patch) | |
tree | 117ae10a7d6489070321dc2d5d790daa71f7921b /apps/plugin.h | |
parent | d052f13999a53e440975e0192c67c8a42c75e4ea (diff) |
Implement speaker enable/disable on jack (un)plug
The implementation is not very complicated but there are a few things worth
noting. There was a previous "speaker enable" setting but it was a boolean.
I decided to replace it with a choice setting that has 2 options (on, off)
if headphones cannot be detect on this target, or 3 options (on, off, auto)
if we can detect headphones. This will break the old setting on target that
cannot detect jack but it makes the code more uniform and avoid maintaining
two settings with more #ifdef. The third option (auto) uses the LANG_AUTO
text, which I think is clear enough (disable speaker on jack plug).
In order to avoid code duplication (both in apps and firmware), I decided to
keep the audiohw_enable_speaker function as-is: it takes a boolean and doesn't
care about the speaker policy. I introduced a new audio_enable_speaker that
takes directly the mode (which follows the setting encoding): 0=off, 1=on
and 2=auto. This way one calls audio_enable_speaker and it changes the speaker
once to reflect the request mode. The apps code then uses this function in the
places where it makes sense: on setting load, setting change and jack (un)plug
event.
Change-Id: I027873f698eb4bc365d7c02b515297806355d9e2
Diffstat (limited to 'apps/plugin.h')
-rw-r--r-- | apps/plugin.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/apps/plugin.h b/apps/plugin.h index f781f60350..c96c4ac899 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -160,12 +160,12 @@ void* plugin_get_buffer(size_t *buffer_size); #define PLUGIN_MAGIC 0x526F634B /* RocK */ /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 233 +#define PLUGIN_API_VERSION 234 /* update this to latest version if a change to the api struct breaks backwards compatibility (and please take the opportunity to sort in any new function which are "waiting" at the end of the function table) */ -#define PLUGIN_MIN_API_VERSION 233 +#define PLUGIN_MIN_API_VERSION 234 /* plugin return codes */ /* internal returns start at 0x100 to make exit(1..255) work */ |