Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75fa6f02 authored by jasmine cha's avatar jasmine cha Committed by Gerrit - the friendly Code Review server
Browse files

audio: porting MAXXAUDIO

  - use effect module to monitor stream's volume
  - the control(maxxaudio) monitors active device and
    changed volume from HAL, and send audio calibration
    to acdb via acdb_loader.
  - support specific USB headset

  Enabled function:
  - LR channels swap
  - load external tuning table for volume preset feature

Bug: 74360112
Test: manual effect test, usb headset test
Change-Id: I9b35436d6abebcfa250beb4857dfa0be9248f2b5
(cherry picked from commit 270b7762c1c6c7b69400ba28a2ea2bed7af1906a)
parent 22e4910d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -488,6 +488,11 @@ ifeq ($(strip $(AUDIO_FEATURE_ENABLED_SND_MONITOR)), true)
    LOCAL_SRC_FILES += audio_extn/sndmonitor.c
endif

ifeq ($(strip $(AUDIO_FEATURE_ENABLED_MAXX_AUDIO)), true)
    LOCAL_CFLAGS += -DMAXXAUDIO_QDSP_ENABLED
    LOCAL_SRC_FILES += audio_extn/maxxaudio.c
endif

ifeq ($(strip $(AUDIO_FEATURE_ENABLED_GCOV)),true)
    LOCAL_CFLAGS += --coverage -fprofile-arcs -ftest-coverage
    LOCAL_CPPFLAGS += --coverage -fprofile-arcs -ftest-coverage
+627 −0

File added.

Preview size limit exceeded, changes collapsed.

+37 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef MAXXAUDIO_H_
#define MAXXAUDIO_H_

#ifndef MAXXAUDIO_QDSP_ENABLED
#define audio_extn_ma_init(platform)                                      (0)
#define audio_extn_ma_deinit()                                            (0)
#define audio_extn_ma_set_state(adev, type, vol, active)                  (false)
#define audio_extn_ma_set_device(adev, usecase)                           (0)
#define audio_extn_ma_set_parameters(adev, param)                         (0)
#define audio_extn_ma_supported_usb()                                     (false)
#else
void audio_extn_ma_init(void *platform);
void audio_extn_ma_deinit();
bool audio_extn_ma_set_state(struct audio_device *adev, int stream_type, float vol, bool active);
void audio_extn_ma_set_device(struct audio_device *adev, struct audio_usecase *usecase);
void audio_extn_ma_set_parameters(struct audio_device *adev, struct str_parms *parms);
bool audio_extn_ma_supported_usb();
#endif /* MAXXAUDIO_QDSP_ENABLED */

#endif /* MAXXAUDIO_H_ */
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@

#include "sound/compress_params.h"
#include "sound/asound.h"
#include "audio_extn/maxxaudio.h"

#ifdef DYNAMIC_LOG_ENABLED
#include <log_xml_parser.h>
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#include "edid.h"
#include "sound/compress_params.h"
#include "sound/msmcal-hwdep.h"
#include "maxxaudio.h"

#ifdef DYNAMIC_LOG_ENABLED
#include <log_xml_parser.h>
Loading