diff options
| author | 2019-02-27 17:00:01 +0000 | |
|---|---|---|
| committer | 2019-02-27 17:00:01 +0000 | |
| commit | 5d38dc3f6cc25eef90052440dce05ab10cad17de (patch) | |
| tree | 7bee317bf3eaad80b148a1c09d706746871dc125 | |
| parent | b610eccf3c83dd39e82db937974bf17298c2799e (diff) | |
| parent | 66ef06aa1f105c962dc3a715a80b9c3e0537dbc0 (diff) | |
Merge "soundtrigger JNI: fix AudioFormat channel mask"
| -rw-r--r-- | core/jni/android_hardware_SoundTrigger.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/core/jni/android_hardware_SoundTrigger.cpp b/core/jni/android_hardware_SoundTrigger.cpp index 8a280343e731..c7805ea12f02 100644 --- a/core/jni/android_hardware_SoundTrigger.cpp +++ b/core/jni/android_hardware_SoundTrigger.cpp @@ -221,12 +221,23 @@ void JNISoundTriggerCallback::onRecognitionEvent(struct sound_trigger_recognitio jobject jAudioFormat = NULL; if (event->trigger_in_data || event->capture_available) { + jint channelMask = (jint)audio_channel_mask_get_bits(event->audio_config.channel_mask); + jint channelIndexMask = (jint)AUDIO_CHANNEL_NONE; + + switch (audio_channel_mask_get_representation(event->audio_config.channel_mask)) { + case AUDIO_CHANNEL_REPRESENTATION_INDEX: + channelIndexMask = channelMask; + channelMask = (jint)AUDIO_CHANNEL_NONE; + break; + default: + break; + } jAudioFormat = env->NewObject(gAudioFormatClass, gAudioFormatCstor, audioFormatFromNative(event->audio_config.format), event->audio_config.sample_rate, - inChannelMaskFromNative(event->audio_config.channel_mask), - (jint)0 /* channelIndexMask */); + channelMask, + channelIndexMask); } if (event->type == SOUND_MODEL_TYPE_KEYPHRASE) { |