summaryrefslogtreecommitdiff
authoryang.xu <yang.xu@amlogic.com>2018-02-27 05:55:52 (GMT)
committer yang.xu <yang.xu@amlogic.com>2018-02-28 06:44:01 (GMT)
commit7111a9fd4f0d6fc4d4580fe1a7b4c8088e7af1d8 (patch)
tree87cc5b0c154a4817115b10e57969ee5ab343641f
parent27c3a82804ac14481f172369bcdb7a81068e43fc (diff)
downloadampere-7111a9fd4f0d6fc4d4580fe1a7b4c8088e7af1d8.zip
ampere-7111a9fd4f0d6fc4d4580fe1a7b4c8088e7af1d8.tar.gz
ampere-7111a9fd4f0d6fc4d4580fe1a7b4c8088e7af1d8.tar.bz2
tvserver: rm audio control to ref_out[1/1]
PD# 160738 mv audio control to patch panel Change-Id: I3068ade16ab2528349cf371fbf9d745b0dc39b1e
Diffstat
-rw-r--r--tv/tvserver/libtv/Android.mk46
-rw-r--r--tv/tvserver/libtv/audio/CAudioCustomerCtrl.cpp137
-rw-r--r--tv/tvserver/libtv/audio/CAudioCustomerCtrl.h40
-rw-r--r--tv/tvserver/libtv/audio/CTvAudio.cpp38
-rw-r--r--tv/tvserver/libtv/audio/CTvAudio.h85
-rw-r--r--tv/tvserver/libtv/audio/audio_alsa.cpp878
-rw-r--r--tv/tvserver/libtv/audio/audio_alsa.h138
-rw-r--r--tv/tvserver/libtv/audio/audio_effect.cpp147
-rw-r--r--tv/tvserver/libtv/audio/audio_effect.h37
-rw-r--r--tv/tvserver/libtv/tv/CTv.cpp2298
-rw-r--r--tv/tvserver/libtv/tv/CTv.h240
-rw-r--r--tv/tvserver/libtv/tvin/CTvin.cpp173
-rw-r--r--tv/tvserver/libtv/tvin/CTvin.h49
-rw-r--r--tv/tvserver/libtv/tvsetting/audio_cfg.cpp747
-rw-r--r--tv/tvserver/libtv/tvsetting/audio_cfg.h80
-rw-r--r--tv/tvserver/tvserver/DroidTvServiceIntf.cpp168
-rw-r--r--tv/tvserver/tvserver/TvService.cpp254
17 files changed, 16 insertions, 5539 deletions
diff --git a/tv/tvserver/libtv/Android.mk b/tv/tvserver/libtv/Android.mk
index 4ee13fa..9d9b925 100644
--- a/tv/tvserver/libtv/Android.mk
+++ b/tv/tvserver/libtv/Android.mk
@@ -27,12 +27,6 @@ LIB_TV_BINDER := $(LOCAL_PATH)/../../frameworks/libtvbinder
AM_LIBPLAYER_PATH := $(wildcard $(BOARD_AML_VENDOR_PATH)/frameworks/av/LibPlayer)
LIB_SQLITE_PATH := $(wildcard external/sqlite)
-#support android and amaudio
-BOARD_TV_AUDIO_TYPE := amaudio
-
-#support builtin and external
-BOARD_TV_AUDIO_AMAUDIO_LIB_TYPE := external
-
LOCAL_MODULE_TAGS := optional
@@ -68,11 +62,6 @@ LOCAL_SRC_FILES := \
tv/CTvEas.cpp \
tv/CTvRecord.cpp \
vpp/CVpp.cpp \
- audio/CTvAudio.cpp \
- audio/audio_effect.cpp \
- audio/audio_alsa.cpp \
- audio/CAudioCustomerCtrl.cpp \
- tvsetting/audio_cfg.cpp \
tvsetting/CTvSetting.cpp \
tvsetting/TvKeyData.cpp \
version/version.cpp \
@@ -89,7 +78,6 @@ LOCAL_SHARED_LIBRARIES := \
libmedia \
libtinyxml \
liblog \
- libaudioclient \
libbinder
LOCAL_SHARED_LIBRARIES += \
@@ -118,16 +106,6 @@ LOCAL_C_INCLUDES += \
endif
-ifeq ($(strip $(BOARD_TV_AUDIO_AMAUDIO_LIB_TYPE)), external)
- LOCAL_SHARED_LIBRARIES += libTVaudio
-endif
-
-ifeq ($(strip $(BOARD_ALSA_AUDIO)),tiny)
- LOCAL_SHARED_LIBRARIES += libtinyalsa
-else
- LOCAL_SHARED_LIBRARIES += libasound
-endif
-
LOCAL_STATIC_LIBRARIES += \
libz \
libtv_utils \
@@ -155,36 +133,12 @@ ifeq ($(TARGET_SIMULATOR),true)
LOCAL_CFLAGS += -DSINGLE_PROCESS
endif
-ifeq ($(strip $(BOARD_ALSA_AUDIO)),tiny)
- LOCAL_CFLAGS += -DBOARD_ALSA_AUDIO_TINY
-endif
-
-ifeq ($(strip $(BOARD_TV_AUDIO_TYPE)),amaudio)
- LOCAL_CFLAGS += -DCC_TV_AUDIO_TYPE_AMAUDIO=1
-endif
-
-ifeq ($(strip $(BOARD_TV_AUDIO_TYPE)),android)
- LOCAL_SRC_FILES += audio/audio_android.cpp
- LOCAL_CFLAGS += -DCC_TV_AUDIO_TYPE_ANDROID=1
-endif
-
LOCAL_C_INCLUDES += \
external/tinyxml \
$(LIB_TV_BINDER)/include \
$(LIB_SQLITE_PATH)/dist \
- system/media/audio_effects/include \
$(BOARD_AML_VENDOR_PATH)/frameworks/services/systemcontrol/PQ/include
-ifeq ($(strip $(BOARD_TV_AUDIO_AMAUDIO_LIB_TYPE)), external)
- LOCAL_C_INCLUDES += hardware/amlogic/audio/libTVaudio
-endif
-
-ifeq ($(strip $(BOARD_ALSA_AUDIO)),tiny)
- LOCAL_C_INCLUDES += external/tinyalsa/include
-else
- LOCAL_C_INCLUDES += external/alsa-lib/include
-endif
-
ifeq ($(wildcard hardware/amlogic/media),hardware/amlogic/media)
$(info "have hardware/amlogic/media")
AML_DEC_PATH := $(wildcard hardware/amlogic/media)
diff --git a/tv/tvserver/libtv/audio/CAudioCustomerCtrl.cpp b/tv/tvserver/libtv/audio/CAudioCustomerCtrl.cpp
deleted file mode 100644
index d41ab9a..0000000
--- a/tv/tvserver/libtv/audio/CAudioCustomerCtrl.cpp
+++ b/dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: c++ file
- */
-#define LOG_TAG "tvserver"
-#define LOG_TV_TAG "CAudioCustomerCtrl"
-
-#include "CAudioCustomerCtrl.h"
-#include <dlfcn.h>
-#include "CTvLog.h"
-#include "tvsetting/audio_cfg.h"
-
-CAudioCustomerCtrl::CAudioCustomerCtrl()
-{
- gExternalDacLibHandler = NULL;
- mpDacMuteFun = NULL;
- mpDacMainVolFun = NULL;
- mpDacBalanceFun = NULL;
- mpSetSourceTypeFun = NULL;
-}
-
-CAudioCustomerCtrl::~CAudioCustomerCtrl()
-{
- UnLoadExternalDacLib();
-}
-
-int CAudioCustomerCtrl::UnLoadExternalDacLib(void)
-{
- if (gExternalDacLibHandler != NULL) {
- dlclose(gExternalDacLibHandler);
- gExternalDacLibHandler = NULL;
- }
-
- mpDacMuteFun = NULL;
- mpDacMainVolFun = NULL;
- mpDacBalanceFun = NULL;
- mpSetSourceTypeFun = NULL;
-
- return 0;
-}
-
-int CAudioCustomerCtrl::LoadExternalDacLib(void)
-{
- char *error;
-
- LOGD("%s, entering...\n", __FUNCTION__);
-
- if (gExternalDacLibHandler != NULL) {
- return 0;
- }
-
- const char *config_value = GetAudExtDacLibPath();
- gExternalDacLibHandler = dlopen(config_value, RTLD_NOW);
- if (!gExternalDacLibHandler) {
- LOGE("%s, failed to load external dac lib (%s)\n", __FUNCTION__, config_value);
- goto Error;
- }
-
- mpDacMuteFun = (int(*)(int))dlsym(gExternalDacLibHandler, "HandleDacMute");
- if (mpDacMuteFun == NULL) {
- LOGE("%s, fail find fun mpDacMuteFun()\n", __FUNCTION__);
- goto Error;
- }
- mpDacMainVolFun = (int(*)(int))dlsym(gExternalDacLibHandler, "HandleDacMainVolume");
- if (mpDacMainVolFun == NULL) {
- LOGE("%s, fail find fun HandleDacMainVolume()\n", __FUNCTION__);
- goto Error;
- }
- mpDacBalanceFun = (int(*)(int))dlsym(gExternalDacLibHandler, "HandleDacBalance");
- if (mpDacBalanceFun == NULL) {
- LOGE("%s, fail find fun HandleDacBalance()\n", __FUNCTION__);
- goto Error;
- }
- mpSetSourceTypeFun = (int(*)(int))dlsym(gExternalDacLibHandler, "HandleAudioSourceType");
- if (mpSetSourceTypeFun == NULL) {
- LOGE("%s, fail find fun HandleAudioSourceType()\n", __FUNCTION__);
- goto Error;
- }
-
- return 0;
-
-Error: //
- mpDacMuteFun = NULL;
- mpDacMainVolFun = NULL;
- mpDacBalanceFun = NULL;
- mpSetSourceTypeFun = NULL;
-
- if (gExternalDacLibHandler != NULL) {
- dlclose(gExternalDacLibHandler);
- gExternalDacLibHandler = NULL;
- }
- return -1;
-}
-
-// 0 mute, 1 unmute
-int CAudioCustomerCtrl::SetMute(int mute)
-{
- int ret = LoadExternalDacLib();
- if (mpDacMuteFun != NULL) {
- ret = (*mpDacMuteFun)(mute);
- }
- return ret;
-}
-
-int CAudioCustomerCtrl::SetVolumeBar(int vol)
-{
- int ret = LoadExternalDacLib();
- if (mpDacMainVolFun != NULL) {
- LOGD("%s, call external dac lib HandleDacMainVolume (para = %d).\n", __FUNCTION__, vol);
- ret = (*mpDacMainVolFun)(vol);
- }
- return ret;
-}
-
-int CAudioCustomerCtrl::SetBlance(int balance)
-{
- int ret = LoadExternalDacLib();
- if (mpDacBalanceFun != NULL) {
- LOGD("%s, call external dac lib HandleDacBalance (para = %d).\n", __FUNCTION__, balance);
- ret = (*mpDacBalanceFun)(balance);
- }
- return ret;
-}
-
-int CAudioCustomerCtrl::SetSource(int source)
-{
- int ret = LoadExternalDacLib();
- if (mpSetSourceTypeFun != NULL) {
- LOGD("%s, call external dac lib HandleAudioSourceType (para = %d).\n", __FUNCTION__, source);
- ret = (*mpSetSourceTypeFun)(source);
- }
- return ret;
-}
diff --git a/tv/tvserver/libtv/audio/CAudioCustomerCtrl.h b/tv/tvserver/libtv/audio/CAudioCustomerCtrl.h
deleted file mode 100644
index e98fc82..0000000
--- a/tv/tvserver/libtv/audio/CAudioCustomerCtrl.h
+++ b/dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: header file
- */
-
-#ifndef __AUDIO_CUSTOMER_CTRL_H__
-#define __AUDIO_CUSTOMER_CTRL_H__
-
-typedef int (*TYPE_DacMute_FUN)(int mute_state);
-typedef int (*TYPE_DacMainVolume_FUN)(int vol);
-typedef int (*TYPE_DacBalance_FUN)(int balance_val);
-typedef int (*TYPE_AudioSourceType_FUN)(int source_type);
-
-class CAudioCustomerCtrl {
-public:
- static const int MUTE = 0;
- static const int UNMUTE = 1;
-
- CAudioCustomerCtrl();
- ~CAudioCustomerCtrl();
- int LoadExternalDacLib(void);
- int UnLoadExternalDacLib(void);
- int SendCmdToOffBoardCustomerLibExternalDac(int, int);
- int SetMute(int mute);
- int SetVolumeBar(int vol);
- int SetBlance(int balance);
- int SetSource(int source);
-
-private:
- void *gExternalDacLibHandler;
- TYPE_DacMute_FUN mpDacMuteFun;
- TYPE_DacMainVolume_FUN mpDacMainVolFun;
- TYPE_DacBalance_FUN mpDacBalanceFun;
- TYPE_AudioSourceType_FUN mpSetSourceTypeFun;
-};
-#endif
diff --git a/tv/tvserver/libtv/audio/CTvAudio.cpp b/tv/tvserver/libtv/audio/CTvAudio.cpp
deleted file mode 100644
index 559cd32..0000000
--- a/tv/tvserver/libtv/audio/CTvAudio.cpp
+++ b/dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: c++ file
- */
-
-#define LOG_TAG "tvserver"
-#define LOG_TV_TAG "CTvAudio"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <pthread.h>
-#include <fcntl.h>
-
-#include <android/log.h>
-#include <cutils/properties.h>
-
-#include "../tvsetting/CTvSetting.h"
-#include <tvutils.h>
-#include <CFile.h>
-#include "audio_effect.h"
-#include "CTvAudio.h"
-
-#include "CTvLog.h"
-
-CTvAudio::CTvAudio()
-{
-}
-
-CTvAudio::~CTvAudio()
-{
-}
-
diff --git a/tv/tvserver/libtv/audio/CTvAudio.h b/tv/tvserver/libtv/audio/CTvAudio.h
deleted file mode 100644
index 8e4672b..0000000
--- a/tv/tvserver/libtv/audio/CTvAudio.h
+++ b/dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: header file
- */
-
-#ifndef __TV_AUDIO_API_H__
-#define __TV_AUDIO_API_H__
-
-
-#include "tvsetting/audio_cfg.h"
-#include "audio_alsa.h"
-#include "audio_effect.h"
-#include <audio_amaudio.h>
-#include "CAudioCustomerCtrl.h"
-
-enum CC_AUDIO_SWITCH_STATUS {
- CC_SWITCH_OFF,
- CC_SWITCH_ON,
-};
-
-enum CC_AMAUDIO_OUT_MODE {
- CC_AMAUDIO_OUT_MODE_DIRECT,
- CC_AMAUDIO_OUT_MODE_INTER_MIX,
- CC_AMAUDIO_OUT_MODE_DIRECT_MIX,
-};
-
-static const int CC_SPDIF_MODE_PCM = 0;
-static const int CC_SPDIF_MODE_RAW = 1;
-
-static const int CC_MIN_SOUND_VOL = 0;
-static const int CC_MAX_SOUND_VOL = 100;
-static const int CC_DEF_SOUND_VOL = 10;
-static const int CC_MIN_SUPPERBASS_VOL = 0;
-static const int CC_MAX_SUPPERBASS_VOL = 100;
-static const int CC_DEF_SUPPERBASS_VOL = 50;
-
-static const int CC_DEF_BASS_TREBLE_VOL = 50;
-static const int CC_EQ_BASS_IND = 1;
-static const int CC_EQ_TREBLE_IND = 3;
-static const int CC_EQ_DEF_UI_MIN_GAIN = 0;
-static const int CC_EQ_DEF_UI_MAX_GAIN = 100;
-static const int CC_MIN_EQ_GAIN_VAL = -10;
-static const int CC_MAX_EQ_GAIN_VAL = 10;
-
-static const int CC_LUT_BUF_MASTER = 0;
-static const int CC_LUT_BUF_SUPPERBASS = 1;
-static const int CC_LUT_BUF_SIZE = 101;
-static const int CC_NO_LINE_POINTS_MAX_CNT = 101;
-
-
-enum CC_AUD_SOUND_MODE {
- CC_SOUND_MODE_START = 0,
- CC_SOUND_MODE_STD = 0,
- CC_SOUND_MODE_MUSIC,
- CC_SOUND_MODE_NEWS,
- CC_SOUND_MODE_THEATER,
- CC_SOUND_MODE_USER,
- CC_SOUND_MODE_END = CC_SOUND_MODE_USER
-};
-
-enum CC_AUD_EQ_MODE {
- CC_EQ_MODE_START = 0,
- CC_EQ_MODE_NOMAL = 0,
- CC_EQ_MODE_POP,
- CC_EQ_MODE_JAZZ,
- CC_EQ_MODE_ROCK,
- CC_EQ_MODE_CLASSIC,
- CC_EQ_MODE_DANCE,
- CC_EQ_MODE_PARTY,
- CC_EQ_MODE_BASS,
- CC_EQ_MODE_TREBLE,
- CC_EQ_MODE_CUSTOM,
- CC_EQ_MODE_END = CC_EQ_MODE_CUSTOM
-};
-
-class CTvAudio {
-public:
- CTvAudio();
- ~CTvAudio();
-};
-#endif //__TV_AUDIO_API_H__
diff --git a/tv/tvserver/libtv/audio/audio_alsa.cpp b/tv/tvserver/libtv/audio/audio_alsa.cpp
deleted file mode 100644
index a9dafd3..0000000
--- a/tv/tvserver/libtv/audio/audio_alsa.cpp
+++ b/dev/null
@@ -1,878 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: c++ file
- */
-
-#define LOG_TAG "tvserver"
-#define LOG_TV_TAG "CAudioAlsa"
-//#define LOG_NDEBUG 0
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <getopt.h>
-#include <pthread.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <math.h>
-#include <errno.h>
-#include <assert.h>
-#include <fcntl.h>
-#include <tinyalsa/asoundlib.h>
-#include "fbcutils/CFbcCommunication.h"
-#include <sys/poll.h>
-#include "tvsetting/audio_cfg.h"
-#include "audio_alsa.h"
-#include <cutils/properties.h>
-#include "CTvLog.h"
-#include "audio_amaudio.h"
-
-static const int DEFAULT_MAIN_DIGIT_LUT[] = {
- //
- 0, 40, 50, 60, 70, 87, 110, 120, 130, 140, // 0~9
- 150, 152, 155, 158, 161, 164, 167, 170, 173, 174, // 10~19
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, // 20~29
- 191, 191, 192, 193, 194, 195, 196, 196, 197, 197, // 30~39
- 198, 198, 198, 199, 199, 200, 200, 201, 201, 201, // 40~49
- 202, 202, 202, 203, 203, 203, 203, 204, 204, 204, // 50~59
- 205, 205, 205, 205, 206, 206, 206, 206, 206, 207, // 60~69
- 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, // 70~79
- 208, 208, 208, 208, 208, 208, 208, 208, 208, 209, // 80~89
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, // 90~99
- 209, // 100
-};
-
-static const int DEFAULT_SUPPER_BASS_DIGIT_LUT_BUF[] = {
- //
- 0, 122, 123, 124, 125, 126, 127, 128, 129, 130, // 0~9
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, // 10~19
- 141, 142, 143, 144, 145, 147, 147, 148, 148, 149, // 20~29
- 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, // 30~39
- 154, 155, 155, 156, 156, 157, 157, 158, 158, 159, // 40~49
- 160, 160, 160, 160, 161, 161, 161, 161, 162, 162, // 50~59
- 162, 163, 163, 163, 163, 164, 164, 164, 165, 165, // 60~69
- 165, 165, 166, 166, 166, 167, 168, 169, 170, 171, // 70~79
- 173, 174, 175, 176, 177, 179, 180, 181, 182, 183, // 80~89
- 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, // 90~99
- 197 // 100
-};
-
-CAudioAlsa::CAudioAlsa()
-{
- int card_id;
- card_id = get_aml_card();
- LOGV("[%s:%d] card_id:%d\n", __FUNCTION__, __LINE__, card_id);
- mpMixer = mixer_open(card_id);
-
- card_id = get_USB_Audio_card();
- LOGV("[%s:%d] usb card_id:%d\n", __FUNCTION__, __LINE__, card_id);
- mpUsbMixer = mixer_open(card_id);
- mMainVolumeGainVal = 0;
- mSupperBassVolumeGainVal = 0;
- ArrayCopy(mMainDigitLutBuf, DEFAULT_MAIN_DIGIT_LUT, CC_VOL_TRANS_LUT_BUF_SIZE);
- ArrayCopy(mSupperBassDigitLutBuf, DEFAULT_SUPPER_BASS_DIGIT_LUT_BUF, CC_VOL_TRANS_LUT_BUF_SIZE);
-}
-
-CAudioAlsa::~CAudioAlsa()
-{
- if (NULL != mpMixer) {
- mixer_close(mpMixer);
- }
-
- if (NULL != mpUsbMixer) {
- mixer_close(mpUsbMixer);
- }
-}
-
-int CAudioAlsa::get_aml_card()
-{
- int card = -1, err = 0;
- int fd = -1;
- char read_buf[512], *pd = NULL;
- static const char *const SOUND_CARDS_PATH = "/proc/asound/cards";
- fd = open(SOUND_CARDS_PATH, O_RDONLY);
- if (fd < 0) {
- LOGE("ERROR: failed to open config file %s error: %d\n", SOUND_CARDS_PATH, errno);
- close(fd);
- return -EINVAL;
- }
- memset(read_buf, 0x0, 512);
- err = read(fd, read_buf, 512);
- if (fd < 0) {
- LOGE("ERROR: failed to read config file %s error: %d\n", SOUND_CARDS_PATH, errno);
- close(fd);
- return -EINVAL;
- }
- pd = strstr(read_buf, "AML");
- card = *(pd - 3) - '0';
- close(fd);
- return card;
-}
-
-int CAudioAlsa::AudioControlSetValue(int val_count, int data_buf[], char *match_names)
-{
- struct mixer_ctl *pctl;
- unsigned int expected_val_count;
- unsigned int value_index;
-
- if (NULL == mpMixer) {
- LOGE("[%s:%d] Failed to open mixer\n", __FUNCTION__, __LINE__);
- goto err_exit;
- }
-
- pctl = mixer_get_ctl_by_name(mpMixer, match_names);
- if (NULL == pctl) {
- LOGE("[%s:%d] Failed to get mixer control for:%s\n", __FUNCTION__, __LINE__, match_names);
- goto err_exit;
- }
- expected_val_count = mixer_ctl_get_num_values(pctl);
- if (expected_val_count != (unsigned int)val_count) {
- LOGE("[%s:%d] val_count != expected_val_count\n", __FUNCTION__, __LINE__);
- goto err_exit;
- }
- for (value_index = 0; value_index < expected_val_count; value_index++) {
- if (mixer_ctl_set_value(pctl, value_index, data_buf[value_index]) != 0) {
- LOGE("[%s:%d] Failed to set value:%d\n", __FUNCTION__, __LINE__, value_index);
- goto err_exit;
- }
- }
- return 0;
-err_exit:
- return -1;
-}
-
-int CAudioAlsa::AudioControlGetValue(int val_count, int ret_buf[], char *match_names)
-{
- struct mixer_ctl *pctl;
- unsigned int expected_val_count;
- unsigned int value_index;
-
- if (NULL == mpMixer) {
- LOGE("[%s:%d] Failed to open mixer\n", __FUNCTION__, __LINE__);
- goto err_exit;
- }
- pctl = mixer_get_ctl_by_name(mpMixer, match_names);
- if (NULL == pctl) {
- LOGE("[%s:%d] Failed to get mixer control for:%s\n", __FUNCTION__, __LINE__, match_names);
- goto err_exit;
- }
- expected_val_count = mixer_ctl_get_num_values(pctl);
- if (expected_val_count != (unsigned int)val_count) {
- LOGE("[%s:%d] val_count != expected_val_count\n", __FUNCTION__, __LINE__);
- goto err_exit;
- }
- for (value_index = 0; value_index < expected_val_count; value_index++) {
- ret_buf[value_index] = mixer_ctl_get_value(pctl, value_index);
- }
- return 0;
-err_exit:
- return -1;
-}
-
-int CAudioAlsa::get_USB_Audio_card()
-{
- int card = -1, err = 0;
- int fd = -1;
- char read_buf[512], *pd = NULL;
- static const char *const SOUND_CARDS_PATH = "/proc/asound/cards";
- fd = open(SOUND_CARDS_PATH, O_RDONLY);
- if (fd < 0) {
- LOGE("ERROR: failed to open config file %s error: %d\n", SOUND_CARDS_PATH, errno);
- close(fd);
- return -EINVAL;
- }
- memset(read_buf, 0x0, 512);
- err = read(fd, read_buf, 512);
- if (fd < 0) {
- LOGE("ERROR: failed to read config file %s error: %d\n", SOUND_CARDS_PATH, errno);
- close(fd);
- return -EINVAL;
- }
- pd = strstr(read_buf, "Receiver");
- if (pd == NULL) {
- LOGE("ERROR: failed to read config file %s error: %d\n", SOUND_CARDS_PATH, errno);
- close(fd);
- return -EINVAL;
- }
-
- card = *(pd - 3) - '0';
- close(fd);
- return card;
-}
-
-int CAudioAlsa::HandleUSBAudioControlValue(int val_count, int data_buf[], int match_count, char **match_names)
-{
-
- struct mixer_ctl *pctl;
- unsigned int expected_val_count;
- unsigned int match_index;
- unsigned int value_index;
- char card_id_str[9] = {0};
-
- if (NULL == mpUsbMixer) {
- LOGE("[%s:%d] Failed to open mixer\n", __FUNCTION__, __LINE__);
- goto err_exit;
- }
-
- for (match_index = 0; match_index < (unsigned int)match_count; match_index++) {
- pctl = mixer_get_ctl_by_name(mpUsbMixer, match_names[match_index]);
- if (NULL == pctl) {
- LOGE("[%s:%d] Failed to get mixer control for:%s\n", __FUNCTION__, __LINE__, match_names[match_index]);
- goto err_exit;
- }
- expected_val_count = mixer_ctl_get_num_values(pctl);
- if (expected_val_count != (unsigned int)val_count) {
- LOGE("[%s:%d] val_count != expected_val_count\n", __FUNCTION__, __LINE__);
- goto err_exit;
- }
- for (value_index = 0; value_index < expected_val_count; value_index++) {
- if (mixer_ctl_set_value(pctl, value_index, data_buf[value_index]) != 0) {
- LOGE("[%s:%d] Failed to set value:%d\n", __FUNCTION__, __LINE__, value_index);
- goto err_exit;
- }
- }
- }
-
- return 0;
-err_exit:
- return -1;
-}
-
-int CAudioAlsa::CheckVolume(int digit_vol, int digit_min __unused, int digit_max __unused,
- int hd_min, int hd_max)
-{
- if (digit_vol < hd_min) {
- return hd_min;
- } else if (digit_vol > hd_max) {
- return hd_max;
- }
-
- return digit_vol;
-}
-
-int CAudioAlsa::GetTwoChannelVolume(int vol_buf[],
- int l_min_vol __unused, int l_max_vol __unused,
- int r_min_vol __unused, int r_max_vol __unused,
- char *match_names,
- int hd_min __unused, int hd_max __unused)
-{
- vol_buf[0] = 0;
- vol_buf[1] = 0;
- return AudioControlGetValue(2, vol_buf, match_names);
-}
-
-int CAudioAlsa::GetLineInMaxVol()
-{
- return 127;
-}
-
-int CAudioAlsa::GetLineOutMaxVol()
-{
- return 255;
-}
-
-#define CC_GET_ALSA_CTL_AUDIO_IN_SOURCE_NAME (0)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_PGA_IN_GAIN (1)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_ADC_DIGITAL_CAPTURE_VOLUME_NAME (2)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_DAC_DIGITAL_PLAYBACK_VOLUME_NAME (3)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_LEFT_LINEIN_SEL_NAME (4)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_RIGHT_LINEIN_SEL_NAME (5)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_LINEIN_CAPTURE_VOLUME_NAME (6)
-#define CC_GET_ALSA_CTL_INTERNAL_DAC_LINEOUT_PLAYBACK_VOLUME_NAME (7)
-#define CC_GET_ALSA_CTL_I2S_MUTE_NAME (8)
-#define CC_GET_ALSA_CTL_SPDIF_MUTE_NAME (9)
-#define CC_GET_ALSA_CTL_HW_RESAMPLE_NAME (10)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_MASTER_VOLUME_NAME (11)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_CH1_VOLUME_NAME (12)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_CH2_VOLUME_NAME (13)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_CH3_VOLUME_NAME (14)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_CH1_SWITCH_NAME (15)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_CH2_SWITCH_NAME (16)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_CH3_SWITCH_NAME (17)
-#define CC_GET_ALSA_CTL_EXTERNAL_DAC_EQ_MODE_NAME (18)
-#define CC_GET_ALSA_CTL_PCM_PLAYBACK_VOLUME (19)
-#define CC_GET_ALSA_CTL_PCM_PLAYBACK_SWITCH (20)
-#define CC_GET_ALSA_CTL_SETOUTPUT_SWAP (21)
-#define CC_GET_ALSA_CTL_AUDIO_IN_SWITCH (22)
-#define CC_SET_AUDIO_ARC_SWITCH (23)
-
-static char gG9AlsaNames[32][48] = {
- {"Audio In Source"},//0
- {"PGA IN Gain"},//1
- {"ADC Digital Capture Volume"},//2
- {"DAC Digital Playback Volume"},//3
- {"Linein right switch"},//4
- {"Linein left switch"},
- {"ADC Digital Capture Volume"},
- {"DAC Digital Playback Volume"},
- {"Audio i2s mute"},//8
- {"Audio spdif mute"},
- {"Hardware resample enable"},//10
- {"AMP Master Volume"},
- {"AMP Ch1 Volume"},//12
- {"AMP Ch2 Volume"},
- {"AMP Ch3 Volume"},
- {"AMP Ch1 Switch"},
- {"AMP Ch2 Switch"},
- {"AMP Ch3 Switch"},//17
- {"AMP EQ Mode"},
- {"PCM Playback Volume"},
- {"PCM Playback Switch"},
- {"Output Swap"},
- {"AudioIn Switch"},//22
- {"HDMI ARC Switch"},
-};
-
-
-char *CAudioAlsa::GetAlsaControlName(int get_type)
-{
- return gG9AlsaNames[get_type];
-}
-
-
-int CAudioAlsa::SetAudioInSource(int source_type)
-{
- int set_val = 0;
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_AUDIO_IN_SOURCE_NAME);
- set_val = source_type;
- return AudioControlSetValue(1, &set_val, match_names);
-}
-
-int CAudioAlsa::GetAudioInSource(void)
-{
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_AUDIO_IN_SOURCE_NAME);
- int source_type = 0;
- AudioControlGetValue(1, &source_type, match_names);
- return source_type;
-}
-
-int CAudioAlsa::SetAudioInternalDacPGAInGain(int gain_l_val, int gain_r_val)
-{
- int GainBuf[2] = {0, 0};
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_PGA_IN_GAIN);
-
- GainBuf[0] = gain_l_val;
- GainBuf[1] = gain_r_val;
- if (gain_l_val < 0 || gain_l_val > 31) {
- GainBuf[0] = 16;
- }
- if (gain_r_val < 0 || gain_r_val > 31) {
- GainBuf[1] = 16;
- }
-
- return AudioControlSetValue(2, GainBuf, match_names);
-}
-
-int CAudioAlsa::GetAudioInternalDacPGAInGain(int *gain_l_val, int *gain_r_val)
-{
- int GainBuf[2] = {0, 0};
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_PGA_IN_GAIN);
-
- AudioControlGetValue(2, GainBuf, match_names);
-
- *gain_l_val = GainBuf[0];
- *gain_r_val = GainBuf[1];
-
- return 0;
-}
-
-int CAudioAlsa::SetAudioInternalDacADCDigitalCaptureVolume(int vol_l_val, int vol_r_val)
-{
- int VolumeBuf[2] = {0, 0};
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_ADC_DIGITAL_CAPTURE_VOLUME_NAME);
-
- VolumeBuf[0] = vol_l_val;
- VolumeBuf[1] = vol_r_val;
- if (vol_l_val < 0 || vol_l_val > 127) {
- VolumeBuf[0] = 82;
- }
- if (vol_r_val < 0 || vol_r_val > 127) {
- VolumeBuf[1] = 82;
- }
-
- return AudioControlSetValue(2, VolumeBuf, match_names);
-}
-
-int CAudioAlsa::GetAudioInternalDacADCDigitalCaptureVolume(int *vol_l_val, int *vol_r_val)
-{
- int VolumeBuf[2] = {0, 0};
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_ADC_DIGITAL_CAPTURE_VOLUME_NAME);
-
- AudioControlGetValue(2, VolumeBuf, match_names);
-
- *vol_l_val = VolumeBuf[0];
- *vol_r_val = VolumeBuf[1];
-
- return 0;
-}
-
-int CAudioAlsa::SetAudioInternalDacDACDigitalPlayBackVolume(int vol_l_val, int vol_r_val)
-{
- int VolumeBuf[2] = {0, 0};
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_DAC_DIGITAL_PLAYBACK_VOLUME_NAME);
-
- VolumeBuf[0] = vol_l_val;
- VolumeBuf[1] = vol_r_val;
- if (vol_l_val < 0 || vol_l_val > 255) {
- VolumeBuf[0] = 255;
- }
- if (vol_r_val < 0 || vol_r_val > 255) {
- VolumeBuf[1] = 255;
- }
-
- return AudioControlSetValue(2, VolumeBuf, match_names);
-}
-
-int CAudioAlsa::GetAudioInternalDacDACDigitalPlayBackVolume(int *vol_l_val, int *vol_r_val)
-{
- int VolumeBuf[2] = {0, 0};
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_DAC_DIGITAL_PLAYBACK_VOLUME_NAME);
-
- AudioControlGetValue(2, VolumeBuf, match_names);
-
- *vol_l_val = VolumeBuf[0];
- *vol_r_val = VolumeBuf[1];
-
- return 0;
-}
-
-int CAudioAlsa::SetInternalDacLineInSelectChannel(int line_in_number)
-{
- int tmp_ret = 0;
- char *match_names = NULL;
-
- if (line_in_number < 0 || line_in_number > 7) {
- return -1;
- }
-
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_LEFT_LINEIN_SEL_NAME);
- tmp_ret |= AudioControlSetValue(1, &line_in_number, match_names);
-
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_RIGHT_LINEIN_SEL_NAME);
- tmp_ret |= AudioControlSetValue(1, &line_in_number, match_names);
-
- return tmp_ret;
-}
-
-int CAudioAlsa::SetInternalDacLineInCaptureVolume(int l_vol, int r_vol)
-{
- int max_val = GetLineInMaxVol();
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_LINEIN_CAPTURE_VOLUME_NAME);
- int VolumeBuf[2];
-
- VolumeBuf[0] = CheckVolume(l_vol, 0, max_val, 0, max_val);
- VolumeBuf[1] = CheckVolume(r_vol, 0, max_val, 0, max_val);
-
- return AudioControlSetValue(2, VolumeBuf, match_names);
-}
-
-int CAudioAlsa::GetInternalDacLineInCaptureVolume(int vol_buf[])
-{
- int max_val = GetLineInMaxVol();
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_LINEIN_CAPTURE_VOLUME_NAME);
-
- return GetTwoChannelVolume(vol_buf, 0, max_val, 0, max_val, match_names, 0, max_val);
-}
-
-int CAudioAlsa::SetInternalDacLineOutPlayBackVolume(int l_vol, int r_vol)
-{
- int max_val = GetLineOutMaxVol();
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_LINEOUT_PLAYBACK_VOLUME_NAME);
- int VolumeBuf[2];
-
- VolumeBuf[0] = CheckVolume(l_vol, 0, max_val, 0, max_val);
- VolumeBuf[1] = CheckVolume(r_vol, 0, max_val, 0, max_val);
-
- return AudioControlSetValue(2, VolumeBuf, match_names);
-}
-
-int CAudioAlsa::GetInternalDacLineOutPlayBackVolume(int vol_buf[])
-{
- int max_val = GetLineOutMaxVol();
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_INTERNAL_DAC_LINEOUT_PLAYBACK_VOLUME_NAME);
-
- return GetTwoChannelVolume(vol_buf, 0, max_val, 0, max_val, match_names, 0, max_val);
-}
-
-int CAudioAlsa::SetAudioPcmPlaybackVolume(int vol)
-{
- if (get_USB_Audio_card() == -EINVAL) return 0;
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_PCM_PLAYBACK_VOLUME);
- return HandleUSBAudioControlValue(1, &vol, 1, &match_names);
-}
-
-int CAudioAlsa::SetAudioPcmPlaybackSwitch(int vol)
-{
- if (get_USB_Audio_card() == -EINVAL) return 0;
- char *match_names = GetAlsaControlName(CC_GET_ALSA_CTL_PCM_PLAYBACK_SWITCH);
- return HandleUSBAudioControlValue(1, &vol, 1, &match_names);
-}
-
-int CAudioAlsa::SetExternalDacChannelSwitch(int chan_ind, int switch_val)
-{
- char *match_names = NULL;
-
- if (chan_ind == 1) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_CH1_SWITCH_NAME);
- } else if (chan_ind == 2) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_CH2_SWITCH_NAME);
- } else if (chan_ind == 3) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_CH3_SWITCH_NAME);
- } else {
- return -1;
- }
-
- return AudioControlSetValue(1, &switch_val, match_names);
-}
-
-int CAudioAlsa::SetExternalDacChannelVolume(int chan_ind, int main_vol)
-{
- int tmp_ret = 0;
- char *match_names = NULL;
-
- if (chan_ind == 0) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_MASTER_VOLUME_NAME);
- } else if (chan_ind == 1) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_CH1_VOLUME_NAME);
- } else if (chan_ind == 2) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_CH2_VOLUME_NAME);
- } else if (chan_ind == 3) {
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_CH3_VOLUME_NAME);
- } else {
- return -1;
- }
-
- return AudioControlSetValue(1, &main_vol, match_names);
-}
-int CAudioAlsa::SetAudioSwitchIO(int value)
-{
- char *match_names = gG9AlsaNames[CC_GET_ALSA_CTL_AUDIO_IN_SWITCH];
-
- return AudioControlSetValue(1, &value, match_names);
-}
-int CAudioAlsa::SetOutput_Swap(int value)
-{
- char *match_names = gG9AlsaNames[CC_GET_ALSA_CTL_SETOUTPUT_SWAP];
-
- return AudioControlSetValue(1, &value, match_names);
-}
-
-int CAudioAlsa::SetExternalDacEQMode(int mode_val)
-{
- char *match_names = NULL;
-
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_EXTERNAL_DAC_EQ_MODE_NAME);
- return AudioControlSetValue(1, &mode_val, match_names);
-}
-
-int CAudioAlsa::SetI2SMute(int mute_status)
-{
- char *match_names = NULL;
-
- if (mute_status != CC_I2S_MUTE_ON && mute_status != CC_I2S_MUTE_OFF) {
- LOGE("%s, I2S mute value (%d) error!\n", __FUNCTION__, mute_status);
- return -1;
- }
-
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_I2S_MUTE_NAME);
- return AudioControlSetValue(1, &mute_status, match_names);
-}
-
-int CAudioAlsa::SetSPDIFMute(int mute_status)
-{
- int set_val = 0;
- char *match_names = NULL;
-
- if (mute_status == CC_AUDIO_MUTE) {
- set_val = CC_SPDIF_MUTE_ON;
- } else if (mute_status == CC_AUDIO_UNMUTE) {
- set_val = CC_SPDIF_MUTE_OFF;
- } else {
- return -1;
- }
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_SPDIF_MUTE_NAME);
- return AudioControlSetValue(1, &mute_status, match_names);
-}
-
-#define CC_SAMPLE_BUF_SIZE (32)
-
-enum CC_HW_RESAMPLE_TYPE {
- CC_HW_RESAMPLE_DISABLE,
- CC_HW_RESAMPLE_48K,
- CC_HW_RESAMPLE_44K,
- CC_HW_RESAMPLE_32K,
-};
-
-int CAudioAlsa::SetHardwareResample(int sr)
-{
- int i = 0, set_val = 0, tmp_val = 0;
- int diff_val = 0x7FFFFFFF, diff_ind = -1;
- char *match_names = NULL;
- int sample_buf[CC_SAMPLE_BUF_SIZE] =
- {32000, 44100, 48000, 88200, 96000, 176400, 192000, -1};
-
- if (sr < 0) {
- set_val = 0;
- } else {
- for (i = 0; i < CC_SAMPLE_BUF_SIZE; i++) {
- if (sample_buf[i] < 0) {
- break;
- }
-
- if (sample_buf[i] >= sr) {
- tmp_val = sample_buf[i] - sr;
- } else {
- tmp_val = sr - sample_buf[i];
- }
-
- if (tmp_val <= diff_val) {
- diff_val = tmp_val;
- diff_ind = i;
- }
- }
-
- if (diff_ind < 0) {
- set_val = 0;
- } else {
- set_val = diff_ind + 1;
- }
- }
-
- LOGD("%s, set_val = %d.\n", __FUNCTION__, set_val);
- match_names = GetAlsaControlName(CC_GET_ALSA_CTL_HW_RESAMPLE_NAME);
- return AudioControlSetValue(1, &set_val, match_names);
-}
-
-int CAudioAlsa::SetMixerBypassSwitch(int switch_val)
-{
- char match_names[48] = "Output Mixer Bypass Switch" ;
- int ctl_buf[2];
-
- if (switch_val != 0 && switch_val != 1) {
- return -1;
- }
-
- ctl_buf[0] = switch_val;
- ctl_buf[1] = switch_val;
-
- return AudioControlSetValue(2, ctl_buf, match_names);
-}
-
-int CAudioAlsa::GetMixerBypassSwitch(void)
-{
- char match_names[48] = "Output Mixer Bypass Switch" ;
- int ctl_buf[2];
-
- AudioControlSetValue(2, ctl_buf, match_names);
-
- return ctl_buf[0];
-}
-
-int CAudioAlsa::SetMixerDacSwitch(int switch_val)
-{
- char match_names[48] = "Output Mixer DAC Switch" ;
- int ctl_buf[2];
-
- if (switch_val != 0 && switch_val != 1) {
- return -1;
- }
-
- ctl_buf[0] = switch_val;
- ctl_buf[1] = switch_val;
-
- return AudioControlSetValue(2, ctl_buf, match_names);
-}
-
-int CAudioAlsa::GetMixerDacSwitch(void)
-{
- int ctl_buf[2];
- AudioControlGetValue(2, ctl_buf, (char *)"Output Mixer DAC Switch");
- return ctl_buf[0];
-}
-
-int CAudioAlsa::TransVolumeBarVolToDigitalVol(int digit_lut_buf[], int digit_vol)
-{
- return digit_lut_buf[digit_vol];
-}
-
-int CAudioAlsa::TransDigitalVolToVolumeBarVol(int digit_lut_buf[], int hd_vol,
- int hd_min __unused, int hd_max __unused,
- int digit_min __unused, int digit_max)
-{
- int i = 0;
- for (; i < CC_VOL_TRANS_LUT_BUF_SIZE - 1; i++) {
- if (digit_lut_buf[i] >= hd_vol && digit_lut_buf[i + 1] < hd_vol)
- break;
- }
-
- if (i < CC_VOL_TRANS_LUT_BUF_SIZE - 1)
- return i;
-
- return digit_max;
-}
-
-void CAudioAlsa::SetMainVolDigitLutBuf(int digit_lut_buf[])
-{
- memcpy((void *) mMainDigitLutBuf, digit_lut_buf,
- CC_VOL_TRANS_LUT_BUF_SIZE * sizeof(int));
-}
-
-int *CAudioAlsa::GetMainVolDigitLutBuf()
-{
- return mMainDigitLutBuf;
-}
-void CAudioAlsa::SetSupperBassVolDigitLutBuf(int digit_lut_buf[])
-{
- memcpy((void *) mSupperBassDigitLutBuf, digit_lut_buf,
- CC_VOL_TRANS_LUT_BUF_SIZE * sizeof(int));
-}
-
-
-int CAudioAlsa::SetMainVolumeGain(int gain_val)
-{
- mMainVolumeGainVal = gain_val;
- return mMainVolumeGainVal;
-}
-
-int CAudioAlsa::GetMainVolumeGain()
-{
- return mMainVolumeGainVal;
-}
-
-int CAudioAlsa::SetSupperBassVolumeGain(int gain_val)
-{
- int tmp_val = 0;
- tmp_val = mSupperBassVolumeGainVal;
- mSupperBassVolumeGainVal = gain_val;
- return tmp_val;
-}
-
-int CAudioAlsa::GetSupperBassVolumeGain()
-{
- int tmp_val = 0;
- tmp_val = mSupperBassVolumeGainVal;
- return tmp_val;
-}
-
-
-int CAudioAlsa::CalculateBalanceVol(int max_vol, int balance_val, int vol_buf[])
-{
- int bal_mid_vol = 0, bal_cal_len = 0;
- int tmp_val = 0;
-
- vol_buf[0] = max_vol;
- vol_buf[1] = max_vol;
-
- bal_mid_vol = (CC_MIN_SOUND_BALANCE_VAL + CC_MAX_SOUND_BALANCE_VAL) / 2;
- bal_cal_len = (CC_MAX_SOUND_BALANCE_VAL - CC_MIN_SOUND_BALANCE_VAL) / 2;
-
- if (balance_val == bal_mid_vol) {
- LOGD(
- "%s, balance value = %d, bal_mid_vol = %d, vol_buf[0] = %d, vol_buf[1] = %d.\n",
- __FUNCTION__, balance_val, bal_mid_vol, vol_buf[0], vol_buf[1]);
- return 0;
- } else if (balance_val < bal_mid_vol) {
- vol_buf[1] = (bal_cal_len - (bal_mid_vol - balance_val)) * max_vol / bal_cal_len;
- } else if (balance_val > bal_mid_vol) {
- vol_buf[0] = (bal_cal_len - (balance_val - bal_mid_vol)) * max_vol / bal_cal_len;
- }
-
- if (GetAudioAmplifierBalanceExchangeCFG() != 0) {
- tmp_val = vol_buf[0];
- vol_buf[0] = vol_buf[1];
- vol_buf[1] = tmp_val;
- }
-
- LOGD(
- "%s, balance value = %d, bal_mid_vol = %d, vol_buf[0] = %d, vol_buf[1] = %d.\n",
- __FUNCTION__, balance_val, bal_mid_vol, vol_buf[0], vol_buf[1]);
- return 0;
-}
-
-
-int CAudioAlsa::SetInternalDacMute(int mute_state)
-{
- int ret = 0;
- if (mute_state == CC_AUDIO_MUTE)
- ret = SetAudioInternalDacDACDigitalPlayBackVolume(0, 0);
- else
- ret = SetAudioInternalDacDACDigitalPlayBackVolume(255, 255);
- return ret;
-}
-
-int CAudioAlsa::setAudioPcmPlaybackMute(int mute_state)
-{
- char prop[256];
- property_get("audio.output.double_output", prop, "null");
- if ( Get2d4gHeadsetEnable() == 1 && (strcmp(prop, "0") == 0 || strcmp(prop, "null") == 0)) {
- SetAudioPcmPlaybackSwitch(mute_state);
- }
- return 0;
-}
-
-
-int CAudioAlsa::SetInternalDacMainVolume(int main_vol)
-{
- int tmp_ret = 0, digit_vol = 0;
- digit_vol = TransVolumeBarVolToDigitalVol(mMainDigitLutBuf, main_vol);
-
- return SetInternalDacLineOutPlayBackVolume(digit_vol, digit_vol);
-}
-
-
-static int gDigitalMuteStatus = CC_AUDIO_UNMUTE;
-static int gDigitalLeftVol = 0;
-static int gDigitalRightVol = 0;
-
-int CAudioAlsa::SetDigitalVolume(int l_val, int r_val)
-{
- amAudioSetLeftGain(l_val);
- amAudioSetRightGain(r_val);
- LOGD("%s, l_val = %d, r_val = %d.\n", __FUNCTION__, l_val, r_val);
- return 0;
-}
-
-int CAudioAlsa::SetDigitalMainVolume(int l_vol, int r_vol)
-{
- int tmp_ret = 0, l_val = 0, r_val = 0;
-
- //handle l&r channel volume for balance
- l_val = TransVolumeBarVolToDigitalVol(mMainDigitLutBuf, l_vol);
- r_val = TransVolumeBarVolToDigitalVol(mMainDigitLutBuf, r_vol);
-
- gDigitalLeftVol = l_val;
- gDigitalRightVol = r_val;
- if (gDigitalMuteStatus == CC_AUDIO_UNMUTE) {
- SetDigitalVolume(l_val, r_val);
- }
-
- return tmp_ret;
-}
-
-int CAudioAlsa::SetDigitalMute(int mute_status)
-{
- gDigitalMuteStatus = mute_status;
- if (mute_status == CC_AUDIO_MUTE) {
- SetDigitalVolume(0, 0);
- } else if (mute_status == CC_AUDIO_UNMUTE) {
- SetDigitalVolume(gDigitalLeftVol, gDigitalRightVol);
- }
-
- return 0;
-}
-
-int CAudioAlsa::SetAudioARCSwitch(int on_off)
-{
- int status = 0;
- char *match_names = GetAlsaControlName(CC_SET_AUDIO_ARC_SWITCH);
- if (on_off != 0 && on_off != 1) {
- return -1;
- }
- status = on_off;
- return AudioControlSetValue(1, &status, match_names);
-}
-
diff --git a/tv/tvserver/libtv/audio/audio_alsa.h b/tv/tvserver/libtv/audio/audio_alsa.h
deleted file mode 100644
index 5cd6d34..0000000
--- a/tv/tvserver/libtv/audio/audio_alsa.h
+++ b/dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: header file
- */
-
-#ifndef __TV_AUDIO_ALSA_H__
-#define __TV_AUDIO_ALSA_H__
-
-enum CC_AUD_I2S_MUTE {
- CC_I2S_MUTE_OFF,
- CC_I2S_MUTE_ON,
-};
-
-enum CC_AUDIO_MUTE_STATUS {
- CC_MUTE_ON,
- CC_MUTE_OFF,
-};
-enum CC_AUD_SPDIF_MUTE {
- CC_SPDIF_MUTE_OFF,
- CC_SPDIF_MUTE_ON,
-};
-
-enum CC_AUD_IN_TYPE {
- CC_AUDIO_IN_SOURCE_LINEIN,
- CC_AUDIO_IN_SOURCE_ATV,
- CC_AUDIO_IN_SOURCE_HDMI,
- CC_AUDIO_IN_SOURCE_SPDIFIN,
-};
-
-
-#define CC_MIN_DAC_VOLUME (0)
-#define CC_MAX_DAC_VOLUME (255)
-#define CC_MIN_DAC_SUB_WOOFER_VOLUME (0)
-#define CC_MAX_DAC_SUB_WOOFER_VOLUME (255)
-
-#define CC_MIN_SOUND_BALANCE_VAL (0)
-#define CC_MAX_SOUND_BALANCE_VAL (100)
-#define CC_DEF_SOUND_BALANCE_VAL (50)
-
-#define CC_DAC_MUTE_TYPE_EXTERNAL (1)
-#define CC_DAC_MUTE_TYPE_INTERNAL (2)
-
-#define CC_VOL_TRANS_LUT_BUF_SIZE (101)
-
-static const int CC_AUDIO_MUTE = 1;
-static const int CC_AUDIO_UNMUTE = 0;
-
-enum CC_AUDIO_SOURCE_TYPE {
- AUDIO_HDMI_SOURCE,
- AUDIO_ATV_SOURCE,
- AUDIO_AV_SOURCE,
- AUDIO_MPEG_SOURCE,
- AUDIO_MAX_SOURCE
-};
-
-
-//use tinyalsa,is a like alsa-lib for android
-class CAudioAlsa {
-public:
- CAudioAlsa();
- ~CAudioAlsa();
- int SetAudioInSource(int source_type);
- int GetAudioInSource(void);
- int SetAudioInternalDacPGAInGain(int gain_l_val, int gain_r_val);
- int GetAudioInternalDacPGAInGain(int *gain_l_val, int *gain_r_val);
- int SetAudioInternalDacADCDigitalCaptureVolume(int vol_l_val, int vol_r_val);
- int GetAudioInternalDacADCDigitalCaptureVolume(int *vol_l_val, int *vol_r_val);
- int SetAudioInternalDacDACDigitalPlayBackVolume(int vol_l_val, int vol_r_val);
- int GetAudioInternalDacDACDigitalPlayBackVolume(int *vol_l_val, int *vol_r_val);
- int SetInternalDacLineInSelectChannel(int line_in_number);
- int SetInternalDacLineInCaptureVolume(int l_vol, int r_vol);
- int GetInternalDacLineInCaptureVolume(int vol_buf[]);
- int SetInternalDacLineOutPlayBackVolume(int l_vol, int r_vol);
- int GetInternalDacLineOutPlayBackVolume(int vol_buf[]);
- int SetExternalDacChannelSwitch(int chan_ind, int switch_val);
- int SetExternalDacChannelVolume(int chan_ind, int main_vol);
- int SetExternalDacEQMode(int mode_val);
- int SetI2SMute(int mute_status);
- int SetSPDIFMute(int mute_status);
- int SetHardwareResample(int sr);
- int SetAudioSwitchIO(int value);
- int SetAudioPcmPlaybackVolume(int val);
- int SetAudioPcmPlaybackSwitch(int vol);
-
- int SetOutput_Swap(int value);
-
-
- int SetMixerBypassSwitch(int switch_val);
- int GetMixerBypassSwitch(void);
- int SetMixerDacSwitch(int switch_val);
- int GetMixerDacSwitch(void);
- //dac
- void SetMainVolDigitLutBuf(int digit_lut_buf[]);
- int *GetMainVolDigitLutBuf();
- void SetSupperBassVolDigitLutBuf(int digit_lut_buf[]);
- int SetMainVolumeGain(int gain_val);
- int GetMainVolumeGain();
- int SetSupperBassVolumeGain(int gain_val);
- int GetSupperBassVolumeGain();
- int SetInternalDacMute(int);
- int setAudioPcmPlaybackMute(int);
- //end dac
- int TransVolumeBarVolToDigitalVol(int *, int);
- int TransDigitalVolToVolumeBarVol(int *, int, int, int, int, int);
- int CalculateBalanceVol(int, int, int *);
- int SetExternalDacMainVolume(int);
- int SetInternalDacMainVolume(int);
- int SetDigitalVolume(int, int);
- int SetDigitalMainVolume(int, int);
- int SetDigitalMute(int);
- int SetAudioARCSwitch(int on_off);
-private:
- int get_aml_card();
- int AudioControlSetValue(int val_count, int data_buf[], char *match_names);
- int AudioControlGetValue(int val_count, int ret_buf[], char *match_names);
- int get_USB_Audio_card();
- int HandleUSBAudioControlValue(int val_count, int data_buf[], int match_count, char **match_names);
- int CheckVolume(int digit_vol, int digit_min, int digit_max, int hd_min, int hd_max);
- int GetTwoChannelVolume(int vol_buf[], int l_min_vol, int l_max_vol, int r_min_vol, int r_max_vol, char *match_names, int hd_min, int hd_max);
- int GetLineInMaxVol();
- int GetLineOutMaxVol();
- char *GetAlsaControlName(int get_type);
- //
- //
- //mem
- struct mixer *mpMixer;
- struct mixer *mpUsbMixer;
- int mMainVolumeBalanceVal;
- int mMainVolumeGainVal;
- int mSupperBassVolumeGainVal;
- int mMainDigitLutBuf[CC_VOL_TRANS_LUT_BUF_SIZE];
- int mSupperBassDigitLutBuf[CC_VOL_TRANS_LUT_BUF_SIZE];
-};
-#endif //__TV_AUDIO_ALSA_H__
diff --git a/tv/tvserver/libtv/audio/audio_effect.cpp b/tv/tvserver/libtv/audio/audio_effect.cpp
deleted file mode 100644
index 47a47a9..0000000
--- a/tv/tvserver/libtv/audio/audio_effect.cpp
+++ b/dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: c++ file
- */
-#define LOG_TAG "tvserver"
-#define LOG_TV_TAG "CAudioEffect"
-#define UNUSED(x) (void)x
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <malloc.h>
-#include <unistd.h>
-#include <pthread.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/poll.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-
-#include "audio_amaudio.h"
-#include "audio_effect.h"
-#include "CTvLog.h"
-
-CAudioEffect::CAudioEffect()
-{
-}
-
-CAudioEffect::~CAudioEffect()
-{
-}
-
-int CAudioEffect::GetEQBandCount()
-{
- return CC_BAND_ITEM_CNT;
-}
-
-int CAudioEffect::SetEQSwitch(int switch_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetEQEnable(switch_val);
- return tmp_ret;
-}
-
-int CAudioEffect::GetEQSwitch()
-{
- int tmp_ret = 0;
- return 0;
-}
-
-int CAudioEffect::SetEQValue(int gain_val_buf[])
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetEQGain(gain_val_buf, CC_BAND_ITEM_CNT);
- return tmp_ret;
-}
-
-int CAudioEffect::GetEQValue(int gain_val_buf[] __unused)
-{
- return 0;
-}
-
-int CAudioEffect::SetSrsSurroundSwitch(int switch_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSSurroundSwitch(switch_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsSurroundGain(int gain_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSSurroundGain(gain_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsInputOutputGain(int input_gain_val, int output_gain_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSGain(input_gain_val, output_gain_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsTruBassSwitch(int switch_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSTrubassSwitch(switch_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsTruBassGain(int gain_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSTrubassGain(gain_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsDialogClaritySwitch(int switch_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSDialogClaritySwitch(switch_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsDialogClarityGain(int gain_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSDialogClarityGain(gain_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsDefinitionGain(int gain_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSDefinitionGain(gain_val);
- return tmp_ret;
-}
-
-int CAudioEffect::SetSrsTrubassSpeakerSize(int set_val)
-{
- int tmp_ret = 0;
- //tmp_ret |= amAudioSetSRSTrubassSpeakerSize(set_val);
- return tmp_ret;
-}
-
-int CAudioEffect::DbxTv_SetMode(int mode __unused, int son_value, int vol_value, int sur_value)
-{
- //TODO
- UNUSED(son_value);
- UNUSED(vol_value);
- UNUSED(sur_value);
-
- int ret = 0;
-#ifdef TV_AUDIO_USE_DBX_TV
- ret |= amAudioSetDBXTVParameter( son_value, vol_value, sur_value);
-#endif
- return ret;
-}
-
-int CAudioEffect::SetAudioVirtualizer(int enable, int EffectLevel)
-{
- return 0;//amAudioVirtualizer(enable, EffectLevel);
-}
diff --git a/tv/tvserver/libtv/audio/audio_effect.h b/tv/tvserver/libtv/audio/audio_effect.h
deleted file mode 100644
index 2439e51..0000000
--- a/tv/tvserver/libtv/audio/audio_effect.h
+++ b/dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: header file
- */
-
-#ifndef __TV_AUDIO_EFFECT_H__
-#define __TV_AUDIO_EFFECT_H__
-#define CC_BAND_ITEM_CNT ( 6 )
-class CAudioEffect {
-public:
- CAudioEffect();
- ~CAudioEffect();
- int GetEQBandCount();
- int SetEQSwitch(int switch_val);
- int GetEQSwitch();
- int SetEQValue(int gain_val_buf[]);
- int GetEQValue(int gain_val_buf[]);
-
- int SetSrsSurroundSwitch(int switch_val);
- int SetSrsInputOutputGain(int input_gain_val, int output_gain_val);
- int SetSrsSurroundGain(int gain_val);
- int SetSrsTruBassSwitch(int switch_val);
- int SetSrsTruBassGain(int gain_val);
- int SetSrsDialogClaritySwitch(int switch_val);
- int SetSrsDialogClarityGain(int gain_val);
- int SetSrsDefinitionGain(int gain_val);
- int SetSrsTrubassSpeakerSize(int tmp_val);
- int DbxTv_SetMode(int mode, int son_value, int vol_value, int sur_value);
- int SetAudioVirtualizer(int enable, int EffectLevel);
-
-private:
-};
-#endif //__TV_AUDIO_EFFECT_H__
diff --git a/tv/tvserver/libtv/tv/CTv.cpp b/tv/tvserver/libtv/tv/CTv.cpp
index dd950a5..033ce25 100644
--- a/tv/tvserver/libtv/tv/CTv.cpp
+++ b/tv/tvserver/libtv/tv/CTv.cpp
@@ -73,8 +73,6 @@ extern "C" {
using namespace android;
-static const int WALL_EFFECT_VALUE[CC_BAND_ITEM_CNT] = { 0, 0, 1, 2, 2, 0 };
-
bool CTv::insertedFbcDevice()
{
bool ret = false;
@@ -104,9 +102,6 @@ bool CTv::insertedFbcDevice()
CTv::CTv():mTvDmx(0), mTvDmx1(1), mTvDmx2(2), mTvMsgQueue(this)
{
- mAudioMuteStatusForTv = CC_AUDIO_UNMUTE;
- mAudioMuteStatusForSystem = CC_AUDIO_UNMUTE;
-
//copy file to param
char buf[PROPERTY_VALUE_MAX] = {0};
int len = property_get("tv.tvconfig.force_copy", buf, "true");
@@ -183,8 +178,6 @@ CTv::CTv():mTvDmx(0), mTvDmx1(1), mTvDmx2(2), mTvMsgQueue(this)
mBootvideoStatusDetectThread = new CBootvideoStatusDetect();
mBootvideoStatusDetectThread->setObserver(this);
- m_hdmi_audio_data = 0;
- mHDMIAudioCheckThread.setObserver(this);
mDevicesPollStatusDetectThread.setObserver ( this );
mFrontDev->setObserver ( &mTvMsgQueue );
mTvEas = CTvEas::GetInstance();
@@ -197,43 +190,6 @@ CTv::CTv():mTvDmx(0), mTvDmx1(1), mTvDmx2(2), mTvMsgQueue(this)
mSubtitle.setObserver(this);
mHeadSet.setObserver(this);
mAv.setObserver(&mTvMsgQueue);
- mMainVolLutTableExtraName[0] = '\0';
- //-----------------------------------------------------------
- mCurAudioMasterVolume = CC_DEF_SOUND_VOL;
- mCurAudioBalance = CC_DEF_SOUND_BALANCE_VAL;
- mCurAudioSupperBassVolume = CC_DEF_SUPPERBASS_VOL;
- mCurAudioSupperBassSwitch = CC_SWITCH_OFF;
- mCurAudioSRSSurround = CC_SWITCH_OFF;
- mCurAudioSrsDialogClarity = CC_SWITCH_OFF;
- mCurAudioSrsTruBass = CC_SWITCH_OFF;
- mCurAudioSPDIFSwitch = CC_SWITCH_ON;
- mCurAudioSPDIFMode = CC_SPDIF_MODE_PCM;
- mCurAudioBassVolume = CC_DEF_BASS_TREBLE_VOL;
- mCurAudioTrebleVolume = CC_DEF_BASS_TREBLE_VOL;
- mCurAudioSoundMode = CC_SOUND_MODE_END;
- mCurAudioWallEffect = CC_SWITCH_OFF;
- mCurAudioEQMode = CC_EQ_MODE_START;
- mCustomAudioMasterVolume = CC_DEF_SOUND_VOL;
- mCustomAudioBalance = CC_DEF_SOUND_BALANCE_VAL;
- mCustomAudioSupperBassVolume = CC_DEF_SUPPERBASS_VOL;
- mCustomAudioSupperBassSwitch = CC_SWITCH_OFF;
- mCustomAudioSRSSurround = CC_SWITCH_OFF;
- mCustomAudioSrsDialogClarity = CC_SWITCH_OFF;
- mCustomAudioSrsTruBass = CC_SWITCH_OFF;
- mCustomAudioBassVolume = CC_DEF_BASS_TREBLE_VOL;
- mCustomAudioTrebleVolume = CC_DEF_BASS_TREBLE_VOL;
- mCustomAudioSoundMode = CC_SOUND_MODE_END;
- mCustomAudioWallEffect = CC_SWITCH_OFF;
- mCustomAudioEQMode = CC_EQ_MODE_START;
- mCustomAudioSoundEnhancementSwitch = CC_SWITCH_OFF;
- mVolumeCompensationVal = 0;
-
- mMainVolumeBalanceVal = 0;
- for (int i = 0; i < CC_BAND_ITEM_CNT; i++) {
- mCustomEQGainBuf[i] = 0;
- mCurEQGainBuf[i] = 0;
- mCurEQGainChBuf[i] = 0;
- }
mTvAction &= TV_ACTION_NULL;
mTvStatus = TV_INIT_ED;
@@ -384,7 +340,6 @@ void CTv::onEvent(const CAv::AVEvent &ev)
} else {
mAv.DisableVideoWithBlueColor();
}
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
TvEvent::SignalInfoEvent ev;
ev.mStatus = TVIN_SIG_STATUS_NOSIG;
@@ -400,11 +355,6 @@ void CTv::onEvent(const CAv::AVEvent &ev)
AvPlayBackEvt.mMsgType = TvEvent::AVPlaybackEvent::EVENT_AV_PLAYBACK_RESUME;
AvPlayBackEvt.mProgramId = (int)ev.param;
sendTvEvent(AvPlayBackEvt);
- if (m_source_input == SOURCE_DTV && (mTvAction & TV_ACTION_PLAYING)) { //atv and other tvin source not to use it, and if not playing, not use have sig
- LOGD("[EVENT_AV_RESUEM]");
- SetAudioMuteForTv(CC_AUDIO_UNMUTE);
- Tv_SetAudioInSource(SOURCE_DTV);
- }
break;
}
@@ -435,8 +385,6 @@ void CTv::onEvent(const CAv::AVEvent &ev)
//usleep(50 * 1000);
mAv.EnableVideoNow(true);
LOGD("[source_switch_time]: %fs, EVENT_AV_VIDEO_AVAILABLE, video available ok", getUptimeSeconds());
- SetAudioMuteForTv(CC_AUDIO_UNMUTE);
- Tv_SetAudioInSource(SOURCE_DTV);
}
TvEvent::AVPlaybackEvent AvPlayBackEvt;
@@ -517,13 +465,6 @@ void CTv::CTvMsgQueue::handleMessage ( CMessage &msg )
break;
}
- case TV_MSG_HDMI_SR_CHANGED: {
- int sr = ((int *)(msg.mpPara))[0];
- mpTv->onHdmiSrChanged(sr, (((int *)(msg.mpPara))[1] == 0) ? true : false);
- mpTv->setAudioPreGain(mpTv->m_source_input);
- break;
- }
-
case TV_MSG_ENABLE_VIDEO_LATER: {
int fc = msg.mpPara[0];
mpTv->onEnableVideoLater(fc);
@@ -620,29 +561,6 @@ void CTv::CTvMsgQueue::onEvent ( const CTvEas::EasEvent &ev )
this->sendMsg ( msg );
}
-void CTv::onHdmiSrChanged(int sr, bool bInit)
-{
- if (bInit) {
- LOGD ( "%s, Init HDMI audio, sampling rate:%d", __FUNCTION__, sr );
- sr = HanldeAudioInputSr(sr);
- InitTvAudio (sr, CC_IN_USE_SPDIF_DEVICE);
- } else {
- LOGD ( "%s, Reset HDMI sampling rate to %d", __FUNCTION__, sr );
- AudioChangeSampleRate ( sr );
- }
-}
-
-void CTv::onHMDIAudioStatusChanged(int status)
-{
- if (status == 0) {//change to no audio data
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
- } else if (status == 1) {//change to audio data come
- Tv_SetAudioInSource(m_source_input);
- usleep(200 * 1000);
- SetAudioMuteForTv ( CC_AUDIO_UNMUTE );
- }
-}
-
int CTv::setTvObserver ( TvIObserver *ob )
{
mpObserver = ob;
@@ -684,12 +602,10 @@ int CTv::clearFrontEnd(int para)
int CTv::Scan(const char *feparas, const char *scanparas) {
AutoMutex _l(mLock);
m_source_input = SOURCE_INVALID;
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
mTvAction = mTvAction | TV_ACTION_SCANNING;
LOGD("mTvAction = %#x, %s", mTvAction, __FUNCTION__);
LOGD("fe[%s], scan[%s] %s", feparas, scanparas, __FUNCTION__);
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mAv.StopTS();
mpTvin->Tvin_StopDecoder();
if ( iSBlackPattern ) {
@@ -801,7 +717,6 @@ int CTv::atvAutoScan(int videoStd __unused, int audioStd __unused, int searchTyp
mTvAction |= TV_ACTION_SCANNING;
stopPlaying(false);
mTvScanner->setObserver ( &mTvMsgQueue );
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
getATVMinMaxFreq (&minScanFreq, &maxScanFreq );
if ( minScanFreq == 0 || maxScanFreq == 0 || minScanFreq > maxScanFreq ) {
LOGE ( "%s, auto scan freq set is error min=%d, max=%d", __FUNCTION__, minScanFreq, maxScanFreq );
@@ -874,9 +789,7 @@ int CTv::atvMunualScan ( int startFreq, int endFreq, int videoStd, int audioStd,
mAv.DisableVideoWithBlueColor();
mTvAction |= TV_ACTION_SCANNING;
mTvScanner->setObserver ( &mTvMsgQueue );
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
unsigned long stdAndColor = mFrontDev->enumToStdAndColor(vStd, aStd);
-
tvin_port_t source_port = mpTvin->Tvin_GetSourcePortBySourceInput(SOURCE_TV);
mpTvin->VDIN_OpenPort ( source_port );
@@ -951,8 +864,6 @@ int CTv::stopScan()
mAv.DisableVideoWithBlueColor();
}
}
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
- mHDMIAudioCheckThread.setObserver(this);
//mTvEpg.leaveChannel();
mTvScanner->stopScan();
mFrontDev->Close();
@@ -1216,7 +1127,6 @@ int CTv::playDtvProgramUnlocked (const char *feparas, int mode, int freq, int pa
msg.mType = CTvMsgQueue::TV_MSG_CHECK_FE_DELAY;
mTvMsgQueue.sendMsg ( msg );
- SetCurProgramAudioVolumeCompensationVal ( audioCompetation );
return 0;
}
@@ -1269,8 +1179,6 @@ int CTv::playDtvTimeShiftUnlocked (const char *feparas, void *para, int audioCom
tvWriteSysfs ( DEVICE_CLASS_TSYNC_AV_THRESHOLD_MIN, AV_THRESHOLD_MIN_MS );
ret = mAv.startTimeShift(para);
- SetCurProgramAudioVolumeCompensationVal ( audioCompetation );
-
return ret;
}
@@ -1289,12 +1197,10 @@ int CTv::playDtmbProgram ( int progId )
CTvProgram::Audio *pA;
CTvProgram::Video *pV;
int ret = CTvProgram::selectByID ( progId, prog );
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
saveDTVProgramID ( progId );
prog.getChannel ( channel );
int chanVolCompValue = 0;
chanVolCompValue = GetAudioVolumeCompensationVal(progId);
- SetCurProgramAudioVolumeCompensationVal ( chanVolCompValue );
mFrontDev->setPara ( channel.getMode(), channel.getFrequency(), channel.getBandwidth(), 0 );
@@ -1337,9 +1243,7 @@ int CTv::playAtvProgram (int freq, int videoStd, int audioStd, int fineTune __u
} else {
mAv.DisableVideoBlackout();
}
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
//image selecting channel
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mpTvin->Tvin_StopDecoder();
mFrontDev->Open(TV_FE_ANALOG);
//set CVBS
@@ -1350,11 +1254,6 @@ int CTv::playAtvProgram (int freq, int videoStd, int audioStd, int fineTune __u
//set TUNER
mFrontDev->setPara (TV_FE_ANALOG, freq, stdAndColor, 1);
- mHDMIAudioCheckThread.setObserver(this);
- mHDMIAudioCheckThread.initCheckState();
- mHDMIAudioCheckThread.resumeCheck(1000);
-
- SetCurProgramAudioVolumeCompensationVal ( audioCompetation );
return 0;
}
@@ -1378,7 +1277,6 @@ int CTv::resetFrontEndPara ( frontend_para_set_t feParms )
LOGD("%s, resetFrontEndPara- vstd=%d astd=%d stdandcolor=%lld", __FUNCTION__, feParms.videoStd, feParms.audioStd, stdAndColor);
//set frontend parameters to tuner dev
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mpTvin->Tvin_StopDecoder();
//set CVBS
@@ -1393,9 +1291,6 @@ int CTv::resetFrontEndPara ( frontend_para_set_t feParms )
if ( tmpfineFreq != 0 ) {
mFrontDev->fineTune ( tmpfineFreq / 1000 );
}
-
- mHDMIAudioCheckThread.initCheckState();
- mHDMIAudioCheckThread.resumeCheck();
} else {
mFrontDev->Open(feParms.mode);
mFrontDev->setPara ( feParms.mode, feParms.freq, feParms.para1, feParms.para2 );
@@ -1434,9 +1329,7 @@ int CTv::setFrontEnd ( const char *paras, bool force )
unsigned long stdAndColor = mFrontDev->enumToStdAndColor (fp.getVideoStd(), fp.getAudioStd());
LOGD("%s: vstd=%d astd=%d stdandcolor=%lld", __FUNCTION__, fp.getVideoStd(), fp.getAudioStd(), stdAndColor);
- SetAudioMuteForTv ( CC_AUDIO_MUTE);
//set frontend parameters to tuner dev
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mpTvin->Tvin_StopDecoder();
//set CVBS
@@ -1451,14 +1344,10 @@ int CTv::setFrontEnd ( const char *paras, bool force )
if ( tmpfineFreq != 0 ) {
mFrontDev->fineTune ( tmpfineFreq / 1000, force );
}
-
- mHDMIAudioCheckThread.initCheckState();
- mHDMIAudioCheckThread.resumeCheck();
} else {
if (SOURCE_ADTV == m_source_input_virtual) {
if (SOURCE_TV == m_source_input) {
//mAv.DisableVideoBlackout();
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mpTvin->Tvin_StopDecoder();
if ( (SOURCE_TV == m_source_input) && mATVDisplaySnow ) {
mpTvin->SwitchSnow( false );
@@ -1497,25 +1386,6 @@ int CTv::resetDmxAndAvSource()
return 0;
}
-int CTv::SetCurProgramAudioVolumeCompensationVal ( int tmpVal )
-{
- SetAudioVolumeCompensationVal ( tmpVal );
- SetAudioMasterVolume (GetAudioMasterVolume() );
-
- LOGD ( "%s, VolumeCompensationVal = %d, id = -1\n", __FUNCTION__, tmpVal );
- CTvProgram prog;
- if ( CTvProgram::selectByID ( -1, prog ) != 0 ) {
- LOGE ( "[ctv]%s, atv progID is not matching the db's ret = 0\n", __FUNCTION__ );
- return -1;
- }
-
- if (prog.updateVolComp ( -1, tmpVal ) != 0 ) {
- LOGE ( "[ctv]%s, atv progID is not matching the db's\n", __FUNCTION__);
- return -1;
- }
- return 0;
-}
-
int CTv::GetAudioVolumeCompensationVal(int progxxId __unused)
{
int tmpVolValue = 0;
@@ -1564,11 +1434,9 @@ int CTv::stopPlaying(bool isShowTestScreen, bool resetFE)
if (m_source_input == SOURCE_TV) {
//first mute
- SetAudioMuteForTv(CC_AUDIO_MUTE);
if (resetFE)
ClearAnalogFrontEnd();
} else if (m_source_input == SOURCE_DTV) {
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
if (mBlackoutEnable == true) {
mAv.EnableVideoBlackout();
}
@@ -1916,8 +1784,6 @@ int CTv::OpenTv ( void )
mpTvin->Tv_init_afe();
CVpp::getInstance()->Vpp_Init(mHdmiOutFbc);
- TvAudioOpen();
- SetAudioVolDigitLUTTable(SOURCE_MPEG);
SSMSetHDCPKey();
system ( "/vendor/bin/dec" );
@@ -1937,7 +1803,6 @@ int CTv::OpenTv ( void )
Tvin_GetTvinConfig();
m_last_source_input = SOURCE_INVALID;
m_source_input = SOURCE_INVALID;
- m_hdmi_sampling_rate = 0;
int8_t enable;
SSMReadBlackoutEnable(&enable);
@@ -1950,6 +1815,9 @@ int CTv::OpenTv ( void )
//mDevicesPollStatusDetectThread.startDetect();
//ClearAnalogFrontEnd();
InitCurrenSignalInfo();
+ if (!isBootvideoStopped()) {
+ mBootvideoStatusDetectThread->startDetect();
+ }
mTvStatus = TV_OPEN_ED;
return 0;
@@ -1957,7 +1825,6 @@ int CTv::OpenTv ( void )
int CTv::CloseTv ( void )
{
- mHDMIAudioCheckThread.stopCheck();
mpTvin->Tv_uninit_afe();
mpTvin->uninit_vdin();
TvMisc_DisableWDT ( gTvinConfig.userpet );
@@ -1977,10 +1844,6 @@ int CTv::StartTvLock ()
setDvbLogLevel();
//mAv.ClearVideoBuffer();
mAv.SetVideoLayerDisable(1);
- SwitchAVOutBypass(0);
- InitSetTvAudioCard();
- SetAudioMuteForTv(CC_AUDIO_MUTE);
- mHDMIAudioCheckThread.startCheck();
mTvMsgQueue.startMsgQueue();
SetDisplayMode ( CVpp::getInstance()->GetDisplayMode ( m_source_input ), m_source_input, m_cur_sig_info.fmt);
TvMisc_EnableWDT ( gTvinConfig.kernelpet_disable, gTvinConfig.userpet, gTvinConfig.kernelpet_timeout, gTvinConfig.userpet_timeout, gTvinConfig.userpet_reset );
@@ -2013,7 +1876,6 @@ int CTv::DoResume(int type)
int CTv::StopTvLock ( void )
{
LOGD("%s, call Tv_Stop status = %d \n", __FUNCTION__, mTvStatus);
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
AutoMutex _l( mLock );
mTvAction |= TV_ACTION_STOPING;
mAv.DisableVideoWithBlackColor();
@@ -2032,14 +1894,7 @@ int CTv::StopTvLock ( void )
setAudioChannel(TV_AOUT_OUTPUT_STEREO);
mpTvin->setMpeg2Vdin(0);
mAv.setLookupPtsForDtmb(0);
- SwitchAVOutBypass(0);
- tv_audio_channel_e audio_channel = mpTvin->Tvin_GetInputSourceAudioChannelIndex (SOURCE_MPEG);
- AudioLineInSelectChannel( audio_channel );
- AudioCtlUninit();
- SetAudioVolDigitLUTTable(SOURCE_MPEG);
- Tv_SetAudioInSource(SOURCE_MPEG);
SetDisplayMode ( CVpp::getInstance()->GetDisplayMode ( SOURCE_MPEG ), SOURCE_MPEG, m_cur_sig_info.fmt);
- RefreshAudioMasterVolume ( SOURCE_MPEG );
m_last_source_input = SOURCE_INVALID;
m_source_input = SOURCE_INVALID;
m_source_input_virtual = SOURCE_INVALID;
@@ -2055,15 +1910,11 @@ int CTv::StopTvLock ( void )
mTvAction &= ~TV_ACTION_STOPING;
mTvStatus = TV_STOP_ED;
MnoNeedAutoSwitchToMonitorMode = false;
- if ( Get2d4gHeadsetEnable() == 1 ) {
- property_set("audio.tv_open.flg", "0");
- }
if (mBlackoutEnable) {
mAv.DisableVideoWithBlackColor();
mAv.EnableVideoBlackout();
}
mAv.ClearVideoBuffer();
- SetAudioMuteForTv ( CC_AUDIO_UNMUTE );
return 0;
}
@@ -2190,8 +2041,6 @@ int CTv::SetSourceSwitchInputLocked(tv_source_input_t virtual_input, tv_source_i
}
mTvAction |= TV_ACTION_SOURCE_SWITCHING;
- SetAudioMuteForTv(CC_AUDIO_MUTE);
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
//if BlackoutEnable is false, no need to disable video and enable blackout
if (mBlackoutEnable == true) {
@@ -2216,27 +2065,16 @@ int CTv::SetSourceSwitchInputLocked(tv_source_input_t virtual_input, tv_source_i
m_source_input = source_input;
SSMSaveSourceInput ( source_input );
- SetAudioVolumeCompensationVal ( 0 );
-
if ( source_input == SOURCE_DTV ) {
resetDmxAndAvSource();
//we should stop audio first for audio mute.
- SwitchAVOutBypass(0);
- tv_audio_channel_e audio_channel = mpTvin->Tvin_GetInputSourceAudioChannelIndex (SOURCE_MPEG);
- AudioLineInSelectChannel( audio_channel );
- AudioCtlUninit();
- SetAudioVolDigitLUTTable(SOURCE_MPEG);
//
mpTvin->Tvin_StopDecoder();
mpTvin->VDIN_ClosePort();
mpTvin->Tvin_WaitPathInactive ( TV_PATH_TYPE_DEFAULT );
//double confirm we set the main volume lut buffer to mpeg
- RefreshAudioMasterVolume ( SOURCE_MPEG );
- RefreshSrsEffectAndDacGain();
- SetCustomEQGain();
- LoadAudioVirtualizer();
mpTvin->setMpeg2Vdin(1);
mAv.setLookupPtsForDtmb(1);
tv_source_input_type_t source_type = mpTvin->Tvin_SourceInputToSourceInputType(m_source_input);
@@ -2249,7 +2087,6 @@ int CTv::SetSourceSwitchInputLocked(tv_source_input_t virtual_input, tv_source_i
CVpp::getInstance()->LoadVppSettings(SOURCE_DTV, TVIN_SIG_FMT_HDMI_1920X1080P_60HZ, INDEX_2D, TVIN_TFMT_2D);
- Tv_SetAudioInSource ( source_input );
} else {
mpTvin->setMpeg2Vdin(0);
mAv.setLookupPtsForDtmb(0);
@@ -2259,29 +2096,8 @@ int CTv::SetSourceSwitchInputLocked(tv_source_input_t virtual_input, tv_source_i
Tv_MiscSetBySource ( source_input );
if (source_input != SOURCE_DTV) {
- // Uninit data
- UnInitTvAudio();
- if (source_input == SOURCE_HDMI1 || source_input == SOURCE_HDMI2 || source_input == SOURCE_HDMI3 ||
- source_input == SOURCE_HDMI4 || source_input == SOURCE_MPEG || source_input == SOURCE_DTV) {
- SwitchAVOutBypass(0);
- } else {
- SwitchAVOutBypass(1);
- }
-
- tv_audio_channel_e audio_channel = mpTvin->Tvin_GetInputSourceAudioChannelIndex (source_input);
- AudioLineInSelectChannel( audio_channel );
-
- Tv_SetAudioInSource ( source_input );
- if ( source_input == SOURCE_HDMI1 || source_input == SOURCE_HDMI2 || source_input == SOURCE_HDMI3
- || source_input == SOURCE_HDMI4) {
- m_hdmi_sampling_rate = 0;
- m_hdmi_audio_data = 0;
- } else if (source_input == SOURCE_SPDIF) {
- InitTvAudio(48000, CC_IN_USE_SPDIF_DEVICE);
- HanldeAudioInputSr(48000);
- }
-
if (mpTvin->SwitchPort ( cur_port ) == 0) { //ok
+ mTvAction |= TV_ACTION_IN_VDIN;
if (source_input != SOURCE_SPDIF)
{
unsigned char std;
@@ -2294,25 +2110,10 @@ int CTv::SetSourceSwitchInputLocked(tv_source_input_t virtual_input, tv_source_i
CVpp::getInstance()->Vpp_ResetLastVppSettingsSourceType();
}
m_sig_spdif_nums = 0;
- mHDMIAudioCheckThread.setObserver(this);
- mHDMIAudioCheckThread.initCheckState();
-
- if (source_input != SOURCE_SPDIF) {
- mHDMIAudioCheckThread.setHDMIAudioCheckEnable(true);
- } else {
- mHDMIAudioCheckThread.setHDMIAudioCheckEnable(false);
- }
- mHDMIAudioCheckThread.resumeCheck(0);
}
}
- Tv_SetAudioSourceType(source_input);
- RefreshAudioMasterVolume(source_input);
- Tv_SetAudioOutputSwap_Type(source_input);
- Tv_SetAVOutPut_Input_gain(source_input);
-
mTvAction &= ~ TV_ACTION_SOURCE_SWITCHING;
- mTvAction |= TV_ACTION_IN_VDIN;
return 0;
}
@@ -2328,11 +2129,6 @@ void CTv::onSigToStable()
LOGE("%s Set CurrentSourceInfo error!\n");
}
- if (SOURCE_TV <= m_source_input && m_source_input <= SOURCE_AV2) {
- InitTvAudio(48000, CC_IN_USE_I2S_DEVICE);
- HanldeAudioInputSr(-1);
- }
-
CVpp::getInstance()->LoadVppSettings(m_source_input, m_cur_sig_info.fmt, INDEX_2D,
m_cur_sig_info.trans_fmt);
@@ -2394,13 +2190,11 @@ void CTv::onSigStillStable()
}
if ( 1 ) {
LOGD("still stable , to unmute audio/video");
- setAudioPreGain(m_source_input);
CMessage msg;
msg.mDelayMs = 0;
msg.mType = CTvMsgQueue::TV_MSG_ENABLE_VIDEO_LATER;
msg.mpPara[0] = 2;
mTvMsgQueue.sendMsg ( msg );
- m_hdmi_audio_data = 0;
}
if ( 1 ) {
//tvin_info_t info = m_cur_sig_info;
@@ -2426,14 +2220,6 @@ void CTv::onEnableVideoLater(int framecount)
{
LOGD ( "[source_switch_time]: %fs, onEnableVideoLater start, wait %d video frame come out", getUptimeSeconds(), framecount);
mAv.EnableVideoWhenVideoPlaying(framecount);
- if (CTvin::Tvin_SourceInputToSourceInputType(m_source_input) != SOURCE_TYPE_HDMI ) {
- if (isTvViewBlocked()) {
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
- } else {
- SetAudioMuteForTv ( CC_AUDIO_UNMUTE );
- }
- Tv_SetAudioInSource(m_source_input);
- }
LOGD ( "[source_switch_time]: %fs, onEnableVideoLater end, show source on screen", getUptimeSeconds());
}
@@ -2451,62 +2237,9 @@ void CTv::onVideoAvailableLater(int framecount)
}
}
-void CTv::Tv_SetAVOutPut_Input_gain(tv_source_input_t source_input)
-{
- int nPgaValueIndex = 0;
- int nAdcValueIndex = 0;
- int nDdcValueIndex = 0;
- int tmpAvoutBufPtr[9];
-
- if (GetAvOutGainBuf_Cfg(tmpAvoutBufPtr) != 0) {
- GetDefaultAvOutGainBuf(tmpAvoutBufPtr);
- }
-
- switch (source_input) {
- case SOURCE_AV1:
- case SOURCE_AV2:
- nPgaValueIndex = 0;
- nAdcValueIndex = 1;
- nDdcValueIndex = 2;
- break;
- case SOURCE_HDMI1:
- case SOURCE_HDMI2:
- case SOURCE_HDMI3:
- case SOURCE_HDMI4:
- case SOURCE_DTV:
- case SOURCE_MPEG:
- nPgaValueIndex = 3;
- nAdcValueIndex = 4;
- nDdcValueIndex = 5;
- break;
- case SOURCE_TV:
- nPgaValueIndex = 6;
- nAdcValueIndex = 7;
- nDdcValueIndex = 8;
- break;
- default:
- break;
- }
-
- SetPGA_IN_Value(tmpAvoutBufPtr[nPgaValueIndex]);
- SetADC_Digital_Capture_Volume(tmpAvoutBufPtr[nAdcValueIndex]);
- SetDAC_Digital_PlayBack_Volume(tmpAvoutBufPtr[nDdcValueIndex]);
-}
-
void CTv::onSigToUnstable()
{
LOGD ( "%s, signal to Unstable\n", __FUNCTION__);
- SetAudioMuteForTv(CC_AUDIO_MUTE);
-/*
- if ( (SOURCE_TV == m_source_input) && mATVDisplaySnow ) {
- mpTvin->SwitchSnow( true );
- mpTvin->Tvin_StartDecoder ( m_cur_sig_info );
- mAv.EnableVideoNow( false );
- } else {
- mAv.DisableVideoWithBlackColor();
- mpTvin->Tvin_StopDecoder();
- }
-*/
if (SOURCE_TV != m_source_input) {
mAv.DisableVideoWithBlackColor();
mpTvin->Tvin_StopDecoder();
@@ -2516,7 +2249,6 @@ void CTv::onSigToUnstable()
void CTv::onSigToUnSupport()
{
LOGD ( "%s, signal to UnSupport\n", __FUNCTION__);
- SetAudioMuteForTv(CC_AUDIO_MUTE);
if ( (SOURCE_TV == m_source_input) && mATVDisplaySnow ) {
mpTvin->SwitchSnow( true );
mpTvin->Tvin_StartDecoder ( m_cur_sig_info );
@@ -2544,7 +2276,6 @@ void CTv::onSigToUnSupport()
void CTv::onSigToNoSig()
{
LOGD ( "%s, signal to NoSignal\n", __FUNCTION__);
- SetAudioMuteForTv(CC_AUDIO_MUTE);
if ( (SOURCE_TV == m_source_input) && mATVDisplaySnow ) {
mpTvin->SwitchSnow( true );
mpTvin->Tvin_StartDecoder ( m_cur_sig_info );
@@ -2569,45 +2300,12 @@ void CTv::onSigToNoSig()
}
}
-void CTv::onHDMIAudioCheckLoop()
-{
- if (( CTvin::Tvin_SourceInputToSourceInputType(m_source_input) == SOURCE_TYPE_HDMI ) ) {
- int sr = mpTvin->get_hdmi_sampling_rate();
- if ( ( sr > 0 ) && ( sr != m_hdmi_sampling_rate ) ) {
- LOGD("HDMI SR CHANGED");
- CMessage msg;
- msg.mDelayMs = 0;
- msg.mType = CTvMsgQueue::TV_MSG_HDMI_SR_CHANGED;
- ((int *)(msg.mpPara))[0] = sr;
- ((int *)(msg.mpPara))[1] = m_hdmi_sampling_rate;
- mTvMsgQueue.sendMsg ( msg );
- m_hdmi_sampling_rate = sr;
- }
-
- //m_hdmi_audio_data init is 0, not audio data , when switch to HDMI
- int hdmi_audio_data = mpTvin->TvinApi_GetHDMIAudioStatus();
- if (hdmi_audio_data != m_hdmi_audio_data && sr > 0) {
- LOGD("HDMI auds_rcv_sts CHANGED = %d", hdmi_audio_data);
- m_hdmi_audio_data = hdmi_audio_data;
- onHMDIAudioStatusChanged(hdmi_audio_data);
- }
- }else if (( CTvin::Tvin_SourceInputToSourceInputType(m_source_input) == SOURCE_TYPE_SPDIF ) ) {
- if ( ( mAudioMuteStatusForTv == CC_AUDIO_MUTE ) && ( m_sig_spdif_nums ++ > 3 ) )
- {
- SetAudioMuteForSystem(CC_AUDIO_UNMUTE);
- SetAudioMuteForTv(CC_AUDIO_UNMUTE);
- LOGD("SPDIF UNMUTE");
- }
- }
-}
-
void CTv::onBootvideoRunning() {
//LOGD("%s,boot video is running", __FUNCTION__);
}
void CTv::onBootvideoStopped() {
LOGD("%s,boot video has stopped", __FUNCTION__);
- SetAudioMasterVolume( GetAudioMasterVolume());
mBootvideoStatusDetectThread->stopDetect();
if (mpTvin->Tvin_RemovePath (TV_PATH_TYPE_TVIN) > 0) {
mpTvin->VDIN_AddVideoPath(TV_PATH_VDIN_AMLVIDEO2_PPMGR_DEINTERLACE_AMVIDEO);
@@ -2713,129 +2411,6 @@ int CTv::SetPreviewWindow ( tvin_window_pos_t pos )
return mAv.setVideoAxis(m_win_pos.x1, m_win_pos.y1, m_win_pos.x2, m_win_pos.y2);
}
-/*********************** Audio start **********************/
-int CTv::SetAudioVolDigitLUTTable ( tv_source_input_t source_input )
-{
- int tmpDefDigitLutBuf[CC_LUT_BUF_SIZE] = { 0 };
- int lut_table_index = 0;
- if (source_input == SOURCE_TV) {
- lut_table_index = CC_GET_LUT_TV;
- } else if (source_input == SOURCE_AV1 || source_input == SOURCE_AV2) {
- lut_table_index = CC_GET_LUT_AV;
- } else if (source_input == SOURCE_YPBPR1 || source_input == SOURCE_YPBPR2) {
- lut_table_index = CC_GET_LUT_COMP;
- } else if (source_input == SOURCE_VGA) {
- lut_table_index = CC_GET_LUT_VGA;
- } else if (source_input == SOURCE_HDMI1 || source_input == SOURCE_HDMI2 || source_input == SOURCE_HDMI3
- || source_input == SOURCE_HDMI4) {
- lut_table_index = CC_GET_LUT_HDMI;
- } else if ( source_input == SOURCE_MPEG ) {
- lut_table_index = CC_GET_LUT_MPEG;
- } else if ( source_input == SOURCE_DTV ) {
- lut_table_index = CC_GET_LUT_MPEG;
- } else if ( source_input == SOURCE_MAX) {
- return 0;
- }
- char MainVolLutTableName[128];
- const char *baseName = GetAudioAmpMainvolTableBaseName(lut_table_index);
- strcpy(MainVolLutTableName, baseName);
- const char *dName = ".";
- strcat(MainVolLutTableName, dName);
- strcat(MainVolLutTableName, mMainVolLutTableExtraName);
- if ( GetAudioAmpMainvolBuf(MainVolLutTableName, tmpDefDigitLutBuf) == 0) {
- AudioSetVolumeDigitLUTBuf ( lut_table_index, tmpDefDigitLutBuf);
- }
- return 0;
-}
-
-void CTv::RefreshAudioMasterVolume ( tv_source_input_t source_input )
-{
- if (source_input == SOURCE_HDMI1 || source_input == SOURCE_HDMI2 || source_input == SOURCE_HDMI3
- || source_input == SOURCE_HDMI4) {
- if ( GetAudioDVISupportEnable() == 1 ) {
- if ( IsDVISignal() ) {
- SetAudioVolDigitLUTTable ( SOURCE_MPEG );
- SetAudioMasterVolume ( GetAudioMasterVolume() );
- return;
- }
- }
- }
-
- SetAudioVolDigitLUTTable ( source_input );
- SetAudioMasterVolume ( GetAudioMasterVolume() );
-}
-
-int CTv::Tv_SetAudioInSource (tv_source_input_t source_input)
-{
- int vol = 255;
- switch (source_input) {
- case SOURCE_TV:
- if (mpTvin->Tvin_GetAudioInSourceType(source_input) == TV_AUDIO_IN_SOURCE_TYPE_ATV) {
- AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_ATV);
- vol = GetAudioInternalDACDigitalPlayBackVolume_Cfg(CC_AUDIO_IN_SOURCE_ATV);
- } else {
- AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_LINEIN);
- vol = GetAudioInternalDACDigitalPlayBackVolume_Cfg(CC_AUDIO_IN_SOURCE_LINEIN);
- }
- break;
- case SOURCE_SPDIF:
- AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_SPDIFIN);
- vol = GetAudioInternalDACDigitalPlayBackVolume_Cfg(CC_AUDIO_IN_SOURCE_SPDIFIN);
- break;
- case SOURCE_AV1:
- case SOURCE_AV2:
- case SOURCE_YPBPR1:
- case SOURCE_YPBPR2:
- case SOURCE_VGA:
- AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_LINEIN);
- vol = GetAudioInternalDACDigitalPlayBackVolume_Cfg(CC_AUDIO_IN_SOURCE_LINEIN);
- break;
- case SOURCE_HDMI1:
- case SOURCE_HDMI2:
- case SOURCE_HDMI3:
- case SOURCE_HDMI4:
- case SOURCE_MPEG:
- case SOURCE_DTV:
- AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_HDMI);
- vol = GetAudioInternalDACDigitalPlayBackVolume_Cfg(CC_AUDIO_IN_SOURCE_HDMI);
- break;
- default:
- break;
- }
- LOGD("%s, we have read SetDAC_Digital_PlayBack_Volume = %d of source [%d].\n", __FUNCTION__, vol, source_input);
- return 0;
-}
-
-int CTv::Tv_SetAudioSourceType (tv_source_input_t source_input)
-{
- int audio_source = -1;
-
- if (source_input == SOURCE_TV) {
- audio_source = AUDIO_ATV_SOURCE;
- } else if (source_input == SOURCE_AV1 || source_input == SOURCE_AV2) {
- audio_source = AUDIO_AV_SOURCE;
- } else if (source_input == SOURCE_HDMI1 || source_input == SOURCE_HDMI2 ||
- source_input == SOURCE_HDMI3 || source_input == SOURCE_HDMI4) {
- audio_source = AUDIO_HDMI_SOURCE;
- } else if (source_input == SOURCE_YPBPR1 || source_input == SOURCE_YPBPR2 ||
- source_input == SOURCE_VGA) {
- audio_source = AUDIO_AV_SOURCE;
- } else if (source_input == SOURCE_DTV) {
- audio_source = AUDIO_MPEG_SOURCE;
- } else {
- audio_source = AUDIO_MPEG_SOURCE;
- }
-
- return AudioSetAudioSourceType(audio_source);
-}
-
-void CTv::Tv_SetAudioOutputSwap_Type (tv_source_input_t source_input)
-{
- int sw_status = GetAudioOutputSwapStatus(source_input);
- SetOutput_Swap(sw_status);
-}
-/*********************** Audio end **********************/
-
unsigned int CTv::Vpp_GetDisplayResolutionInfo(tvin_window_pos_t *win_pos)
{
int display_resolution = mAv.getVideoDisplayResolution();
@@ -2969,7 +2544,6 @@ int CTv::setLcdEnable(bool enable)
int CTv::Tv_SSMRestoreDefaultSetting()
{
SSMRestoreDeviceMarkValues();
- AudioSSMRestoreDefaultSetting();
CVpp::getInstance()->VPPSSMFacRestoreDefault();
MiscSSMRestoreDefault();
ReservedSSMRestoreDefault();
@@ -2992,7 +2566,6 @@ int CTv::clearDbAllProgramInfoTable()
int CTv::Tv_SSMFacRestoreDefaultSetting()
{
CVpp::getInstance()->VPPSSMFacRestoreDefault();
- AudioSSMRestoreDefaultSetting();
MiscSSMFacRestoreDefault();
return 0;
}
@@ -3440,45 +3013,6 @@ int CTv::Tv_SaveDisplayMode ( vpp_display_mode_t mode, tv_source_input_t tv_sour
return SSMSaveDisplayMode ( tv_source_input, (int)mode );
}
-int CTv::setAudioPreGain(tv_source_input_t source_input)
-{
- float pre_gain = getAudioPreGain(source_input);
- if (pre_gain > -100.000001 && pre_gain < -99.999999) {
- return -1;
- }
-
- return setAmAudioPreGain(pre_gain);
-}
-
-float CTv::getAudioPreGain(tv_source_input_t source_input)
-{
- float pre_gain = -100;//default value is -100, if value of gain is -100, don't set it to AMAUDIO.
- switch (source_input) {
- case SOURCE_AV1:
- case SOURCE_AV2:
- pre_gain = config_get_float(CFG_SECTION_TV, CFG_AUDIO_PRE_GAIN_FOR_AV, -100);
- break;
- case SOURCE_HDMI1:
- case SOURCE_HDMI2:
- case SOURCE_HDMI3:
- case SOURCE_HDMI4:
- pre_gain = config_get_float(CFG_SECTION_TV, CFG_AUDIO_PRE_GAIN_FOR_HDMI, -100);
- break;
- case SOURCE_DTV:
- pre_gain = config_get_float(CFG_SECTION_TV, CFG_AUDIO_PRE_GAIN_FOR_DTV, -100);
- break;
- case SOURCE_MPEG:
- pre_gain = 0;
- break;
- case SOURCE_TV:
- pre_gain = config_get_float(CFG_SECTION_TV, CFG_AUDIO_PRE_GAIN_FOR_ATV, -100);
- break;
- default:
- break;
- }
- return pre_gain;
-}
-
int CTv::setEyeProtectionMode(int enable)
{
int ret = -1;
@@ -3537,84 +3071,6 @@ int CTv::Tv_Easupdate()
}
//audio
-void CTv::TvAudioOpen()
-{
- SetAudioAVOutMute(CC_AUDIO_UNMUTE);
- SetAudioSPDIFMute(CC_AUDIO_UNMUTE);
- project_info_t tmp_info;
- if (GetProjectInfo(&tmp_info) == 0) {
- strncpy(mMainVolLutTableExtraName, tmp_info.amp_curve_name, CC_PROJECT_INFO_ITEM_MAX_LEN - 1);
- }
- openTvAudio();
-}
-
-void CTv::AudioCtlUninit()
-{
- int oldMuteStatus = mAudioMuteStatusForTv;
- SetAudioMuteForTv(CC_AUDIO_MUTE);
-
- AudioSetAudioInSource (CC_AUDIO_IN_SOURCE_HDMI);
- SetDAC_Digital_PlayBack_Volume(255);
- AudioSetAudioSourceType (AUDIO_MPEG_SOURCE);
- UnInitTvAudio();
- SetAudioVolumeCompensationVal(0);
- SetAudioMasterVolume(GetAudioMasterVolume());
- UnInitSetTvAudioCard();
-
- SetAudioMuteForTv(oldMuteStatus);
-}
-
-//audio
-int CTv::SetAudioMuteForSystem(int muteOrUnmute)
-{
- int ret = 0;
- LOGD("SetAudioMuteForSystem sysMuteStats=%d, tvMuteStatus=%d, toMute=%d",
- mAudioMuteStatusForSystem, mAudioMuteStatusForTv, muteOrUnmute);
- mAudioMuteStatusForSystem = muteOrUnmute;
- ret |= SetDacMute(mAudioMuteStatusForSystem, CC_DAC_MUTE_TYPE_EXTERNAL);
- ret |= SetAudioI2sMute(mAudioMuteStatusForSystem | mAudioMuteStatusForTv);
- return ret;
-}
-
-int CTv::GetAudioMuteForSystem()
-{
- return mAudioMuteStatusForSystem;
-}
-
-int CTv::SetAudioMuteForTv(int muteOrUnmute)
-{
- int ret = 0;
- mAudioMuteStatusForTv = muteOrUnmute;
- LOGD("SetAudioMuteForTv sysMuteStats=%d, tvMuteStatus=%d, toMute=%d",
- mAudioMuteStatusForSystem, mAudioMuteStatusForTv, muteOrUnmute);
- ret |= SetDacMute(mAudioMuteStatusForSystem | mAudioMuteStatusForTv, CC_DAC_MUTE_TYPE_EXTERNAL | CC_DAC_MUTE_TYPE_INTERNAL);
- ret |= SetAudioI2sMute(mAudioMuteStatusForTv);
- ret |= SetAudioSPDIFMute(mAudioMuteStatusForTv);
- ret |= mAudioAlsa.SetAudioARCSwitch(!mAudioMuteStatusForTv);
- //AudioSystem::setStreamMute(AUDIO_STREAM_MUSIC, mAudioMuteStatusForTv);
- return ret;
-}
-
-int CTv::GetAudioMuteForTv()
-{
- return mAudioMuteStatusForTv;
-}
-
-int CTv::SetAudioSPDIFSwitch(int tmp_val)
-{
- int muteStatus = CC_AUDIO_UNMUTE;
-
- SaveCurAudioSPDIFSwitch(tmp_val);
-
- if (tmp_val == CC_SWITCH_OFF /*|| mAudioMuteStatusForSystem == CC_AUDIO_MUTE || mAudioMuteStatusForTv == CC_AUDIO_MUTE*/) {
- muteStatus = CC_AUDIO_MUTE;
- } else {
- muteStatus = CC_AUDIO_UNMUTE;
- }
-
- SetAudioSPDIFMute(muteStatus);
- return 0;
-}
void CTv::updateSubtitle(int pic_width, int pic_height)
{
@@ -3623,1750 +3079,12 @@ void CTv::updateSubtitle(int pic_width, int pic_height)
ev.pic_height = pic_height;
sendTvEvent(ev);
}
-//--------------------------------------------------
-
-
-//Audio Mute
-int CTv::SetAudioI2sMute(int muteStatus)
-{
- int aud_arch_type = GetAudioArchitectureTypeCFG();
-
- if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD)
- return 0;
-
- int vol = 256;
- if (muteStatus == CC_AUDIO_MUTE) {
- vol = 0;
- } else {
- vol = 256;
- }
- CFile::setFileAttrValue(SYS_AUIDO_DIRECT_RIGHT_GAIN, vol);
- CFile::setFileAttrValue(SYS_AUIDO_DIRECT_LEFT_GAIN, vol);
- return 0;
-}
-
-int CTv::SetDacMute(int muteStatus, int mute_type)
-{
- int tmp_ret = 0;
- if (mute_type & CC_DAC_MUTE_TYPE_INTERNAL) {
- tmp_ret |= mAudioAlsa.SetInternalDacMute(muteStatus);
- }
-
- if (mute_type & CC_DAC_MUTE_TYPE_EXTERNAL) {
- int set_val = 0;
- int aud_arch_type = GetAudioArchitectureTypeCFG();
-
- if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD) {
- if (muteStatus == CC_AUDIO_MUTE) {
- set_val = CC_MUTE_ON;
- } else if (muteStatus == CC_AUDIO_UNMUTE) {
- set_val = CC_MUTE_OFF;
- } else {
- return -1;
- }
-
- mAudioAlsa.SetExternalDacChannelSwitch(1, set_val);
- mAudioAlsa.SetExternalDacChannelSwitch(2, set_val);
- //showboz: can disable it
- mAudioAlsa.SetExternalDacChannelSwitch(3, set_val);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC) {
- SendCmdToOffBoardFBCExternalDac(AUDIO_CMD_SET_MUTE, muteStatus);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB) {
- mCustomerCtrl.SetMute((muteStatus == CC_AUDIO_MUTE) ? CAudioCustomerCtrl::MUTE : CAudioCustomerCtrl::UNMUTE);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_DIGITAL) {
- mAudioAlsa.SetDigitalMute(muteStatus);
- }
- mAudioAlsa.setAudioPcmPlaybackMute(muteStatus);
- }
- return tmp_ret;
-}
-
-int CTv::SetAudioAVOutMute(int muteStatus)
-{
- SSMSaveAudioAVOutMuteVal(muteStatus);
- return mAudioAlsa.SetInternalDacMute(muteStatus);
-}
-
-int CTv::GetAudioAVOutMute()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioAVOutMuteVal(&tmp_ch);
- return tmp_ch;
-}
-
-int CTv::SetAudioSPDIFMute(int muteStatus)
-{
- if (GetCurAudioSPDIFSwitch() == CC_SWITCH_OFF) {
- muteStatus = CC_AUDIO_MUTE;
- }
-
- SSMSaveAudioSPIDFMuteVal(muteStatus);
- return mAudioAlsa.SetSPDIFMute(muteStatus);
-}
-
-int CTv::GetAudioSPDIFMute()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioSPIDFMuteVal(&tmp_ch);
- return tmp_ch;
-}
-
-int CTv::GetCurAudioSPDIFSwitch()
-{
- return mCurAudioSPDIFSwitch;
-}
-
-int CTv::SaveCurAudioSPDIFSwitch(int tmp_val)
-{
- mCurAudioSPDIFSwitch = tmp_val;
- SSMSaveAudioSPDIFSwitchVal(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSPDIFSwitch()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioSPDIFSwitchVal(&tmp_ch);
- mCurAudioSPDIFSwitch = tmp_ch;
- if (mCurAudioSPDIFSwitch != CC_SWITCH_ON
- && mCurAudioSPDIFSwitch != CC_SWITCH_OFF) {
- SaveCurAudioSPDIFSwitch (CC_SWITCH_ON);
- }
- return mCurAudioSPDIFSwitch;
-}
-
-//Audio SPDIF Mode
-int CTv::SetAudioSPDIFMode(int tmp_val)
-{
- LOGD("%s : val = %d\n", __FUNCTION__, tmp_val);
- mCurAudioSPDIFMode = tmp_val;
- SetSPDIFMode(tmp_val);
- return 0;
-}
-
-int CTv::GetCurAudioSPDIFMode()
-{
- return mCurAudioSPDIFMode;
-}
-
-int CTv::SaveCurAudioSPDIFMode(int tmp_val)
-{
- mCurAudioSPDIFMode = tmp_val;
- SSMSaveAudioSPDIFModeVal(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSPDIFMode()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioSPDIFModeVal(&tmp_ch);
- mCurAudioSPDIFMode = tmp_ch;
- if (mCurAudioSPDIFMode != CC_SPDIF_MODE_PCM
- && mCurAudioSPDIFMode != CC_SPDIF_MODE_RAW) {
- SaveCurAudioSPDIFMode (CC_SPDIF_MODE_PCM);
- }
- return mCurAudioSPDIFMode;
-}
-
-int CTv::SetAudioMasterVolume(int tmp_vol)
-{
- LOGD("%s, tmp_vol = %d", __FUNCTION__, tmp_vol);
- mCustomAudioMasterVolume = tmp_vol;
- if (!isBootvideoStopped()) {
- mBootvideoStatusDetectThread->startDetect();
- return 0;
- }
- if (GetUseAndroidVolEnable()) {
- int master_vol;
- master_vol = config_get_int(CFG_SECTION_TV, CFG_AUDIO_MASTER_VOL, 150);
- mAudioAlsa.SetExternalDacChannelVolume(0, master_vol);
- return 0;
- }
-
- //Volume Compensation
- tmp_vol += mVolumeCompensationVal;
-
- if (tmp_vol > CC_MAX_SOUND_VOL) {
- tmp_vol = CC_MAX_SOUND_VOL;
- }
-
- if (tmp_vol < CC_MIN_SOUND_VOL) {
- tmp_vol = CC_MIN_SOUND_VOL;
- }
-
- int tmp_ret = 0;
- int aud_arch_type = GetAudioArchitectureTypeCFG();
-
- if (aud_arch_type == CC_DAC_G9TV_INTERNAL_DAC) {
- tmp_ret = mAudioAlsa.SetInternalDacMainVolume(tmp_vol);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD) {
- int digit_vol = 0;
- int vol_gain_val = 0;
- int vol_buf[2] = {0, 0};
-
- //handle l&r channel volume for balance
- mAudioAlsa.CalculateBalanceVol(255, mMainVolumeBalanceVal, vol_buf);
-
- tmp_ret |= mAudioAlsa.SetExternalDacChannelVolume(1, vol_buf[0]);
- tmp_ret |= mAudioAlsa.SetExternalDacChannelVolume(2, vol_buf[1]);
-
- //handle master channel volume
- digit_vol = mAudioAlsa.TransVolumeBarVolToDigitalVol(mAudioAlsa.GetMainVolDigitLutBuf(), tmp_vol);
-
- vol_gain_val = mAudioAlsa.GetMainVolumeGain();
- digit_vol += vol_gain_val;
- tmp_ret |= mAudioAlsa.SetExternalDacChannelVolume(0, digit_vol);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC) {
- tmp_ret = SendCmdToOffBoardFBCExternalDac(AUDIO_CMD_SET_VOLUME_BAR, tmp_vol);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB) {
- tmp_ret = mCustomerCtrl.SetVolumeBar(tmp_vol);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_DIGITAL) {
- int vol_buf[2] = {0, 0};
- mAudioAlsa.CalculateBalanceVol(tmp_vol, mMainVolumeBalanceVal, vol_buf);
- tmp_ret = mAudioAlsa.SetDigitalMainVolume(vol_buf[0], vol_buf[1]);
- }
- if ( Get2d4gHeadsetEnable() == 1 ) {
- setAudioPcmPlaybackVolume(tmp_vol);
- }
- return 0;
-}
-
-int CTv::GetAudioMasterVolume()
-{
- return mCustomAudioMasterVolume;
-}
-
-int CTv::GetCurAudioMasterVolume()
-{
- return mCurAudioMasterVolume;
-}
-
-int CTv::SaveCurAudioMasterVolume(int tmp_vol)
-{
- mCurAudioMasterVolume = tmp_vol;
- SSMSaveAudioMasterVolume(tmp_vol);
- return tmp_vol;
-}
-
-int CTv::LoadCurAudioMasterVolume()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioMasterVolume(&tmp_ch);
- mCurAudioMasterVolume = tmp_ch;
- if (mCurAudioMasterVolume < CC_MIN_SOUND_VOL
- || mCurAudioMasterVolume > CC_MAX_SOUND_VOL) {
- SaveCurAudioMasterVolume (CC_DEF_SOUND_VOL);
- }
- mCustomAudioMasterVolume = mCurAudioMasterVolume;
-
- return mCurAudioMasterVolume;
-}
-
-int CTv::SetAudioBalance(int tmp_val)
-{
- mCustomAudioBalance = tmp_val;
-
- int aud_arch_type = GetAudioArchitectureTypeCFG();
- int max_vol = config_get_int(CFG_SECTION_TV, CFG_AUDIO_BALANCE_MAX_VOL, 255);
-
- mMainVolumeBalanceVal = tmp_val;
-
- if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC) {
- SendCmdToOffBoardFBCExternalDac(AUDIO_CMD_SET_BALANCE, mMainVolumeBalanceVal);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB) {
- mCustomerCtrl.SetBlance(mMainVolumeBalanceVal);
- } else {
- int tmp_ret = 0;
- int vol_buf[2] = {0, 0};
- mAudioAlsa.CalculateBalanceVol(max_vol, mMainVolumeBalanceVal, vol_buf);
-
- tmp_ret |= mAudioAlsa.SetExternalDacChannelVolume(1, vol_buf[0]);
- tmp_ret |= mAudioAlsa.SetExternalDacChannelVolume(2, vol_buf[1]);
- }
- return 0;
-}
-
-int CTv::GetAudioBalance()
-{
- return mCustomAudioBalance;
-}
-
-int CTv::GetCurAudioBalance()
-{
- return mCurAudioBalance;
-}
-
-int CTv::SaveCurAudioBalance(int tmp_val)
-{
- mCurAudioBalance = tmp_val;
- SSMSaveAudioBalanceVal(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioBalance()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioBalanceVal(&tmp_ch);
- mCurAudioBalance = tmp_ch;
- if (mCurAudioBalance < CC_MIN_SOUND_BALANCE_VAL
- || mCurAudioBalance > CC_MAX_SOUND_BALANCE_VAL) {
- SaveCurAudioBalance (CC_DEF_SOUND_BALANCE_VAL);
- }
-
- mCustomAudioBalance = mCurAudioBalance;
-
- return mCurAudioBalance;
-}
-
-int CTv::SetAudioVolumeCompensationVal(int tmp_vol_comp_val)
-{
- mVolumeCompensationVal = tmp_vol_comp_val;
- LOGD("%s, new vol comp value = %d.\n", __FUNCTION__, tmp_vol_comp_val);
- return mVolumeCompensationVal;
-}
-
-int CTv::SetAudioSupperBassVolume(int tmp_vol)
-{
- mCustomAudioSupperBassVolume = tmp_vol;
-
- int aud_arch_type = GetAudioArchitectureTypeCFG();
- int tmp_ret = 0;
-
- if (aud_arch_type == CC_DAC_G9TV_INTERNAL_DAC) {
- return 0;
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD) {
- int digit_vol = 0;
- int vol_gain_val = 0;
-
- digit_vol = mAudioAlsa.TransVolumeBarVolToDigitalVol(mAudioAlsa.GetMainVolDigitLutBuf(), tmp_vol);
-
- vol_gain_val = mAudioAlsa.GetSupperBassVolumeGain();
- digit_vol += vol_gain_val;
- if (digit_vol < CC_MIN_DAC_SUB_WOOFER_VOLUME) {
- digit_vol = CC_MIN_DAC_SUB_WOOFER_VOLUME;
- } else if (digit_vol > CC_MAX_DAC_SUB_WOOFER_VOLUME) {
- digit_vol = CC_MAX_DAC_SUB_WOOFER_VOLUME;
- }
-
- tmp_ret = mAudioAlsa.SetExternalDacChannelVolume(3, digit_vol);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC) {
- tmp_ret = SendCmdToOffBoardFBCExternalDac(AUDIO_CMD_SET_SUBCHANNEL_VOLUME, tmp_vol);
- }
-
- return tmp_ret;
-}
-
-int CTv::GetAudioSupperBassVolume()
-{
- return mCustomAudioSupperBassVolume;
-}
-
-int CTv::GetCurAudioSupperBassVolume()
-{
- return mCurAudioSupperBassVolume;
-}
-
-int CTv::SaveCurAudioSupperBassVolume(int tmp_vol)
-{
- mCurAudioSupperBassVolume = tmp_vol;
- SSMSaveAudioSupperBassVolume(tmp_vol);
-
- return tmp_vol;
-}
-
-int CTv::LoadCurAudioSupperBassVolume()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioSupperBassVolume(&tmp_ch);
- mCurAudioSupperBassVolume = tmp_ch;
- if (mCurAudioSupperBassVolume < CC_MIN_SUPPERBASS_VOL
- || mCurAudioSupperBassVolume > CC_MAX_SUPPERBASS_VOL) {
- SaveCurAudioSupperBassVolume (CC_DEF_SUPPERBASS_VOL);
- }
- mCustomAudioSupperBassVolume = mCurAudioSupperBassVolume;
-
- return mCurAudioSupperBassVolume;
-}
-
-int CTv::SetAudioSupperBassSwitch(int tmp_val)
-{
- mCustomAudioSupperBassSwitch = tmp_val;
-
- if (GetAudioSupperBassSwitch() == CC_SWITCH_OFF) {
- return SetAudioSupperBassVolume(CC_MIN_SUPPERBASS_VOL);
- }
-
- return SetAudioSupperBassVolume(GetAudioSupperBassVolume());
-}
-
-int CTv::GetAudioSupperBassSwitch()
-{
- if (GetAudioSupperBassSwitchDisableCFG() != 0) {
- return CC_SWITCH_ON;
- }
-
- return mCustomAudioSupperBassSwitch;
-}
-
-int CTv::GetCurAudioSupperBassSwitch()
-{
- if (GetAudioSupperBassSwitchDisableCFG() != 0) {
- return CC_SWITCH_ON;
- }
-
- return mCurAudioSupperBassSwitch;
-}
-
-int CTv::SaveCurAudioSupperBassSwitch(int tmp_val)
-{
- mCurAudioSupperBassSwitch = tmp_val;
- SSMSaveAudioSupperBassSwitch(tmp_val);
- SetSupperBassSRSSpeakerSize();
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSupperBassSwitch()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioSupperBassSwitch(&tmp_ch);
- mCurAudioSupperBassSwitch = tmp_ch;
- if (mCurAudioSupperBassSwitch != CC_SWITCH_ON
- && mCurAudioSupperBassSwitch != CC_SWITCH_OFF) {
- SaveCurAudioSupperBassSwitch (CC_SWITCH_OFF);
- }
- mCustomAudioSupperBassSwitch = mCurAudioSupperBassSwitch;
-
- return mCurAudioSupperBassSwitch;
-}
-
-void CTv::SetSupperBassSRSSpeakerSize()
-{
- int tmp_speakersize = -1;
-
- if (GetAudioSrsTruBass() == CC_SWITCH_ON) {
- tmp_speakersize = GetAudioSRSSupperBassTrubassSpeakerSizeCfg();
- if (tmp_speakersize >= 0) {
- mAudioEffect.SetSrsTrubassSpeakerSize(tmp_speakersize);
- }
- }
-}
-
-int CTv::SetAudioSRSSurround(int tmp_val)
-{
- mCustomAudioSRSSurround = tmp_val;
- RefreshSrsEffectAndDacGain();
- return 0;
-}
-
-int CTv::GetAudioSRSSurround()
-{
- return mCustomAudioSRSSurround;
-}
-
-int CTv::GetCurAudioSRSSurround()
-{
- return mCurAudioSRSSurround;
-}
-
-int CTv::SaveCurAudioSrsSurround(int tmp_val)
-{
- mCurAudioSRSSurround = tmp_val;
- SSMSaveAudioSRSSurroundSwitch(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSrsSurround()
-{
- int8_t tmp_ch = 0;
-
- SSMReadAudioSRSSurroundSwitch(&tmp_ch);
- mCurAudioSRSSurround = tmp_ch;
- if (mCurAudioSRSSurround != CC_SWITCH_ON
- && mCurAudioSRSSurround != CC_SWITCH_OFF) {
- SaveCurAudioSrsSurround (CC_SWITCH_OFF);
- }
- mCustomAudioSRSSurround = mCurAudioSRSSurround;
-
- return mCurAudioSRSSurround;
-}
-
-int CTv::SetAudioSrsDialogClarity(int tmp_val)
-{
- mCustomAudioSrsDialogClarity = tmp_val;
- RefreshSrsEffectAndDacGain();
- return 0;
-}
-
-int CTv::GetAudioSrsDialogClarity()
-{
- return mCustomAudioSrsDialogClarity;
-}
-
-int CTv::GetCurAudioSrsDialogClarity()
-{
- return mCurAudioSrsDialogClarity;
-}
-
-int CTv::SaveCurAudioSrsDialogClarity(int tmp_val)
-{
- mCurAudioSrsDialogClarity = tmp_val;
- SSMSaveAudioSRSDialogClaritySwitch(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSrsDialogClarity()
-{
- int8_t tmp_ch = 0;
-
- SSMReadAudioSRSDialogClaritySwitch(&tmp_ch);
- mCurAudioSrsDialogClarity = tmp_ch;
- if (mCurAudioSrsDialogClarity != CC_SWITCH_ON
- && mCurAudioSrsDialogClarity != CC_SWITCH_OFF) {
- SaveCurAudioSrsDialogClarity (CC_SWITCH_OFF);
- }
- mCustomAudioSrsDialogClarity = mCurAudioSrsDialogClarity;
-
- return mCurAudioSrsDialogClarity;
-}
-
-int CTv::SetAudioSrsTruBass(int tmp_val)
-{
- mCustomAudioSrsTruBass = tmp_val;
- RefreshSrsEffectAndDacGain();
- return 0;
-}
-
-int CTv::GetAudioSrsTruBass()
-{
- return mCustomAudioSrsTruBass;
-}
-
-int CTv::GetCurAudioSrsTruBass()
-{
- return mCurAudioSrsTruBass;
-}
-
-int CTv::SaveCurAudioSrsTruBass(int tmp_val)
-{
- mCurAudioSrsTruBass = tmp_val;
- SSMSaveAudioSRSTruBassSwitch(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSrsTruBass()
-{
- int8_t tmp_ch = 0;
-
- SSMReadAudioSRSTruBassSwitch(&tmp_ch);
- mCurAudioSrsTruBass = tmp_ch;
- if (mCurAudioSrsTruBass != CC_SWITCH_ON
- && mCurAudioSrsTruBass != CC_SWITCH_OFF) {
- SaveCurAudioSrsTruBass (CC_SWITCH_OFF);
- }
- mCustomAudioSrsTruBass = mCurAudioSrsTruBass;
-
- return mCurAudioSrsTruBass;
-}
-
-void CTv::RefreshSrsEffectAndDacGain()
-{
- int tmp_gain_val = 0;
- int surround_switch = CC_SWITCH_OFF;
- int trubass_switch = CC_SWITCH_OFF;
- int dialogclarity_switch = CC_SWITCH_OFF;
- trubass_switch = GetAudioSrsTruBass();
- dialogclarity_switch = GetAudioSrsDialogClarity();
- surround_switch = GetAudioSRSSurround();
-
- if (GetAudioSRSSourroundEnableCFG() == 0) {
- return;
- }
-
- if (surround_switch == CC_SWITCH_ON) {
- mAudioEffect.SetSrsSurroundSwitch(CC_SWITCH_ON);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_SOURROUND_GAIN, 50);
- mAudioEffect.SetSrsSurroundGain(tmp_gain_val);
-
- int input_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_INPUT_GAIN, 50);
- int out_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_OUTPUT_GAIN, 50);
- mAudioEffect.SetSrsInputOutputGain(input_gain_val, out_gain_val);
-
- if (trubass_switch == CC_SWITCH_ON
- && dialogclarity_switch == CC_SWITCH_OFF) {
-
- mAudioEffect.SetSrsTruBassSwitch (CC_SWITCH_ON);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_TRUBASS_GAIN, 50);
- mAudioEffect.SetSrsTruBassGain(tmp_gain_val);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_TRUBASS_SPEAKERSIZE, 2);
- mAudioEffect.SetSrsTrubassSpeakerSize(tmp_gain_val);
-
- mAudioEffect.SetSrsDialogClaritySwitch (CC_SWITCH_OFF);
-
- } else if (trubass_switch == CC_SWITCH_OFF
- && dialogclarity_switch == CC_SWITCH_ON) {
-
- mAudioEffect.SetSrsDialogClaritySwitch (CC_SWITCH_ON);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_CLARITY_GAIN, 30);
- mAudioEffect.SetSrsDialogClarityGain(tmp_gain_val);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_DEFINITION_GAIN, 20);
- mAudioEffect.SetSrsDefinitionGain(tmp_gain_val);
-
- mAudioEffect.SetSrsTruBassSwitch (CC_SWITCH_OFF);
-
- } else if (trubass_switch == CC_SWITCH_ON
- && dialogclarity_switch == CC_SWITCH_ON) {
-
- mAudioEffect.SetSrsTruBassSwitch (CC_SWITCH_ON);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_TRUBASS_GAIN, 50);
- mAudioEffect.SetSrsTruBassGain(tmp_gain_val);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_TRUBASS_SPEAKERSIZE, 2);
- mAudioEffect.SetSrsTrubassSpeakerSize(tmp_gain_val);
-
- mAudioEffect.SetSrsDialogClaritySwitch(CC_SWITCH_ON);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_CLARITY_GAIN, 30);
- mAudioEffect.SetSrsDialogClarityGain(tmp_gain_val);
- tmp_gain_val = GetAudioSRSGainCfg(CFG_AUDIO_SRS_DEFINITION_GAIN, 20);
- mAudioEffect.SetSrsDefinitionGain(tmp_gain_val);
-
- } else if (trubass_switch == CC_SWITCH_OFF
- && dialogclarity_switch == CC_SWITCH_OFF) {
- mAudioEffect.SetSrsTruBassSwitch (CC_SWITCH_OFF);
- mAudioEffect.SetSrsDialogClaritySwitch(CC_SWITCH_OFF);
- }
- SetSupperBassSRSSpeakerSize();
- } else {
- mAudioEffect.SetSrsSurroundSwitch (CC_SWITCH_OFF);
- mAudioEffect.SetSrsTruBassSwitch(CC_SWITCH_OFF);
- mAudioEffect.SetSrsDialogClaritySwitch(CC_SWITCH_OFF);
- }
- //Refesh DAC gain
- int main_gain_val = 0;
- if (surround_switch == CC_SWITCH_ON) {
- main_gain_val = GetAudioEffectAmplifierGainCfg(CFG_AUDIO_SRS_SOURROUND_MASTER_GAIN, 6, 24);
- if (dialogclarity_switch == CC_SWITCH_ON
- && trubass_switch == CC_SWITCH_OFF) {
- main_gain_val = GetAudioEffectAmplifierGainCfg(CFG_AUDIO_SRS_CLARITY_MASTER_GAIN, 6, 24);
- } else if (dialogclarity_switch == CC_SWITCH_OFF
- && trubass_switch == CC_SWITCH_ON) {
- main_gain_val = GetAudioEffectAmplifierGainCfg(CFG_AUDIO_SRS_TRUBASS_MASTER_GAIN, 6, 24);
- } else if (dialogclarity_switch == CC_SWITCH_ON
- && trubass_switch == CC_SWITCH_ON) {
- main_gain_val = GetAudioEffectAmplifierGainCfg(CFG_AUDIO_SRS_TRUBASS_CLARITY_MASTER_GAIN, 6, 24);
- }
- }
- mAudioAlsa.SetMainVolumeGain(main_gain_val);
-}
-
-int CTv::SetAudioVirtualizer(int enable, int EffectLevel)
-{
- config_set_int(CFG_SECTION_TV, CFG_AUDIO_VIRTUAL_ENABLE, enable);
- config_set_int(CFG_SECTION_TV, CFG_AUDIO_VIRTUAL_LEVEL, EffectLevel);
- return mAudioEffect.SetAudioVirtualizer(enable, EffectLevel);
-}
-
-int CTv::GetAudioVirtualizerEnable()
-{
- return config_get_int(CFG_SECTION_TV, CFG_AUDIO_VIRTUAL_ENABLE, 0);
-}
-
-int CTv::GetAudioVirtualizerLevel()
-{
- return config_get_int(CFG_SECTION_TV, CFG_AUDIO_VIRTUAL_LEVEL, 100);
-}
-
-int CTv::LoadAudioVirtualizer()
-{
- return SetAudioVirtualizer(GetAudioVirtualizerEnable(), GetAudioVirtualizerLevel());
-}
-
-int CTv::SetAudioBassVolume(int tmp_vol) {
- int nMinBassVol = 0, nMaxBassVol = 0;
-
- nMinBassVol = GetBassUIMinGainVal();
- nMaxBassVol = GetBassUIMaxGainVal();
-
- if (tmp_vol < nMinBassVol || tmp_vol > nMaxBassVol) {
- tmp_vol = (nMaxBassVol + nMinBassVol) / 2;
- }
-
- mCustomAudioBassVolume = tmp_vol;
- tmp_vol = MappingTrebleBassAndEqualizer(GetAudioBassVolume(), 0,
- nMinBassVol, nMaxBassVol);
- return SetSpecialIndexEQGain(CC_EQ_BASS_IND, tmp_vol);
-}
-
-int CTv::GetAudioBassVolume()
-{
- return mCustomAudioBassVolume;
-}
-
-int CTv::GetCurAudioBassVolume()
-{
- return mCurAudioBassVolume;
-}
-
-int CTv::SaveCurAudioBassVolume(int tmp_vol)
-{
- int nMinBassVol = 0, nMaxBassVol = 0;
-
- nMinBassVol = GetBassUIMinGainVal();
- nMaxBassVol = GetBassUIMaxGainVal();
-
- if (tmp_vol < nMinBassVol || tmp_vol > nMaxBassVol) {
- tmp_vol = (nMaxBassVol + nMinBassVol) / 2;
- }
-
- RealSaveCurAudioBassVolume(tmp_vol, 1);
-
- tmp_vol = MappingTrebleBassAndEqualizer(GetCurAudioBassVolume(), 0,
- nMinBassVol, nMaxBassVol);
- return SaveSpecialIndexEQGain(CC_EQ_BASS_IND, tmp_vol);
-}
-
-int CTv::RealSaveCurAudioBassVolume(int tmp_vol, int sound_mode_judge)
-{
- mCurAudioBassVolume = tmp_vol;
- SSMSaveAudioBassVolume(tmp_vol);
-
- if (sound_mode_judge == 1) {
- if (GetAudioSoundMode() != CC_SOUND_MODE_USER) {
- SaveCurAudioSoundMode (CC_SOUND_MODE_USER);
- mCustomAudioSoundMode = mCurAudioSoundMode;
- }
- }
- return mCurAudioBassVolume;
-}
-
-int CTv::LoadCurAudioBassVolume()
-{
- int nMinBassVol = 0, nMaxBassVol = 0;
- int8_t tmp_ch = 0;
-
- nMinBassVol = GetBassUIMinGainVal();
- nMaxBassVol = GetBassUIMaxGainVal();
-
- SSMReadAudioBassVolume(&tmp_ch);
- mCurAudioBassVolume = tmp_ch;
- if (mCurAudioBassVolume < nMinBassVol
- || mCurAudioBassVolume > nMaxBassVol) {
- RealSaveCurAudioBassVolume((nMaxBassVol + nMinBassVol) / 2, 0);
- }
-
- mCustomAudioBassVolume = mCurAudioBassVolume;
- return mCurAudioBassVolume;
-}
-
-int CTv::SetAudioTrebleVolume(int tmp_vol)
-{
- int nMinTrebleVol = 0, nMaxTrebleVol = 0;
-
- nMinTrebleVol = GetTrebleUIMinGainVal();
- nMaxTrebleVol = GetTrebleUIMaxGainVal();
-
- if (tmp_vol < nMinTrebleVol || tmp_vol > nMaxTrebleVol) {
- tmp_vol = (nMaxTrebleVol + nMinTrebleVol) / 2;
- }
-
- mCustomAudioTrebleVolume = tmp_vol;
-
- tmp_vol = MappingTrebleBassAndEqualizer(GetAudioTrebleVolume(), 0,
- nMinTrebleVol, nMaxTrebleVol);
- return SetSpecialIndexEQGain(CC_EQ_TREBLE_IND, tmp_vol);
-}
-
-int CTv::GetAudioTrebleVolume()
-{
- return mCustomAudioTrebleVolume;
-}
-
-int CTv::GetCurAudioTrebleVolume()
-{
- return mCurAudioTrebleVolume;
-}
-
-int CTv::SaveCurAudioTrebleVolume(int tmp_vol)
-{
- int nMinTrebleVol = 0, nMaxTrebleVol = 0;
-
- nMinTrebleVol = GetTrebleUIMinGainVal();
- nMaxTrebleVol = GetTrebleUIMaxGainVal();
-
- if (tmp_vol < nMinTrebleVol || tmp_vol > nMaxTrebleVol) {
- tmp_vol = (nMaxTrebleVol + nMinTrebleVol) / 2;
- }
-
- RealSaveCurAudioTrebleVolume(tmp_vol, 1);
-
- tmp_vol = MappingTrebleBassAndEqualizer(GetCurAudioTrebleVolume(), 0,
- nMinTrebleVol, nMaxTrebleVol);
- return SaveSpecialIndexEQGain(CC_EQ_TREBLE_IND, tmp_vol);
-}
-
-int CTv::RealSaveCurAudioTrebleVolume(int tmp_vol, int sound_mode_judge)
-{
- mCurAudioTrebleVolume = tmp_vol;
- SSMSaveAudioTrebleVolume(tmp_vol);
-
- if (sound_mode_judge == 1) {
- if (GetAudioSoundMode() != CC_SOUND_MODE_USER) {
- SaveCurAudioSoundMode (CC_SOUND_MODE_USER);
- mCustomAudioSoundMode = mCurAudioSoundMode;
- }
- }
-
- return mCurAudioTrebleVolume;
-}
-
-int CTv::LoadCurAudioTrebleVolume()
-{
- int nMinTrebleVol = 0, nMaxTrebleVol = 0;
- int8_t tmp_ch = 0;
-
- nMinTrebleVol = GetTrebleUIMinGainVal();
- nMaxTrebleVol = GetTrebleUIMaxGainVal();
-
- SSMReadAudioTrebleVolume(&tmp_ch);
- mCurAudioTrebleVolume = tmp_ch;
- if (mCurAudioTrebleVolume < nMinTrebleVol
- || mCurAudioTrebleVolume > nMaxTrebleVol) {
- RealSaveCurAudioTrebleVolume((nMaxTrebleVol + nMinTrebleVol) / 2, 0);
- }
-
- mCustomAudioTrebleVolume = mCurAudioTrebleVolume;
- return mCurAudioTrebleVolume;
-}
-
-int CTv::SetAudioSoundMode(int tmp_val)
-{
- mCustomAudioSoundMode = tmp_val;
- SetSpecialModeEQGain(mCustomAudioSoundMode);
-
- HandleTrebleBassVolume();
- return 0;
-}
-
-int CTv::GetAudioSoundMode()
-{
- return mCustomAudioSoundMode;
-}
-
-int CTv::GetCurAudioSoundMode()
-{
- return mCurAudioSoundMode;
-}
-
-int CTv::SaveCurAudioSoundMode(int tmp_val)
-{
- mCurAudioSoundMode = tmp_val;
- SSMSaveAudioSoundModeVal(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioSoundMode()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioSoundModeVal(&tmp_ch);
- mCurAudioSoundMode = tmp_ch;
- if (mCurAudioSoundMode < CC_SOUND_MODE_START
- || mCurAudioSoundMode > CC_SOUND_MODE_END) {
- SaveCurAudioSoundMode (CC_SOUND_MODE_STD);
- }
- mCustomAudioSoundMode = mCurAudioSoundMode;
- return mCurAudioSoundMode;
-}
-
-int CTv::HandleTrebleBassVolume()
-{
- int tmp_vol = 0;
- int tmpEQGainBuf[128] = { 0 };
- int8_t tmp_ch = 0;
-
- GetCustomEQGain(tmpEQGainBuf);
-
- tmp_vol = MappingTrebleBassAndEqualizer(tmpEQGainBuf[CC_EQ_TREBLE_IND], 1,
- GetTrebleUIMinGainVal(), GetTrebleUIMaxGainVal());
- mCustomAudioTrebleVolume = tmp_vol;
- mCurAudioTrebleVolume = mCustomAudioTrebleVolume;
- tmp_ch = mCustomAudioTrebleVolume;
- SSMSaveAudioTrebleVolume(tmp_ch);
-
- tmp_vol = MappingTrebleBassAndEqualizer(tmpEQGainBuf[CC_EQ_BASS_IND], 1,
- GetBassUIMinGainVal(), GetBassUIMaxGainVal());
- mCustomAudioBassVolume = tmp_vol;
- mCurAudioBassVolume = mCustomAudioBassVolume;
- tmp_ch = mCustomAudioBassVolume;
- SSMSaveAudioBassVolume(tmp_ch);
- return 0;
-}
-
-int CTv::SetAudioWallEffect(int tmp_val)
-{
- int tmp_treble_val;
- int tmp_type = 0;
-
- mCustomAudioWallEffect = tmp_val;
-
- tmp_type = GetAudioWallEffectTypeCfg();
- if (tmp_type == 0) {
- SetCustomEQGain();
- } else if (tmp_type == 1) {
- int aud_arch_type = GetAudioArchitectureTypeCFG();
- if (aud_arch_type == CC_DAC_G9TV_INTERNAL_DAC) {
- return 0;
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD) {
- mAudioAlsa.SetExternalDacEQMode(tmp_val);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC) {
- SendCmdToOffBoardFBCExternalDac(AUDIO_CMD_SET_EQ_MODE, tmp_val);
- }
- }
- return 0;
-}
-
-int CTv::GetAudioWallEffect()
-{
- return mCustomAudioWallEffect;
-}
-
-int CTv::GetCurAudioWallEffect()
-{
- return mCurAudioWallEffect;
-}
-
-int CTv::SaveCurAudioWallEffect(int tmp_val)
-{
- mCurAudioWallEffect = tmp_val;
- SSMSaveAudioWallEffectSwitch(tmp_val);
- return tmp_val;
-}
-
-int CTv::LoadCurAudioWallEffect()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioWallEffectSwitch(&tmp_ch);
- mCurAudioWallEffect = tmp_ch;
- if (mCurAudioWallEffect != CC_SWITCH_ON
- && mCurAudioWallEffect != CC_SWITCH_OFF) {
- SaveCurAudioWallEffect (CC_SWITCH_OFF);
- }
-
- mCustomAudioWallEffect = mCurAudioWallEffect;
- return mCurAudioWallEffect;
-}
-
-int CTv::SetAudioEQMode(int tmp_val)
-{
- mCustomAudioEQMode = tmp_val;
- return 0;
-}
-
-int CTv::GetAudioEQMode()
-{
- return mCustomAudioEQMode;
-}
-
-int CTv::GetCurAudioEQMode()
-{
- return mCurAudioEQMode;
-}
-
-int CTv::SaveCurAudioEQMode(int tmp_val)
-{
- mCurAudioEQMode = tmp_val;
- SSMSaveAudioEQModeVal(tmp_val);
-
- return tmp_val;
-}
-
-int CTv::LoadCurAudioEQMode()
-{
- int8_t tmp_ch = 0;
- SSMReadAudioEQModeVal(&tmp_ch);
- mCurAudioEQMode = tmp_ch;
- if (mCurAudioEQMode < CC_EQ_MODE_START
- || mCurAudioEQMode > CC_EQ_MODE_END) {
- SaveCurAudioEQMode (CC_EQ_MODE_START);
- }
- mCustomAudioEQMode = mCurAudioEQMode;
-
- return mCurAudioEQMode;
-}
-
-int CTv::GetAudioEQRange(int range_buf[])
-{
- range_buf[0] = CC_MIN_EQ_GAIN_VAL;
- range_buf[1] = CC_MAX_EQ_GAIN_VAL;
- return 0;
-}
-
-int CTv::GetAudioEQBandCount()
-{
- return mAudioEffect.GetEQBandCount();
-}
-
-int CTv::SetAudioEQGain(int gain_buf[])
-{
- return AudioSetEQGain(gain_buf);
-}
-
-int CTv::GetAudioEQGain(int gain_buf[])
-{
- return GetCustomEQGain(gain_buf);
-}
-
-int CTv::GetCurAudioEQGain(int gain_buf[])
-{
- RealReadCurAudioEQGain(gain_buf);
- return 0;
-}
-
-int CTv::SaveCurAudioEQGain(int gain_buf[])
-{
- return RealSaveCurAudioEQGain(gain_buf, 1);
-}
-
-int CTv::RealReadCurAudioEQGain(int gain_buf[])
-{
- ArrayCopy(gain_buf, mCurEQGainBuf, GetAudioEQBandCount());
- return 0;
-}
-
-int CTv::RealSaveCurAudioEQGain(int gain_buf[], int sound_mode_judge)
-{
- ArrayCopy(mCurEQGainBuf, gain_buf, GetAudioEQBandCount());
- ArrayCopy(mCurEQGainChBuf, gain_buf, GetAudioEQBandCount());
- SSMSaveAudioEQGain(0, GetAudioEQBandCount(), mCurEQGainChBuf);
-
- if (sound_mode_judge == 1) {
- HandleTrebleBassVolume();
- SaveCurAudioSoundMode (CC_SOUND_MODE_USER);
- mCustomAudioSoundMode = mCurAudioSoundMode;
- }
-
- return 0;
-}
-
-int CTv::LoadCurAudioEQGain()
-{
- SSMReadAudioEQGain(0, GetAudioEQBandCount(), mCurEQGainChBuf);
- ArrayCopy(mCurEQGainBuf, mCurEQGainChBuf, GetAudioEQBandCount());
-
- for (int i = 0; i < GetAudioEQBandCount(); i++) {
- if (mCurEQGainBuf[i] & 0x80) {
- mCurEQGainBuf[i] = mCurEQGainBuf[i] - 256;
- }
- }
- return 0;
-}
-
-int CTv::SetAudioEQSwitch(int switch_val)
-{
- return mAudioEffect.SetEQSwitch(switch_val);
-}
-
-int CTv::GetBassUIMinGainVal()
-{
- return 0;
-}
-
-int CTv::GetBassUIMaxGainVal()
-{
- return 100;
-}
-
-int CTv::GetTrebleUIMinGainVal()
-{
- return 0;
-}
-
-int CTv::GetTrebleUIMaxGainVal()
-{
- return 100;
-}
-
-int CTv::MappingLine(int map_val, int src_min, int src_max, int dst_min, int dst_max)
-{
- if (dst_min < 0) {
- return (map_val - (src_max + src_min) / 2) * (dst_max - dst_min)
- / (src_max - src_min);
- } else {
- return (map_val - src_min) * (dst_max - dst_min) / (src_max - src_min);
- }
-}
-
-int CTv::MappingTrebleBassAndEqualizer(int tmp_vol, int direct, int tb_min, int tb_max)
-{
- int tmp_ret = 0;
-
- if (direct == 0) {
- tmp_ret = MappingLine(tmp_vol, tb_min, tb_max, CC_EQ_DEF_UI_MIN_GAIN, CC_EQ_DEF_UI_MAX_GAIN);
- } else {
- tmp_ret = MappingLine(tmp_vol, CC_EQ_DEF_UI_MIN_GAIN, CC_EQ_DEF_UI_MAX_GAIN, tb_min, tb_max);
- }
-
- LOGD("%s, tmp_vol = %d, direct = %d, tmp_ret = %d\n", __FUNCTION__, tmp_vol,
- direct, tmp_ret);
-
- return tmp_ret;
-}
-
-int CTv::MappingEQGain(int src_gain_buf[], int dst_gain_buf[], int direct)
-{
- int i = 0;
- int nMinUIVal = 0, nMaxUIVal = 0, nMinVal = 0, nMaxVal = 0;
-
- nMinUIVal = CC_EQ_DEF_UI_MIN_GAIN;
- nMaxUIVal = CC_EQ_DEF_UI_MAX_GAIN;
- nMinVal = CC_MIN_EQ_GAIN_VAL;
- nMaxVal = CC_MAX_EQ_GAIN_VAL;
-
- if (nMinUIVal >= nMinVal && nMaxUIVal <= nMaxVal) {
- for (i = 0; i < GetAudioEQBandCount(); i++) {
- dst_gain_buf[i] = src_gain_buf[i];
- }
- } else {
- for (i = 0; i < GetAudioEQBandCount(); i++) {
- if (direct == 0) {
- dst_gain_buf[i] = MappingLine(src_gain_buf[i], nMinUIVal,
- nMaxUIVal, nMinVal, nMaxVal);
- } else {
- dst_gain_buf[i] = MappingLine(src_gain_buf[i], nMinVal, nMaxVal,
- nMinUIVal, nMaxUIVal);
- }
- }
- }
- return 0;
-}
-
-int CTv::RestoreToAudioDefEQGain(int gain_buf[])
-{
- int i = 0;
-
- for (i = 0; i < GetAudioEQBandCount(); i++) {
- gain_buf[i] = (CC_EQ_DEF_UI_MAX_GAIN + CC_EQ_DEF_UI_MIN_GAIN) / 2;
- }
-
- ArrayCopy(mCurEQGainBuf, gain_buf, GetAudioEQBandCount());
- ArrayCopy(mCurEQGainChBuf, gain_buf, GetAudioEQBandCount());
- SSMSaveAudioEQGain(0, GetAudioEQBandCount(), mCurEQGainChBuf);
-
- HandleTrebleBassVolume();
- SaveCurAudioSoundMode (CC_SOUND_MODE_STD);
- mCustomAudioSoundMode = mCurAudioSoundMode;
- return 0;
-}
-
-int CTv::GetCustomEQGain(int gain_buf[])
-{
- ArrayCopy(gain_buf, mCustomEQGainBuf, GetAudioEQBandCount());
- return 0;
-}
-
-int CTv::SetCustomEQGain()
-{
- int tmpEQGainBuf[128] = { 0 };
-
- if (MappingEQGain(mCustomEQGainBuf, tmpEQGainBuf, 0) < 0) {
- return -1;
- }
-
- return RealSetEQGain(tmpEQGainBuf);
-}
-
-int CTv::AudioSetEQGain(int gain_buf[])
-{
- int tmpEQGainBuf[128] = { 0 };
-
- ArrayCopy(mCustomEQGainBuf, gain_buf, GetAudioEQBandCount());
-
- if (MappingEQGain(mCustomEQGainBuf, tmpEQGainBuf, 0) < 0) {
- return -1;
- }
-
- return RealSetEQGain(tmpEQGainBuf);
-}
-
-int CTv::handleEQGainBeforeSet(int src_buf[], int dst_buf[])
-{
- int i = 0, nMinGain, nMaxGain;
-
- nMinGain = CC_MIN_EQ_GAIN_VAL;
- nMaxGain = CC_MAX_EQ_GAIN_VAL;
-
- if (GetAudioWallEffect() == CC_SWITCH_ON && GetAudioWallEffectTypeCfg() == 0) {
- for (i = 0; i < GetAudioEQBandCount(); i++) {
- dst_buf[i] = WALL_EFFECT_VALUE[i] + src_buf[i];
-
- if (dst_buf[i] < nMinGain) {
- dst_buf[i] = nMinGain;
- }
-
- if (dst_buf[i] > nMaxGain) {
- dst_buf[i] = nMaxGain;
- }
- }
- } else {
- for (i = 0; i < GetAudioEQBandCount(); i++) {
- dst_buf[i] = src_buf[i];
- }
- }
-
- return 0;
-}
-
-int CTv::RealSetEQGain(int gain_buf[])
-{
- if (GetAudioWallEffect() == CC_SWITCH_ON && GetAudioWallEffectTypeCfg() == 0) {
- for (int i = 0; i < GetAudioEQBandCount(); i++) {
- gain_buf[i] = WALL_EFFECT_VALUE[i] + gain_buf[i];
-
- if (gain_buf[i] < CC_MIN_EQ_GAIN_VAL) {
- gain_buf[i] = CC_MIN_EQ_GAIN_VAL;
- }
-
- if (gain_buf[i] > CC_MAX_EQ_GAIN_VAL) {
- gain_buf[i] = CC_MAX_EQ_GAIN_VAL;
- }
- }
- }
-
- mAudioEffect.SetEQValue(gain_buf);
- return 0;
-}
-
-int CTv::SetAtvInGain(int gain_val)
-{
- char set_str[32] = {0};
-
- sprintf ( set_str, "audio_gain_set %x", gain_val );
- return tvWriteSysfs ( SYS_ATV_DEMOD_DEBUG, set_str );
-}
-
-int CTv::SetSpecialModeEQGain(int tmp_val)
-{
- int tmpEQPresetBufPtr[24];
- if (GetAudioEQPresetBufferPtr(tmpEQPresetBufPtr) != 0) {
- GetDefault_EQGain_Table(tmpEQPresetBufPtr);
- }
- int tmpEQGainBuf[128] = { 0 };
-
- if (tmp_val == CC_SOUND_MODE_USER) {
- RealReadCurAudioEQGain(tmpEQGainBuf);
- } else {
- ArrayCopy(tmpEQGainBuf,
- tmpEQPresetBufPtr + tmp_val * GetAudioEQBandCount(),
- GetAudioEQBandCount());
- }
-
- AudioSetEQGain(tmpEQGainBuf);
- return tmp_val;
-}
-
-int CTv::SetSpecialIndexEQGain(int buf_index, int w_val)
-{
- int tmpEQGainBuf[128] = { 0 };
-
- if (buf_index >= 0 && buf_index < GetAudioEQBandCount()) {
- RealReadCurAudioEQGain(tmpEQGainBuf);
- tmpEQGainBuf[buf_index] = w_val;
-
- return AudioSetEQGain(tmpEQGainBuf);
- }
- return -1;
-}
-
-int CTv::SaveSpecialIndexEQGain(int buf_index, int w_val)
-{
- int tmpEQGainBuf[128] = { 0 };
-
- if (buf_index >= 0 && buf_index < GetAudioEQBandCount()) {
- RealReadCurAudioEQGain(tmpEQGainBuf);
- tmpEQGainBuf[buf_index] = w_val;
-
- return RealSaveCurAudioEQGain(tmpEQGainBuf, 0);
- }
-
- return 0;
-}
-
-// amAudio
-int CTv::OpenAmAudio(unsigned int sr, int input_device, int output_device)
-{
- LOGD("OpenAmAudio input_device = %d", input_device);
- return amAudioOpen(sr, input_device, output_device);
-}
-
-int CTv::CloseAmAudio(void)
-{
- return amAudioClose();
-}
-
-int CTv::setAmAudioPreMute(int mute)
-{
- int ret = -1;
- if (m_source_input == SOURCE_DTV) {
- ret = mAv.AudioSetPreMute(mute);
- } else {
- ret = amAudioSetPreMute(mute);
- }
- return ret;
-}
-
-int CTv::getAmAudioPreMute()
-{
- unsigned int mute = -1;
- if (m_source_input == SOURCE_DTV) {
- mAv.AudioGetPreMute(&mute);
- } else {
- amAudioGetPreMute(&mute);
- }
- return mute;
-}
-
-int CTv::setAmAudioVolume(float volume)
-{
- float gain = 0;
- gain = 20 * log10f(volume / 100);
-
- return setAmAudioPreGain(gain);
-}
-
-float CTv::getAmAudioVolume()
-{
- float volume = getAmAudioPreGain();
- volume = powf(10, volume / 20);
-
- return volume * 100;
-}
-
-int CTv::saveAmAudioVolume(int volume, int source)
-{
- return SSMSaveAmAudioVal(volume, source);
-}
-
-int CTv::getSaveAmAudioVolume(int source)
-{
- int volume = 0;
- SSMReadAmAudioVal(&volume, source);
-
- return volume;
-}
-
-int CTv::setAmAudioPreGain(float pre_gain)
-{
- int ret = -1;
- if (m_source_input == SOURCE_DTV) {
- ret = mAv.AudioSetPreGain(pre_gain);
- } else {
- ret = amAudioSetPreGain(pre_gain);
- }
- return ret;
-}
-
-float CTv::getAmAudioPreGain()
-{
- float pre_gain = -1;
- if (m_source_input == SOURCE_DTV) {
- mAv.AudioGetPreGain(&pre_gain);
- } else {
- amAudioGetPreGain(&pre_gain);
- }
- return pre_gain;
-}
-
-int CTv::SetAmAudioInputSr(unsigned int sr, int output_device)
-{
- LOGD("SetAmAudioInputSr");
- return amAudioSetInputSr(sr, CC_IN_USE_SPDIF_DEVICE, output_device);
-}
-
-int CTv::SetAmAudioOutputMode(int mode)
-{
- if (mode != CC_AMAUDIO_OUT_MODE_DIRECT && mode != CC_AMAUDIO_OUT_MODE_INTER_MIX
- && mode != CC_AMAUDIO_OUT_MODE_DIRECT_MIX) {
- LOGE("[ctv]%s, mode error, it should be mix or direct!\n", __FUNCTION__);
- return -1;
- }
-
- return amAudioSetOutputMode(mode);
-}
-
-int CTv::SetAmAudioMusicGain(int gain)
-{
- return amAudioSetMusicGain(gain);
-}
-
-int CTv::SetAmAudioLeftGain(int gain)
-{
- return amAudioSetLeftGain(gain);
-}
-
-int CTv::SetAmAudioRightGain(int gain)
-{
- return amAudioSetRightGain(gain);
-}
-
-int CTv::SetAudioDumpDataFlag(int tmp_flag)
-{
- return amAudioSetDumpDataFlag(tmp_flag);
-}
-
-int CTv::GetAudioDumpDataFlag()
-{
- return amAudioGetDumpDataFlag();
-}
-
-void CTv::AudioSetVolumeDigitLUTBuf(int lut_table_index, int *MainVolLutBuf)
-{
- int tmpDefDigitLutBuf[CC_LUT_BUF_SIZE] = { 0 };
- mAudioAlsa.SetMainVolDigitLutBuf(MainVolLutBuf);
-
- GetAudioAmpSupbassvolBuf(lut_table_index, tmpDefDigitLutBuf);
- mAudioAlsa.SetSupperBassVolDigitLutBuf(tmpDefDigitLutBuf);
-}
-
-int CTv::InitTvAudio(int sr, int input_device)
-{
- OpenAmAudio(sr, input_device, CC_OUT_USE_AMAUDIO);
-
- RefreshSrsEffectAndDacGain();
- SetCustomEQGain();
- LoadAudioVirtualizer();
- return 0;
-}
-
-int CTv::UnInitTvAudio()
-{
- return CloseAmAudio();
-}
-
-int CTv::AudioChangeSampleRate(int sr)
-{
- sr = HanldeAudioInputSr(sr);
-
- if (SetAmAudioInputSr(sr, CC_OUT_USE_AMAUDIO) != 0) {
- return -1;
- }
-
- RefreshSrsEffectAndDacGain();
- SetCustomEQGain();
- return 0;
-}
-
-int CTv::AudioSetAudioInSource(int audio_src_in_type)
-{
- return mAudioAlsa.SetAudioInSource(audio_src_in_type);
-}
-
-int CTv::AudioSetAudioSourceType(int source_type)
-{
- int aud_arch_type = GetAudioArchitectureTypeCFG();
-
- if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD) {
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC) {
- SendCmdToOffBoardFBCExternalDac(AUDIO_CMD_SET_SOURCE, source_type);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB) {
- mCustomerCtrl.SetSource(source_type);
- } else if (aud_arch_type == CC_DAC_G9TV_EXTERNAL_DAC_DIGITAL) {
- }
- return 0;
-}
-
-int CTv::AudioLineInSelectChannel(int audio_channel)
-{
- LOGD ("%s, audio_channel = %d", __FUNCTION__, audio_channel);
- mAudioAlsa.SetInternalDacLineInSelectChannel(audio_channel);
- return 0;
-}
-
-int CTv::AudioSetLineInCaptureVolume(int l_vol, int r_vol)
-{
- mAudioAlsa.SetInternalDacLineInCaptureVolume(l_vol, r_vol);
- return 0;
-}
-
-int CTv::openTvAudio()
-{
- int tmp_val = 0;
-
- LOGD("%s, entering...\n", __FUNCTION__);
- UnInitSetTvAudioCard();
-
- tmp_val = GetAudioDumpDataEnableFlagCfg();
- SetAudioDumpDataFlag(tmp_val);
-
- tmp_val = GetAudioInternalDacPGAInGain_Cfg();
- mAudioAlsa.SetAudioInternalDacPGAInGain(tmp_val, tmp_val);
-
- mAudioAlsa.SetMixerBypassSwitch (CC_SWITCH_OFF);
- mAudioAlsa.SetMixerDacSwitch (CC_SWITCH_ON);
-
- LoadAudioCtl();
-
- RefreshSrsEffectAndDacGain();
- InitSetAudioCtl();
- return 0;
-}
-
-void CTv::LoadAudioCtl()
-{
- // Get Current Audio Volume
- LoadCurAudioMasterVolume();
-
- // Get Current Audio Balance
- LoadCurAudioBalance();
-
- // Get Current Supper Bass Switch
- LoadCurAudioSupperBassSwitch();
-
- // Get Current Supper Bass Volume
- LoadCurAudioSupperBassVolume();
-
- // Get Current SRSSurround
- LoadCurAudioSrsSurround();
-
- // Get Current SRS DialogClarity
- LoadCurAudioSrsDialogClarity();
-
- // Get Current SRS TruBass
- LoadCurAudioSrsTruBass();
-
- // Get Current Audio Sound Mode
- LoadCurAudioSoundMode();
-
- // Get Current Audio Bass and Treble
- LoadCurAudioBassVolume();
- LoadCurAudioTrebleVolume();
-
- // Get Current Wall Effect
- LoadCurAudioWallEffect();
-
- // Get Current spdif switch
- LoadCurAudioSPDIFSwitch();
-
- // Get Current spdif mode
- LoadCurAudioSPDIFMode();
-
- // Get Current EQ mode
- LoadCurAudioEQMode();
-
- // Get Current EQ Gain
- LoadCurAudioEQGain();
-
- //Get Current Virtual Effect status
- LoadAudioVirtualizer();
-}
bool CTv::isBootvideoStopped() {
return mBootvideoStatusDetectThread == NULL
|| mBootvideoStatusDetectThread->isBootvideoStopped();
}
-void CTv::InitSetAudioCtl()
-{
- // Set Current Audio balance value
- SetAudioBalance(GetAudioBalance());
-
- // Set Current Audio Volume
- SetAudioMasterVolume(GetAudioMasterVolume());
-
- // Set Current Supper Bass Volume
- SetAudioSupperBassVolume(GetAudioSupperBassVolume());
-
- // Set Current Audio Sound Mode
- SetAudioSoundMode(GetAudioSoundMode());
-
- // Set Current Audio SPDIF Switch
- SetAudioSPDIFSwitch(GetCurAudioSPDIFSwitch());
-
- // Set Current Audio SPDIF mode
- SetAudioSPDIFMode(GetCurAudioSPDIFMode());
-}
-
-int CTv::SetADC_Digital_Capture_Volume(int value)
-{
- return mAudioAlsa.SetAudioInternalDacADCDigitalCaptureVolume( value, value);
-}
-
-int CTv::SetPGA_IN_Value(int value)
-{
- return mAudioAlsa.SetAudioInternalDacPGAInGain( value, value);
-}
-
-int CTv::SetDAC_Digital_PlayBack_Volume(int value)
-{
- return mAudioAlsa.SetAudioInternalDacDACDigitalPlayBackVolume( value, value);
-}
-
-int CTv::setAudioPcmPlaybackVolume(int val)
-{
- int pcm_volume = 0;
- pcm_volume = val / 2;
- if (pcm_volume > 24) pcm_volume = 24;
- //return SetAudioPcmPlaybackVolume(pcm_volume);
- return 0;
-}
-
-int CTv::HanldeAudioInputSr(unsigned int sr)
-{
- int tmp_cfg = 0;
-
- tmp_cfg = GetAudioResampleTypeCFG();
- if (tmp_cfg & CC_AUD_RESAMPLE_TYPE_HW) {
- mAudioAlsa.SetHardwareResample(sr);
- } else {
- mAudioAlsa.SetHardwareResample(-1);
- }
-
- if (!(tmp_cfg & CC_AUD_RESAMPLE_TYPE_SW)) {
- sr = 48000;
- }
-
- return sr;
-}
-
-int CTv::AudioSSMRestoreDefaultSetting()
-{
- int i = 0, tmp_val = 0;
- int nMinUIVol = 0, nMaxUIVol = 0;
- int *tmp_ptr = NULL;
- int tmpEQGainBuf[128] = { 0 };
- unsigned char tmp_buf[CC_NO_LINE_POINTS_MAX_CNT] = { 0 };
-
- // Save Current Audio Volume
- SaveCurAudioMasterVolume (CC_DEF_SOUND_VOL);
-
- // Save Current Audio Balance
- SaveCurAudioBalance (CC_DEF_SOUND_BALANCE_VAL);
-
- // Save Current Supper Bass Switch
- SaveCurAudioSupperBassSwitch (CC_SWITCH_OFF);
-
- // Save Current Supper Bass Volume
- SaveCurAudioSupperBassVolume (CC_DEF_SUPPERBASS_VOL);
-
- // Save Current SRSSurround
- SaveCurAudioSrsSurround(CC_SWITCH_OFF);
-
- // Save Current SRS DialogClarity
- SaveCurAudioSrsDialogClarity(CC_SWITCH_OFF);
-
- // Save Current SRS TruBass
- SaveCurAudioSrsTruBass(CC_SWITCH_OFF);
-
- // Save Current Audio Sound Mode
- SaveCurAudioSoundMode (CC_SOUND_MODE_STD);
-
- // Save Current Wall Effect
- SaveCurAudioWallEffect(CC_SWITCH_OFF);
-
- // Save Current spdif switch
- SaveCurAudioSPDIFSwitch (CC_SWITCH_ON);
-
- // Save Current spdif mode
- SaveCurAudioSPDIFMode (CC_SPDIF_MODE_PCM);
-
- // Save Current avout and spidif mute state
- SSMSaveAudioSPIDFMuteVal(CC_AUDIO_MUTE);
- SSMSaveAudioAVOutMuteVal(CC_AUDIO_MUTE);
-
- // Save Current EQ mode
- SaveCurAudioEQMode (CC_EQ_MODE_NOMAL);
-
- // Save Current EQ Gain
- RestoreToAudioDefEQGain(tmpEQGainBuf);
-
- // Save Current Audio Bass and Treble
- nMinUIVol = GetBassUIMinGainVal();
- nMaxUIVol = GetBassUIMaxGainVal();
- RealSaveCurAudioBassVolume((nMinUIVol + nMaxUIVol) / 2, 0);
-
- nMinUIVol = GetTrebleUIMinGainVal();
- nMaxUIVol = GetTrebleUIMaxGainVal();
- RealSaveCurAudioTrebleVolume((nMinUIVol + nMaxUIVol) / 2, 0);
- return 0;
-}
-
-int CTv::InitSetTvAudioCard()
-{
- int captureIdx = -1;
- char buf[32] = { 0 };
- char propValue[PROPERTY_VALUE_MAX];
-
-#ifndef BOARD_ALSA_AUDIO_TINY
- snd_card_refresh_info();
-#endif
-
- if (GetTvAudioCardNeedSet()) {
- int totleNum = 0;
- char cardName[64] = { 0 };
-
- GetTvAudioCardName(cardName);
- /*
- memset(propValue, '\0', PROPERTY_VALUE_MAX);
- property_get(PROP_AUDIO_CARD_NUM, propValue, "0");
-
- totleNum = strtoul(propValue, NULL, 10);
- LOGD("%s, totle number = %d\n", __FUNCTION__, totleNum);
- */
- totleNum = 8;
-
- for (int i = 0; i < totleNum; i++) {
- sprintf(buf, "snd.card.%d.name", i);
- memset(propValue, '\0', PROPERTY_VALUE_MAX);
- property_get(buf, propValue, "null");
-
- LOGD("%s, key string \"%s\", value string \"%s\".\n", __FUNCTION__, buf, propValue);
- if (strcmp(propValue, cardName) == 0) {
- captureIdx = i;
- break;
- }
- }
- }
-
- sprintf(buf, "%d", captureIdx);
- property_set(PROP_DEF_CAPTURE_NAME, buf);
- LOGD("%s, set \"%s\" as \"%s\".\n", __FUNCTION__, PROP_DEF_CAPTURE_NAME, buf);
- return 0;
-}
-
-int CTv::UnInitSetTvAudioCard()
-{
-#ifndef BOARD_ALSA_AUDIO_TINY
- snd_card_refresh_info();
-#endif
- property_set(PROP_DEF_CAPTURE_NAME, "-1");
- LOGD("%s, set [%s]:[-1]\n", __FUNCTION__, PROP_DEF_CAPTURE_NAME);
- return 0;
-}
-
-int CTv::SetSPDIFMode(int mode_val)
-{
- tvWriteSysfs(SYS_SPDIF_MODE_DEV_PATH, mode_val);
- return 0;
-}
-
-int CTv::SwitchAVOutBypass(int sw)
-{
- if (sw == 0 ) {
- mAudioAlsa.SetMixerBypassSwitch ( CC_SWITCH_OFF );
- mAudioAlsa.SetMixerDacSwitch ( CC_SWITCH_ON );
- } else {
- mAudioAlsa.SetMixerBypassSwitch ( CC_SWITCH_ON );
- mAudioAlsa.SetMixerDacSwitch ( CC_SWITCH_OFF );
- }
- return 0;
-}
-
-int CTv::SetAudioSwitchIO(int value)
-{
- return mAudioAlsa.SetAudioSwitchIO( value);
-}
-
-int CTv::SetOutput_Swap(int value)
-{
- return mAudioAlsa.SetOutput_Swap( value);
-}
-
int CTv::SendCmdToOffBoardFBCExternalDac(int cmd, int para)
{
int set_val = 0;
@@ -5408,15 +3126,11 @@ int CTv::GetHdmiAvHotplugDetectOnoff()
int CTv::SetHdmiEdidVersion(tv_hdmi_port_id_t port, tv_hdmi_edid_version_t version)
{
- SetAudioMuteForTv ( CC_AUDIO_MUTE );
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mAv.DisableVideoWithBlackColor();
mpTvin->Tvin_StopDecoder();
Tv_HDMIEDIDFileSelect(port, version);
SSMSetHDMIEdid(port);
mHDMIRxManager.HdmiRxEdidUpdate();
- mHDMIAudioCheckThread.initCheckState();
- mHDMIAudioCheckThread.resumeCheck();
return 0;
}
@@ -5528,7 +3242,6 @@ void CTv::onSetPQPCMode(int source, int status)
LOGD("source = %d, m_source_input = %d, status = %d\n",source, m_source_input, status);
if (( CTvin::Tvin_SourceInputToSourceInputType(m_source_input) == SOURCE_TYPE_HDMI ) ) {
if ((source == -1 ) || (source == (int)m_source_input)) {
- SetAudioMuteForTv(CC_AUDIO_MUTE);
if (status == 0) {
CVpp::getInstance()->enableMonitorMode(false);
@@ -5537,11 +3250,8 @@ void CTv::onSetPQPCMode(int source, int status)
}
tvin_port_t cur_port = mpTvin->Tvin_GetSourcePortBySourceInput(m_source_input);
- mHDMIAudioCheckThread.requestAndWaitPauseCheck();
mpTvin->SwitchPort(cur_port);
CVpp::getInstance()->Vpp_ResetLastVppSettingsSourceType();
- mHDMIAudioCheckThread.initCheckState();
- mHDMIAudioCheckThread.resumeCheck(1000);
}
}
}
diff --git a/tv/tvserver/libtv/tv/CTv.h b/tv/tvserver/libtv/tv/CTv.h
index a8c2aa4..0cc8eec 100644
--- a/tv/tvserver/libtv/tv/CTv.h
+++ b/tv/tvserver/libtv/tv/CTv.h
@@ -31,7 +31,6 @@
#include "CTvSubtitle.h"
#include "CAv.h"
#include "CTvDmx.h"
-#include "../audio/CTvAudio.h"
#include "AutoBackLight.h"
#include "CAutoPQparam.h"
#include "CBootvideoStatusDetect.h"
@@ -102,12 +101,21 @@ typedef enum TvRunStatus_s {
TV_CLOSE_ED,
} TvRunStatus_t;
+enum CC_AUDIO_MUTE_STATUS {
+ CC_MUTE_ON,
+ CC_MUTE_OFF,
+};
+
+enum CC_AUDIO_MUTE_PARAM {
+ CC_AUDIO_UNMUTE,
+ CC_AUDIO_MUTE,
+};
+
class CTvPlayer;
class CDTVTvPlayer;
class CATVTvPlayer;
-class CTv : public CTvin::CHDMIAudioCheck::IHDMIAudioCheckObserver,
- public CDevicesPollStatusDetect::ISourceConnectObserver,
+class CTv : public CDevicesPollStatusDetect::ISourceConnectObserver,
public IUpgradeFBCObserver,
public CTvSubtitle::IObserver,
public CBootvideoStatusDetect::IBootvideoStatusObserver,
@@ -204,9 +212,6 @@ public:
virtual int stopPlayingLock();
virtual int resetFrontEndPara ( frontend_para_set_t feParms );
virtual int SetDisplayMode ( vpp_display_mode_t display_mode, tv_source_input_t tv_source_input, tvin_sig_fmt_t sig_fmt );
- virtual void onHdmiSrChanged(int sr, bool bInit);
- virtual void onHMDIAudioStatusChanged(int status);
- int SetCurProgramAudioVolumeCompensationVal ( int tmpVal );
int GetAudioVolumeCompensationVal(int progDbId);
//dtv audio track info
int getAudioTrackNum ( int progId );
@@ -260,7 +265,6 @@ public:
int isVgaFmtInHdmi();
int getHDMIFrameRate ( void );
- void RefreshAudioMasterVolume ( tv_source_input_t source_input );
int Tvin_SetPLLValues ();
int SetCVD2Values ();
@@ -271,7 +275,6 @@ public:
virtual void onHeadSetDetect(int state, int para);
CTvFactory mFactoryMode;
- CTvin::CHDMIAudioCheck mHDMIAudioCheckThread;
CDevicesPollStatusDetect mDevicesPollStatusDetectThread;
CBootvideoStatusDetect *mBootvideoStatusDetectThread;
CHDMIRxManager mHDMIRxManager;
@@ -295,7 +298,6 @@ public:
int Tv_HDMIEDIDFileSelect(tv_hdmi_port_id_t port, tv_hdmi_edid_version_t version);
int Tv_HandeHDMIEDIDFilePathConfig();
int Tv_SetDDDRCMode(tv_source_input_t source_input);
- int Tv_SetAudioSourceType (tv_source_input_t source_input);
//PQ
virtual int Tv_SetBrightness ( int brightness, tv_source_input_t tv_source_input, int is_save );
@@ -335,135 +337,7 @@ public:
int SetHdmiColorRangeMode(tv_hdmi_color_range_t range_mode);
tv_hdmi_color_range_t GetHdmiColorRangeMode();
int setGamma(vpp_gamma_curve_t gamma_curve, int is_save);
-
- //audio
virtual void updateSubtitle(int, int);
-
- //audio
- virtual void TvAudioOpen();
- virtual void AudioCtlUninit();
- virtual int SetAudioMuteForSystem(int muteOrUnmute);
- virtual int GetAudioMuteForSystem();
- virtual int SetAudioMuteForTv(int muteOrUnmute);
- virtual int GetAudioMuteForTv();
- int SetAudioAVOutMute(int muteStatus);
- int GetAudioAVOutMute();
- int SetAudioSPDIFMute(int muteStatus);
- int GetAudioSPDIFMute();
- int SetDacMute(int muteStatus, int mute_type);
- int SetAudioI2sMute(int);
- int SetAudioMasterVolume(int tmp_vol);
- int GetAudioMasterVolume();
- int SaveCurAudioMasterVolume(int tmp_vol);
- int GetCurAudioMasterVolume();
- int SetAudioBalance(int tmp_val);
- int GetAudioBalance();
- int SaveCurAudioBalance(int tmp_val);
- int GetCurAudioBalance();
- int SetAudioSupperBassVolume(int tmp_vol);
- int GetAudioSupperBassVolume();
- int SaveCurAudioSupperBassVolume(int tmp_vol);
- int GetCurAudioSupperBassVolume();
- int SetAudioSupperBassSwitch(int tmp_val);
- int GetAudioSupperBassSwitch();
- int SaveCurAudioSupperBassSwitch(int tmp_val);
- int GetCurAudioSupperBassSwitch();
- int SetAudioSRSSurround(int tmp_val);
- int GetAudioSRSSurround();
- int SaveCurAudioSrsSurround(int tmp_val);
- int GetCurAudioSRSSurround();
- int SetAudioSrsDialogClarity(int tmp_val);
- int GetAudioSrsDialogClarity();
- int SaveCurAudioSrsDialogClarity(int tmp_val);
- int GetCurAudioSrsDialogClarity();
- int SetAudioSrsTruBass(int tmp_val);
- int GetAudioSrsTruBass();
- int SaveCurAudioSrsTruBass(int tmp_val);
- int GetCurAudioSrsTruBass();
- int SetAudioSPDIFSwitch(int tmp_val);
- int GetCurAudioSPDIFSwitch();
- int SaveCurAudioSPDIFSwitch(int tmp_val);
- int SetAudioVirtualizer(int enable, int EffectLevel);
- int GetAudioVirtualizerEnable();
- int GetAudioVirtualizerLevel();
- int LoadAudioVirtualizer();
-
- //Audio SPDIF Mode
- int SetAudioSPDIFMode(int tmp_val);
- int GetCurAudioSPDIFMode();
- int SaveCurAudioSPDIFMode(int tmp_val);
- int SetAudioBassVolume(int tmp_vol);
- int GetAudioBassVolume();
- int SaveCurAudioBassVolume(int tmp_vol);
- int GetCurAudioBassVolume();
- int SetAudioTrebleVolume(int tmp_vol);
- int GetAudioTrebleVolume();
- int SaveCurAudioTrebleVolume(int tmp_vol);
- int GetCurAudioTrebleVolume();
- int SetAudioSoundMode(int tmp_val);
- int GetAudioSoundMode();
- int SaveCurAudioSoundMode(int tmp_val);
- int GetCurAudioSoundMode();
- int SetAudioWallEffect(int tmp_val);
- int GetAudioWallEffect();
- int SaveCurAudioWallEffect(int tmp_val);
- int GetCurAudioWallEffect();
- int SetAudioEQMode(int tmp_val);
- int GetAudioEQMode();
- int SaveCurAudioEQMode(int tmp_val);
- int GetCurAudioEQMode();
- int GetAudioEQRange(int range_buf[]);
- int GetAudioEQBandCount();
- int SetAudioEQGain(int gain_buf[]);
- int GetAudioEQGain(int gain_buf[]);
- int GetCurAudioEQGain(int gain_buf[]);
- int SaveCurAudioEQGain(int gain_buf[]);
- int SetAudioEQSwitch(int switch_val);
- int OpenAmAudio(unsigned int sr, int input_device, int output_device);
- int CloseAmAudio(void);
- int SetAmAudioInputSr(unsigned int sr, int output_device);
- int SetAmAudioOutputMode(int mode);
- int SetAmAudioMusicGain(int gain);
- int SetAmAudioLeftGain(int gain);
- int SetAmAudioRightGain(int gain);
- int SetAudioVolumeCompensationVal(int tmp_vol_comp_val);
- int AudioLineInSelectChannel(int audio_channel);
- int AudioSetLineInCaptureVolume(int l_vol, int r_vol);
- int setAudioPcmPlaybackVolume(int val);
- int setAmAudioVolume(float volume);
- float getAmAudioVolume();
- int saveAmAudioVolume(int volume, int source);
- int getSaveAmAudioVolume(int volume);
- int setAmAudioPreGain(float pre_gain);
- float getAmAudioPreGain();
- int setAmAudioPreMute(int mute);
- int getAmAudioPreMute();
-
- int openTvAudio();
-
- int InitTvAudio(int sr, int input_device);
- int UnInitTvAudio();
- int AudioChangeSampleRate(int sr);
- int AudioSetAudioInSource(int audio_src_in_type);
- int AudioSetAudioSourceType(int source_type);
- int AudioSSMRestoreDefaultSetting();
- int SetAudioDumpDataFlag(int tmp_flag);
- int GetAudioDumpDataFlag();
- int SetAudioLeftRightMode(unsigned int mode);
- unsigned int GetAudioLeftRightMode();
- int SwitchAVOutBypass (int);
- int SetAudioSwitchIO(int value);
- int SetOutput_Swap(int value);
- int HanldeAudioInputSr(unsigned int);
- void AudioSetVolumeDigitLUTBuf(int lut_sel_flag, int *MainVolLutBuf);
- int SetADC_Digital_Capture_Volume(int value);
- int SetPGA_IN_Value(int value);
- int SetDAC_Digital_PlayBack_Volume(int value);
- int InitSetTvAudioCard();
- int UnInitSetTvAudioCard();
- void RefreshSrsEffectAndDacGain();
- int SetCustomEQGain();
- int SetAtvInGain(int gain_val);
int GetHdmiAvHotplugDetectOnoff();
int SetHdmiEdidVersion(tv_hdmi_port_id_t port, tv_hdmi_edid_version_t version);
int SetHdmiHDCPSwitcher(tv_hdmi_hdcpkey_enable_t enable);
@@ -474,47 +348,6 @@ public:
void dump(String8 &result);
private:
int SendCmdToOffBoardFBCExternalDac(int, int);
- int LoadCurAudioSPDIFMode();
- int LoadCurAudioMasterVolume();
- int LoadCurAudioBalance();
- int LoadCurAudioSupperBassVolume();
- int LoadCurAudioSupperBassSwitch();
- int LoadCurAudioSrsSurround();
- int LoadCurAudioSrsDialogClarity();
- int LoadCurAudioSPDIFSwitch();
- void SetSupperBassSRSSpeakerSize();
- int LoadCurAudioSoundMode();
- int LoadCurAudioEQMode();
- int LoadCurAudioSrsTruBass();
- int RealSaveCurAudioBassVolume(int, int);
- int LoadCurAudioBassVolume();
- int RealSaveCurAudioTrebleVolume(int, int);
- int LoadCurAudioTrebleVolume();
- int HandleTrebleBassVolume();
- int LoadCurAudioWallEffect();
- int RealReadCurAudioEQGain(int *);
- int RealSaveCurAudioEQGain(int *, int);
- int LoadCurAudioEQGain();
- int MappingEQGain(int *, int *, int);
- int RestoreToAudioDefEQGain(int *);
- int GetCustomEQGain(int *);
- int AudioSetEQGain(int *);
- int handleEQGainBeforeSet(int *, int *);
- int RealSetEQGain(int *);
- int SetSpecialModeEQGain(int);
- int SetSpecialIndexEQGain(int, int);
- int SaveSpecialIndexEQGain(int, int);
- void LoadAudioCtl();
- void InitSetAudioCtl();
- int GetBassUIMinGainVal();
- int GetBassUIMaxGainVal();
- int GetTrebleUIMinGainVal();
- int GetTrebleUIMaxGainVal();
- int MappingLine(int, int, int, int, int);
- int MappingTrebleBassAndEqualizer(int, int, int, int);
- int SetSPDIFMode(int mode_val);
- int setAudioPreGain(tv_source_input_t source_input);
- float getAudioPreGain(tv_source_input_t source_input);
int KillMediaServerClient();
bool insertedFbcDevice();
@@ -541,42 +374,6 @@ private:
void setDvbLogLevel();
- CAudioAlsa mAudioAlsa;
- CAudioEffect mAudioEffect;
-
- CAudioCustomerCtrl mCustomerCtrl;
- int mCurAudioMasterVolume;
- int mCurAudioBalance;
- int mCurAudioSupperBassVolume;
- int mCurAudioSupperBassSwitch;
- int mCurAudioSRSSurround;
- int mCurAudioSrsDialogClarity;
- int mCurAudioSrsTruBass;
- int mCurAudioSPDIFSwitch;
- int mCurAudioSPDIFMode;
- int mCurAudioBassVolume;
- int mCurAudioTrebleVolume;
- int mCurAudioSoundMode;
- int mCurAudioWallEffect;
- int mCurAudioEQMode;
- int mCustomAudioMasterVolume;
- int mCustomAudioBalance;
- int mCustomAudioSupperBassVolume;
- int mCustomAudioSupperBassSwitch;
- int mCustomAudioSRSSurround;
- int mCustomAudioSrsDialogClarity;
- int mCustomAudioSrsTruBass;
- int mCustomAudioBassVolume;
- int mCustomAudioTrebleVolume;
- int mCustomAudioSoundMode;
- int mCustomAudioWallEffect;
- int mCustomAudioEQMode;
- int mCustomAudioSoundEnhancementSwitch;
- int mCustomEQGainBuf[CC_BAND_ITEM_CNT];
- int mCurEQGainBuf[CC_BAND_ITEM_CNT] ;
- int8_t mCurEQGainChBuf[CC_BAND_ITEM_CNT];
- int mVolumeCompensationVal;
- int mMainVolumeBalanceVal;
//end audio
bool mATVDisplaySnow;
bool iSBlackPattern;
@@ -658,19 +455,11 @@ protected:
int Tv_MiscSetBySource ( tv_source_input_t );
void print_version_info ( void );
int dtvCleanProgramByFreq ( int freq );
- /*********************** Audio start **********************/
- int SetAudioVolDigitLUTTable ( tv_source_input_t source_input );
- virtual int Tv_SetAudioInSource (tv_source_input_t source_input);
- void Tv_SetAudioOutputSwap_Type (tv_source_input_t source_input);
- void Tv_SetAVOutPut_Input_gain(tv_source_input_t source_input);
- /*********************** Audio end **********************/
-
void onSigToStable();
void onSigToUnstable();
void onSigToUnSupport();
void onSigToNoSig();
void onSigStillStable();
- void onHDMIAudioCheckLoop();
virtual void onSourceConnect(int source_type, int connect_status);
virtual void onVdinSignalChange();
@@ -722,15 +511,8 @@ protected:
int m_sig_spdif_nums;
bool mSetHdmiEdid;
/** for HDMI-in sampling detection. **/
- int m_hdmi_sampling_rate;
- int m_hdmi_audio_data;
/** for display mode to bottom **/
- //audio mute
- int mAudioMuteStatusForTv;
- int mAudioMuteStatusForSystem;
- char mMainVolLutTableExtraName[CC_PROJECT_INFO_ITEM_MAX_LEN];
-
CTvin *mpTvin;
CTvGpio *pGpio;
diff --git a/tv/tvserver/libtv/tvin/CTvin.cpp b/tv/tvserver/libtv/tvin/CTvin.cpp
index cb9088b..05fdef6 100644
--- a/tv/tvserver/libtv/tvin/CTvin.cpp
+++ b/tv/tvserver/libtv/tvin/CTvin.cpp
@@ -1617,42 +1617,6 @@ int CTvin::Tvin_GetSourcePortByCECPhysicalAddress(int physical_addr)
return TVIN_PORT_MAX;
}
-tv_audio_channel_t CTvin::Tvin_GetInputSourceAudioChannelIndex ( tv_source_input_t source_input )
-{
- int aud_chan = TV_AUDIO_LINE_IN_0;
- const char *config_value = NULL;
-
- if ( source_input == SOURCE_TV ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.atv", "2");
- } else if ( source_input == SOURCE_AV1 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.av1", "1");
- } else if ( source_input == SOURCE_AV2 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.av2", "3");
- } else if ( source_input == SOURCE_YPBPR1 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.comp1", "0");
- } else if ( source_input == SOURCE_YPBPR2 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.comp2", "0");
- } else if ( source_input == SOURCE_HDMI1 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.hdmi1", "0");
- } else if ( source_input == SOURCE_HDMI2 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.hdmi2", "0");
- } else if ( source_input == SOURCE_HDMI3 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.hdmi3", "0");
- } else if ( source_input == SOURCE_HDMI4 ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.hdmi4", "0");
- } else if ( source_input == SOURCE_VGA ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.vga", "0");
- } else if ( source_input == SOURCE_MPEG ) {
- config_value = config_get_str(CFG_SECTION_TV, "tvin.aud.chan.mpeg", "0");
- }
-
- if (config_value != NULL) {
- aud_chan = strtol (config_value, NULL, 10);
- }
-
- return ( tv_audio_channel_t ) aud_chan;
-}
-
tv_audio_in_source_type_t CTvin::Tvin_GetAudioInSourceType ( tv_source_input_t source_input )
{
const char *config_value = NULL;
@@ -2019,143 +1983,6 @@ int CTvin::Tv_uninit_afe ( void )
return 0;
}
-int CTvin::get_hdmi_sampling_rate()
-{
- char buf[32] = {0};
-
- tvReadSysfs("/sys/module/tvin_hdmirx/parameters/audio_sample_rate", buf);
- int val = atoi(buf);
- return val;
-}
-
-//**************************************************************************
-CTvin::CHDMIAudioCheck::CHDMIAudioCheck ()
-{
- mCheckState = STATE_STOPED;
- mpObserver = NULL;
- initCheckState();
-}
-
-CTvin::CHDMIAudioCheck::~CHDMIAudioCheck()
-{
-}
-
-int CTvin::CHDMIAudioCheck::initCheckState()
-{
- mResumeLaterTime = 0;
- mHDMIAudioCheckEnable = true;
- return 0;
-}
-
-int CTvin::CHDMIAudioCheck::startCheck(bool bPause)
-{
- LOGD ("startCheck--Check state:%d", mCheckState);
-
- if ( mCheckState == STATE_RUNNING || mCheckState == STATE_PAUSE ) {
- return mCheckState;
- }
-
- m_request_pause_check = bPause;
- initCheckState();
- this->run("startCheck");
- return mCheckState;
-}
-
-int CTvin::CHDMIAudioCheck::stopCheck()
-{
- AutoMutex _l( mLock );
- LOGD ( "stopCheck()" );
- requestExit();
- return 0;
-}
-
-int CTvin::CHDMIAudioCheck::pauseCheck()
-{
- AutoMutex _l( mLock );
- LOGD ( "pauseCheck()" );
- m_request_pause_check = true;
- return 0;
-}
-
-int CTvin::CHDMIAudioCheck::resumeCheck(int later)//ms
-{
- AutoMutex _l( mLock );
- LOGD ( "resumeCheck()" );
- mResumeLaterTime = later;
- m_request_pause_check = false;
- mCheckPauseCondition.signal();
- return 0;
-}
-
-int CTvin::CHDMIAudioCheck::requestAndWaitPauseCheck()
-{
- AutoMutex _l( mLock );
- LOGD ( "requestAndWaitPauseCheck()" );
-
- m_request_pause_check = true;
-
- if ( mCheckState == STATE_RUNNING ) {
- mRequestPauseCondition.wait ( mLock );
- }
-
- return 0;
-}
-
-void CTvin::CHDMIAudioCheck::setHDMIAudioCheckEnable(bool enable)
-{
- if (enable)
- LOGD("setHDMIAudioCheck enable");
- else
- LOGD("setHDMIAudioCheck disable");
-
- mHDMIAudioCheckEnable = enable;
-}
-
-bool CTvin::CHDMIAudioCheck::threadLoop()
-{
- //enter onStart()
- if ( mpObserver == NULL ) {
- return false;
- }
-
- int sleeptime = 200;//ms
- mCheckState = STATE_RUNNING;
-
- while ( !exitPending() ) { //requietexit() or requietexitWait() not call
- while ( m_request_pause_check ) {
- mLock.lock();
- mRequestPauseCondition.broadcast();
- mCheckState = STATE_PAUSE;
- mCheckPauseCondition.wait ( mLock ); //first unlock,when return,lock again,so need,call unlock
- mCheckState = STATE_RUNNING;
- mLock.unlock();
- //
- while (!m_request_pause_check && mResumeLaterTime > 0) {
- usleep(10 * 1000);
- mResumeLaterTime -= 10;
- }
- }
- mResumeLaterTime = 0;
- mpObserver->onHDMIAudioCheckLoop();
- if (mHDMIAudioCheckEnable) {
- sleeptime = 20;
- }
-
- if ( !m_request_pause_check ) {
- usleep ( sleeptime * 1000 );
- }
- }
-
- mCheckState = STATE_STOPED;
- mRequestPauseCondition.broadcast();
- /*exit
- true: run again;
- false,not run.
- */
- return false;
-}
-
-
unsigned long CTvin::CvbsFtmToV4l2ColorStd(tvin_sig_fmt_t fmt)
{
unsigned long v4l2_std = 0;
diff --git a/tv/tvserver/libtv/tvin/CTvin.h b/tv/tvserver/libtv/tvin/CTvin.h
index 148073d..29205c5 100644
--- a/tv/tvserver/libtv/tvin/CTvin.h
+++ b/tv/tvserver/libtv/tvin/CTvin.h
@@ -648,7 +648,6 @@ public:
int TvinApi_GetHDMIAudioStatus ( void );
int Tvin_StartDecoder ( tvin_info_t &info );
int Tvin_StopDecoder();
- int get_hdmi_sampling_rate();
int SwitchPort (tvin_port_t source_port );
int SwitchSnow(bool enable);
bool getSnowStatus(void);
@@ -725,7 +724,6 @@ public:
static unsigned int Tvin_TransPortStringToValue(const char *port_str);
static void Tvin_LoadSourceInputToPortMap();
static int Tvin_GetSourcePortByCECPhysicalAddress(int physical_addr);
- static tv_audio_channel_t Tvin_GetInputSourceAudioChannelIndex ( tv_source_input_t source_input );
static tv_audio_in_source_type_t Tvin_GetAudioInSourceType ( tv_source_input_t source_input );
static tv_source_input_t Tvin_PortToSourceInput ( tvin_port_t port );
static int isVgaFmtInHdmi ( tvin_sig_fmt_t fmt );
@@ -736,53 +734,6 @@ public:
static CTvin *getInstance();
-public:
- class CHDMIAudioCheck: public Thread {
- public:
- CHDMIAudioCheck ();
- ~CHDMIAudioCheck();
- int startCheck(bool bPause = true);
- int stopCheck();
- int pauseCheck();
- int resumeCheck(int later = 0);
- int initCheckState();
- void setHDMIAudioCheckEnable(bool enable = true);
- int requestAndWaitPauseCheck();
- //first pause detect? ok
-
- class IHDMIAudioCheckObserver {
- public:
- IHDMIAudioCheckObserver()
- {};
- virtual ~IHDMIAudioCheckObserver()
- {};
- virtual void onHDMIAudioCheckEnter() {};
- virtual void onHDMIAudioCheckLoop() {};
- };
- void setObserver ( IHDMIAudioCheckObserver *pOb )
- {
- mpObserver = pOb;
- };
-
- private:
- bool threadLoop();
-
- //member
- mutable Mutex mLock;
- Condition mCheckPauseCondition;
- Condition mRequestPauseCondition;
- volatile bool m_request_pause_check;
- enum CheckState {
- STATE_STOPED = 0,
- STATE_RUNNING,
- STATE_PAUSE
- };
- int mCheckState;
- int mResumeLaterTime;
- bool mHDMIAudioCheckEnable;
- IHDMIAudioCheckObserver *mpObserver;
- };
-
private:
static CTvin *mInstance;
int mAfeDevFd;
diff --git a/tv/tvserver/libtv/tvsetting/audio_cfg.cpp b/tv/tvserver/libtv/tvsetting/audio_cfg.cpp
deleted file mode 100644
index 4347330..0000000
--- a/tv/tvserver/libtv/tvsetting/audio_cfg.cpp
+++ b/dev/null
@@ -1,747 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: c++ file
- */
-
-#define LOG_TAG "tvserver"
-#define LOG_TV_TAG "audio_cfg"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <android/log.h>
-#include <cutils/properties.h>
-
-#include "../tvsetting/CTvSetting.h"
-#include <tvconfig.h>
-#include "audio_cfg.h"
-#include "../audio/audio_alsa.h"
-#include "CTvLog.h"
-
-static const char AudioAmpMainVolLutBaseNameTable[CC_GET_TYPE_CNT][128] = {"audio.amp.mainvol.tv.lutbuf",//0
- "audio.amp.mainvol.av.lutbuf",//1
- "audio.amp.mainvol.comp.lutbuf",//2
- "audio.amp.mainvol.hdmi.lutbuf",//3
- "audio.amp.mainvol.vga.lutbuf",//4
- "audio.amp.mainvol.mpeg.lutbuf",//5
- "audio.amp.mainvol.hdmi4k2k.lutbuf",//6
- "audio.amp.mainvol.usb4k2k.lutbuf"//7
- };
-
-static const int Default_EQGain_Table[24] = {
- //
- 50, 50, 50, 50, 50, 50, // SM_STD
- 70, 60, 50, 60, 70, 50, // SM_MUSIC
- 25, 50, 70, 66, 25, 50, // SM_NEWS
- 75, 65, 50, 65, 75, 50, // SM_THEATER
-};
-
-static const int Default_AVoutGain_Table[9] = {
- //PGA_IN ADC_Capture DAC_Playback
- 11, 92, 255, // CC_AUDIO_IN_SOURCE_LINEIN
- 11, 92, 255, //CC_AUDIO_IN_SOURCE_HDMI
- 11, 92, 255, //CC_AUDIO_IN_SOURCE_ATV
-};
-
-int GetAudioAmpMasterNolinePointData(int get_type, const char *value_buf, int data_buf[])
-{
- const char *config_value;
- if (value_buf != NULL) {
- config_value = config_get_str(CFG_SECTION_TV, value_buf, "null");
- } else {
- switch (get_type) {
- case CC_GET_LUT_TV: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.tv", "null");
- }
- break;
- case CC_GET_LUT_AV: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.av", "null");
- }
- break;
- case CC_GET_LUT_COMP: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.comp", "null");
- }
- break;
- case CC_GET_LUT_HDMI: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.hdmi", "null");
- }
- break;
- case CC_GET_LUT_VGA: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.vga", "null");
- }
- break;
- case CC_GET_LUT_MPEG: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.mpeg", "null");
- }
- break;
- case CC_GET_LUT_HDMI_4K2K: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.hdmi4k2k", "null");
- }
- break;
- case CC_GET_LUT_USB_4K2K: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.data.usb4k2k", "null");
- }
- break;
- default: {
- config_value = "null";
- }
- break;
- }
- }
- if (strcasecmp(config_value, "null") == 0) {
- //LOGE("%s, can't get config \"%s\"!!!\n", CFG_SECTION_TV, key_str);
- return -1;
- }
-
- char *pSave;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
-
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- char *token = strtok_r(data_str, ",", &pSave);
- int bufferDataIndex = 0;
- while (token != NULL) {
- data_buf[bufferDataIndex] = strtol(token, NULL, 10);
- bufferDataIndex ++;
- token = strtok_r(NULL, ",", &pSave);
- }
-
- return 0;
-}
-
-int GetDefault_EQGain_Table(int *EqTable)
-{
- memcpy(EqTable, Default_EQGain_Table, sizeof(Default_EQGain_Table));
-
- return 0;
-}
-
-int GetAudioEQPresetBufferPtr(int *EqTable)
-{
- int bufs_count = 0, buf_item_count = 0;
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.eq.presetbuf", "null");
- if (strcasecmp(config_value, "null") == 0) {
- return -1;
- }
-
- char *pSave;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
-
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- char *token = strtok_r(data_str, ",", &pSave);
- int allIndex = 0, bufferDataIndex = 0;
- while (token != NULL) {
- if (allIndex == 0) {
- bufs_count = strtol(token, NULL, 10);
- } else if (allIndex == 1) {
- buf_item_count = strtol(token, NULL, 10);
- } else if (allIndex >= 2) {
- EqTable[bufferDataIndex] = strtol(token, NULL, 10);
- bufferDataIndex ++;
- }
-
- token = strtok_r(NULL, ",", &pSave);
- allIndex ++;
- }
-
- return 0;
-}
-
-/**
- * @param:get_type
- * @return:data_buf
- */
-const char *GetAudioAmpMainvolTableBaseName(int get_type)
-{
- return AudioAmpMainVolLutBaseNameTable[get_type];
-}
-
-int GetAudioAmpMainvolBuf(const char *TableKeyName, int data_buf[])
-{
- int bufs_count = 0, buf_item_count = 0;
- const char *config_value;
-
- config_value = config_get_str(CFG_SECTION_TV, TableKeyName, "null");
- if (strcasecmp(config_value, "null") == 0) {
- return -1;
- }
- char *pSave;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- char *token = strtok_r(data_str, ",", &pSave);
- int allIndex = 0, bufferDataIndex = 0;
- while (token != NULL) {
- if (allIndex == 0) {
- bufs_count = strtol(token, NULL, 10);
- } else if (allIndex == 1) {
- buf_item_count = strtol(token, NULL, 10);
- } else if (allIndex >= 2) {
- data_buf[bufferDataIndex] = strtol(token, NULL, 10);
- bufferDataIndex ++;
- }
- token = strtok_r(NULL, ",", &pSave);
- allIndex ++;
- }
-
- return 0;
-}
-
-/**
- * @param:get_type
- * @return:data_buf
- */
-int GetAudioAmpSupbassvolBuf(int get_type, int data_buf[])
-{
- int bufs_count = 0, buf_item_count = 0;
- const char *config_value;
-
- switch (get_type) {
- case CC_GET_LUT_TV: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.tv.lutbuf", "null");
- }
-
- break;
- case CC_GET_LUT_AV: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.av.lutbuf", "null");
- }
- break;
- case CC_GET_LUT_COMP: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.comp.lutbuf", "null");
- }
- break;
- case CC_GET_LUT_HDMI: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.hdmi.lutbuf", "null");
- }
- break;
- case CC_GET_LUT_VGA: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.vga.lutbuf", "null");
- }
-
- break;
- case CC_GET_LUT_MPEG: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.mpeg.lutbuf", "null");
- }
-
- break;
- case CC_GET_LUT_HDMI_4K2K: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.hdmi4k2k.lb.name", "null");
- }
-
- break;
- case CC_GET_LUT_USB_4K2K: {
- config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.usb4k2k.lb.name", "null");
- }
-
- break;
- default: {
- config_value = "null";
- }
- break;
- }
-
- if (strcasecmp(config_value, "null") == 0) {
- return -1;
- }
- char *pSave;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- char *token = strtok_r(data_str, ",", &pSave);
- int allIndex = 0, bufferDataIndex = 0;
- while (token != NULL) {
- if (allIndex == 0) {
- bufs_count = strtol(token, NULL, 10);
- } else if (allIndex == 1) {
- buf_item_count = strtol(token, NULL, 10);
- } else if (allIndex >= 2) {
- data_buf[bufferDataIndex] = strtol(token, NULL, 10);
- bufferDataIndex ++;
- }
- token = strtok_r(NULL, ",", &pSave);
- allIndex ++;
- }
-
- return 0;
-}
-
-int GetAudioAmplifierMasterNoLineSwitchFlag()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.switch", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierSupperBassNoLineSwitchFlag()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supperbass.noline.switch", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierMasterNoLinePointsCount()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.noline.point.cnt", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 11;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierSupperBassNoLinePointsCount()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supperbass.noline.point.cnt", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 5;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierBalanceExchangeCFG()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.balance.exchg", "null");
-
- // if (data_buf[0] >= 0 && data_buf[0] <= 100) {
- // LOGD("%s, we have get the index buffer.\n", CFG_SECTION_TV);
- // return 0;
- // }
-
- if (strcmp(config_value, "null") == 0) {
- return 0; //return 0 to disable balance exchange
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufCFGIndexModifyEnable()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.master.cfgindex.mod.en", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufNameModifyUbootenvCFG()
-{
- char config_value[PROPERTY_VALUE_MAX];
-
- memset(config_value, '\0', 32);
- getBootEnv(UBOOTENV_AMPINDEX, config_value, "null");
-
- if (strcasecmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-
-int GetAudioMainVolLutBufNameModifyEnableCFG()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.mainvol.lutbufname.mod.en", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-
-int GetAudioSupperBassVolLutBufCFGIndexModifyEnable()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supperbass.cfgindex.mod.en", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSupperBassVolLutBufNameModifyEnableCFG()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.amp.supbassvol.lutbufname.mod.en", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-
-int GetAudioDVISupportEnable()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.dvi.support.enable", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-
-int GetTvAudioCardName(char tv_card_name_buf[])
-{
- const char *value = config_get_str(CFG_SECTION_TV, "audio.tv.card.name", "null");
-
- strcpy(tv_card_name_buf, value);
- if (strcmp(value, "null") == 0) {
- strcpy(tv_card_name_buf, "AMLSYNO9629");
- }
-
- return 0;
-}
-
-int GetTvAudioCardNeedSet()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.tv.card.needset", "null");
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- if (strtoul(config_value, NULL, 10) == 0) {
- return 0;
- }
-
- return 1;
-}
-
-int GetAudioEffectAmplifierGainCfg(const char *cfg_name, int def_gain_val, int max_gain_val)
-{
- int tmp_val;
- const char *config_value = config_get_str(CFG_SECTION_TV, cfg_name, "null");
- if (strcmp(config_value, "null") == 0) {
- tmp_val = def_gain_val;
- } else {
- tmp_val = strtoul(config_value, NULL, 10);
- if (tmp_val < 0 || tmp_val > max_gain_val) {
- tmp_val = def_gain_val;
- }
- }
- LOGD("%s = %d\n", cfg_name, tmp_val);
- return tmp_val;
-}
-
-
-int GetAudioSRSSourroundEnableCFG()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.srs.sourround.enable", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSRSGainCfg(const char *cfg_name, int def_gain_val)
-{
- int tmp_val = 0;
- const char *config_value = config_get_str(CFG_SECTION_TV, cfg_name, "null");
-
- if (strcmp(config_value, "null") == 0) {
- tmp_val = def_gain_val;
- } else {
- if (tmp_val < 0 || tmp_val > 100) {
- tmp_val = def_gain_val;
- LOGE("Error setting: %s = %d (0~100)\n", cfg_name, tmp_val);
- }
- tmp_val = strtoul(config_value, NULL, 10);
- }
- //LOGD(" %s = %d\n", cfg_name, tmp_val);
- return tmp_val;
-}
-
-int GetAudioSRSSupperBassTrubassSpeakerSizeCfg()
-{
- char cfg_name[128] = { 0 };
-
- strcpy(cfg_name, CFG_AUDIO_SRS_TRUBASS_SPEAKERSIZE);
-
- const char *config_value = config_get_str(CFG_SECTION_TV, cfg_name, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return -1;
- }
-
- int tmp_val = strtoul(config_value, NULL, 10);
- if (tmp_val < 0 || tmp_val > 7) {
- tmp_val = -1;
- }
-
- return tmp_val;
-}
-
-int GetAudioDumpDataEnableFlagCfg()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.dump.data.en", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioSupperBassSwitchDisableCFG()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.supperbass.switch.disable", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioWallEffectTypeCfg()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.walleffect.type", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int Get2d4gHeadsetEnable()
-{
- const char *config_value = config_get_str ( CFG_SECTION_TV, "tvin.2d4G.headset.en", "null" );
- if (strcmp(config_value, "enable") == 1) {
- return 1;
- }
-
-
- return 0;
-}
-
-int GetUseAndroidVolEnable()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.android.vol.en", "null");
- if (!strcmp(config_value, "enable")) {
- return 1;
- }
- return 0;
-}
-
-const char *GetAudExtDacLibPath()
-{
- return config_get_str(CFG_SECTION_TV, "audio.external.dac.libpath", "/vendor/lib/libdac.so");
-}
-
-int GetKaraokAvEnable()
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.switch.karaok.av.enable", "null");
- if (strtoul(config_value, NULL, 10) == 1)
- return 1;
-
- return 0;
-}
-
-int GetDefaultAvOutGainBuf(int *nAvoutTable)
-{
- memcpy(nAvoutTable, Default_AVoutGain_Table, sizeof(Default_AVoutGain_Table));
-
- return 0;
-}
-
-int GetAvOutGainBuf_Cfg(int *nAvoutTable)
-{
- int bufs_count = 0, buf_item_count = 0;
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.avoutgain.presetbuf", "null");
- if (strcasecmp(config_value, "null") == 0) {
- // LOGE("%s, can't get config \"%s\"!!!\n", CFG_SECTION_TV, key_str);
- return -1;
- }
-
- char *pSave;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
-
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- char *token = strtok_r(data_str, ",", &pSave);
- int allIndex = 0, bufferDataIndex = 0;
- while (token != NULL) {
- if (allIndex == 0) {
- bufs_count = strtol(token, NULL, 10);
- } else if (allIndex == 1) {
- buf_item_count = strtol(token, NULL, 10);
- } else if (allIndex >= 2) {
- nAvoutTable[bufferDataIndex] = strtol(token, NULL, 10);
- bufferDataIndex ++;
- }
-
- token = strtok_r(NULL, ",", &pSave);
- allIndex ++;
- }
-
- return 0;
-}
-
-int GetADCDigitalCaptureVol_Cfg(void)
-{
- int capture_vol = 0;
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.adc.digital.capture.vol", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return -1;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioInternalDacPGAInGain_Cfg(void)
-{
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.internal.dac.pga_in.gain", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 16;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioInternalDACDigitalPlayBackVolume_Cfg(int audio_src_in_type)
-{
- const char *config_value = NULL;
-
- if (audio_src_in_type == CC_AUDIO_IN_SOURCE_HDMI) { // CC_AUDIO_IN_SOURCE_HDMI
- config_value = config_get_str(CFG_SECTION_TV, "audio.internal.dac.playback.volume_hdmi", "null");
- } else if (audio_src_in_type == CC_AUDIO_IN_SOURCE_LINEIN) { // CC_AUDIO_IN_SOURCE_LINEIN
- config_value = config_get_str(CFG_SECTION_TV, "audio.internal.dac.playback.volume_linein", "null");
- } else if (audio_src_in_type == CC_AUDIO_IN_SOURCE_ATV) { // CC_AUDIO_IN_SOURCE_ATV
- config_value = config_get_str(CFG_SECTION_TV, "audio.internal.dac.playback.volume_atv", "null");
- } else if (audio_src_in_type == CC_AUDIO_IN_SOURCE_SPDIFIN) { // CC_AUDIO_IN_SOURCE_SPDIFIN
- config_value = config_get_str(CFG_SECTION_TV, "audio.internal.dac.playback.volume_hdmi", "null");
- }
-
- if (strcmp(config_value, "null") == 0) {
- return 255;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioOutputSwapStatus(tv_source_input_t source_input)
-{
- int sw_status = 0;
- const char *config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.enable", "null");
- if ( strcmp ( config_value, "enable" ) == 0 ) {
- switch (source_input) {
- case SOURCE_AV1:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.av1", "null");
- break;
- case SOURCE_AV2:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.av2", "null");
- break;
- case SOURCE_HDMI1:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.hdmi1", "null");
- break;
- case SOURCE_HDMI2:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.hdmi2", "null");
- break;
- case SOURCE_HDMI3:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.hdmi3", "null");
- break;
- case SOURCE_HDMI4:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.hdmi4", "null");
- break;
- case SOURCE_TV:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.tv", "null");
- break;
- case SOURCE_DTV:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.dtv", "null");
- break;
- case SOURCE_MPEG:
- config_value = config_get_str(CFG_SECTION_TV, "audio.output.swap.mpeg", "null");
- break;
- default:
- break;
- }
-
- }
-
- sw_status = atoi ( config_value );
- return sw_status;
-}
-
-int GetAudioArchitectureTypeCFG()
-{
- static int architecture_type = -1;
- const char *config_value = NULL;
-
- config_value = config_get_str ( CFG_SECTION_TV, "audio.architecture.type", "null" );
- if (strcasecmp(config_value, "null") == 0) {
- architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC;
- } else if ((strcasecmp(config_value, "t866_external_dac_offboard_fbc") == 0) || (strcasecmp(config_value, "g9tv_external_dac_offboard_fbc") == 0)) {
- architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC;
- } else if ((strcasecmp(config_value, "t866_external_dac_offboard_customer_lib") == 0) || (strcasecmp(config_value, "g9tv_external_dac_customer_lib") == 0)) {
- architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB;
- } else if ((strcasecmp(config_value, "t866_external_dac_offboard_digital") == 0) || (strcasecmp(config_value, "g9tv_external_dac_digital") == 0)) {
- architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_DIGITAL;
- } else if ((strcasecmp(config_value, "t866_external_dac_onboard") == 0) || (strcasecmp(config_value, "g9tv_external_dac_onboard") == 0)) {
- architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD;
- } else if ((strcasecmp(config_value, "t866_iternal_dac") == 0) || (strcasecmp(config_value, "g9tv_iternal_dac") == 0)) {
- architecture_type = CC_DAC_G9TV_INTERNAL_DAC;
- }
-
- return architecture_type;
-}
-
-static int gAudioResampleType = -1;
-int GetAudioResampleTypeCFG()
-{
- char *token = NULL;
- const char *strDelimit = ",";
- const char *config_value = NULL;
- char cfg_buf[1024];
-
- if (gAudioResampleType == -1) {
- gAudioResampleType = 0;
-
- char *pSave;
- config_value = config_get_str ( CFG_SECTION_TV, "audio.resample.type", "null" );
- strncpy(cfg_buf, config_value, sizeof(cfg_buf));
- if (strcmp(cfg_buf, "") != 0) {
- token = strtok_r(cfg_buf, strDelimit, &pSave);
- while (token != NULL) {
- if (strcasecmp(token, "hw") == 0) {
- gAudioResampleType |= CC_AUD_RESAMPLE_TYPE_HW;
- } else if (strcasecmp(token, "sw") == 0) {
- gAudioResampleType |= CC_AUD_RESAMPLE_TYPE_SW;
- }
-
- token = strtok_r(NULL, strDelimit, &pSave);
- }
- } else {
- gAudioResampleType = CC_AUD_RESAMPLE_TYPE_SW; //if can't find config string, allow sw resample
- }
- }
-
- return gAudioResampleType;
-}
-
diff --git a/tv/tvserver/libtv/tvsetting/audio_cfg.h b/tv/tvserver/libtv/tvsetting/audio_cfg.h
deleted file mode 100644
index 7630004..0000000
--- a/tv/tvserver/libtv/tvsetting/audio_cfg.h
+++ b/dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2014 Amlogic, Inc. All rights reserved.
- *
- * This source code is subject to the terms and conditions defined in the
- * file 'LICENSE' which is part of this source code package.
- *
- * Description: header file
- */
-
-#ifndef __TV_AUDIO_CFG_H__
-#define __TV_AUDIO_CFG_H__
-
-#include <tvconfig.h>
-#include <tvutils.h>
-
-#include "../tvin/CTvin.h"
-
-#define CC_GET_LUT_TV (0)
-#define CC_GET_LUT_AV (1)
-#define CC_GET_LUT_COMP (2)
-#define CC_GET_LUT_HDMI (3)
-#define CC_GET_LUT_VGA (4)
-#define CC_GET_LUT_MPEG (5)
-#define CC_GET_LUT_HDMI_4K2K (6)
-#define CC_GET_LUT_USB_4K2K (7)
-#define CC_GET_TYPE_CNT (8)
-
-#define CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD (1)
-#define CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC (2)
-#define CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB (3)
-#define CC_DAC_G9TV_EXTERNAL_DAC_DIGITAL (4)
-#define CC_DAC_G9TV_INTERNAL_DAC (5)
-
-#define CC_AUD_RESAMPLE_TYPE_HW (1)
-#define CC_AUD_RESAMPLE_TYPE_SW (2)
-
-int GetAudioAmpMasterNolinePointData(int get_type, const char *value_buf, int data_buf[]);
-int GetAudioEQPresetBufferPtr(int * );
-int GetAudioAmpMainvolBuf(const char *TableKeyName, int data_buf[]);
-int GetAudioAmpSupbassvolBuf(int get_type, int data_buf[]);
-int GetAudioAmplifierMasterNoLineSwitchFlag();
-int GetAudioAmplifierMasterNoLinePointsCount();
-int GetAudioSupperBassSwitchDisableCFG();
-int GetAudioAmplifierSupperBassNoLineSwitchFlag();
-int GetAudioAmplifierSupperBassNoLinePointsCount();
-int GetAudioAmplifierBalanceExchangeCFG();
-int GetAudioMainVolLutBufNameModifyUbootenvCFG();
-int GetAudioMainVolLutBufNameModifyEnableCFG();
-int GetAudioSupperBassVolLutBufNameModifyEnableCFG();
-
-int GetAudioDVISupportEnable();
-int GetTvAudioCardName(char tv_card_name_buf[]);
-int GetTvAudioCardNeedSet();
-int GetAudioDumpDataEnableFlagCfg();
-int GetAudioWallEffectTypeCfg();
-
-//srs user setting
-int GetAudioSRSSourroundEnableCFG();
-int GetAudioSRSGainCfg(const char *cfg_name, int def_gain_val);
-int GetAudioEffectAmplifierGainCfg(const char *cfg_name, int def_gain_val, int max_gain_val);
-int GetAudioSRSSupperBassTrubassSpeakerSizeCfg();
-//tinymix control
-int Get2d4gHeadsetEnable() ;
-int GetUseAndroidVolEnable();
-int GetAudioOutputSwapStatus(tv_source_input_t source_input);
-//hardware design
-int GetAudioArchitectureTypeCFG();
-const char *GetAudExtDacLibPath();
-int GetAudioResampleTypeCFG();
-int GetKaraokAvEnable();
-//audio path gain setting by user
-int GetADCDigitalCaptureVol_Cfg(void);
-int GetAudioInternalDacPGAInGain_Cfg(void);
-int GetAudioInternalDACDigitalPlayBackVolume_Cfg(int audio_src_in_type);
-const char *GetAudioAmpMainvolTableBaseName(int get_type);
-int GetDefault_EQGain_Table(int *EqTable);
-int GetDefaultAvOutGainBuf(int *nAvoutTable);
-int GetAvOutGainBuf_Cfg(int *nAvoutTable);
-
-#endif //__TV_AUDIO_CFG_H__
diff --git a/tv/tvserver/tvserver/DroidTvServiceIntf.cpp b/tv/tvserver/tvserver/DroidTvServiceIntf.cpp
index 58a89c2..ab5b0de 100644
--- a/tv/tvserver/tvserver/DroidTvServiceIntf.cpp
+++ b/tv/tvserver/tvserver/DroidTvServiceIntf.cpp
@@ -40,7 +40,6 @@
#include <tvutils.h>
#include <tvsetting/CTvSetting.h>
#include <tv/CTvFactory.h>
-#include <audio/CTvAudio.h>
#include <version/version.h>
#include "tvcmd.h"
#include <tvdb/CTvRegion.h>
@@ -634,407 +633,255 @@ int DroidTvServiceIntf::processCmd(const Parcel &p) {
// AUDIO & AUDIO MUTE
case SET_AUDIO_MUTE_FOR_TV: {
int status = p.readInt32();
- if (status != mpTv->GetAudioMuteForTv()) {
- ret = mpTv->SetAudioMuteForTv(status);
- }
break;
}
case SET_AUDIO_MUTEKEY_STATUS: {
int status = p.readInt32();
- ret = mpTv->SetAudioMuteForSystem(status);
break;
}
case GET_AUDIO_MUTEKEY_STATUS:
- ret = mpTv->GetAudioMuteForSystem();
break;
case SET_AUDIO_AVOUT_MUTE_STATUS: {
- int status = p.readInt32();
- ret = mpTv->SetAudioAVOutMute(status);
break;
}
case GET_AUDIO_AVOUT_MUTE_STATUS:
- ret = mpTv->GetAudioAVOutMute();
break;
case SET_AUDIO_SPDIF_MUTE_STATUS: {
- int status = p.readInt32();
- ret = mpTv->SetAudioSPDIFMute(status);
break;
}
case GET_AUDIO_SPDIF_MUTE_STATUS:
- ret = mpTv->GetAudioSPDIFMute();
break;
// AUDIO MASTER VOLUME
case SET_AUDIO_MASTER_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioMasterVolume(vol);
break;
}
case GET_AUDIO_MASTER_VOLUME:
- ret = mpTv->GetAudioMasterVolume();
break;
case SAVE_CUR_AUDIO_MASTER_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioMasterVolume(vol);
break;
}
case GET_CUR_AUDIO_MASTER_VOLUME:
- ret = mpTv->GetCurAudioMasterVolume();
break;
//AUDIO BALANCE
case SET_AUDIO_BALANCE: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioBalance(vol);
break;
}
case GET_AUDIO_BALANCE:
- ret = mpTv->GetAudioBalance();
break;
case SAVE_CUR_AUDIO_BALANCE: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioBalance(vol);
break;
}
case GET_CUR_AUDIO_BALANCE:
- ret = mpTv->GetCurAudioBalance();
break;
//AUDIO SUPPERBASS VOLUME
case SET_AUDIO_SUPPER_BASS_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioSupperBassVolume(vol);
break;
}
case GET_AUDIO_SUPPER_BASS_VOLUME:
- ret = mpTv->GetAudioSupperBassVolume();
break;
case SAVE_CUR_AUDIO_SUPPER_BASS_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSupperBassVolume(vol);
break;
}
case GET_CUR_AUDIO_SUPPER_BASS_VOLUME:
- ret = mpTv->GetCurAudioSupperBassVolume();
break;
//AUDIO SUPPERBASS SWITCH
case SET_AUDIO_SUPPER_BASS_SWITCH: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioSupperBassSwitch(vol);
break;
}
case GET_AUDIO_SUPPER_BASS_SWITCH:
- ret = mpTv->GetAudioSupperBassSwitch();
break;
case SAVE_CUR_AUDIO_SUPPER_BASS_SWITCH: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSupperBassSwitch(vol);
break;
}
case GET_CUR_AUDIO_SUPPER_BASS_SWITCH:
- ret = mpTv->GetCurAudioSupperBassSwitch();
break;
//AUDIO SRS SURROUND SWITCH
case SET_AUDIO_SRS_SURROUND: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioSRSSurround(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
break;
}
case GET_AUDIO_SRS_SURROUND:
- ret = mpTv->GetAudioSRSSurround();
break;
case SAVE_CUR_AUDIO_SRS_SURROUND: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSrsSurround(vol);
break;
}
case GET_CUR_AUDIO_SRS_SURROUND:
- ret = mpTv->GetCurAudioSRSSurround();
break;
//AUDIO SRS DIALOG CLARITY
case SET_AUDIO_SRS_DIALOG_CLARITY: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioSrsDialogClarity(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
break;
}
case GET_AUDIO_SRS_DIALOG_CLARITY: {
- ret = mpTv->GetAudioSrsDialogClarity();
break;
}
case SAVE_CUR_AUDIO_SRS_DIALOG_CLARITY: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSrsDialogClarity(vol);
break;
}
case GET_CUR_AUDIO_SRS_DIALOG_CLARITY:
- ret = mpTv->GetCurAudioSrsDialogClarity();
break;
//AUDIO SRS TRUBASS
case SET_AUDIO_SRS_TRU_BASS: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioSrsTruBass(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
break;
}
case GET_AUDIO_SRS_TRU_BASS:
- ret = mpTv->GetAudioSrsTruBass();
break;
case SAVE_CUR_AUDIO_SRS_TRU_BASS: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSrsTruBass(vol);
break;
}
case GET_CUR_AUDIO_SRS_TRU_BASS:
- ret = mpTv->GetCurAudioSrsTruBass();
break;
//AUDIO BASS
case SET_AUDIO_BASS_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioBassVolume(vol);
break;
}
case GET_AUDIO_BASS_VOLUME:
- ret = mpTv->GetAudioBassVolume();
break;
case SAVE_CUR_AUDIO_BASS_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioBassVolume(vol);
break;
}
case GET_CUR_AUDIO_BASS_VOLUME:
- ret = mpTv->GetCurAudioBassVolume();
break;
//AUDIO TREBLE
case SET_AUDIO_TREBLE_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioTrebleVolume(vol);
break;
}
case GET_AUDIO_TREBLE_VOLUME:
- ret = mpTv->GetAudioTrebleVolume();
break;
case SAVE_CUR_AUDIO_TREBLE_VOLUME: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioTrebleVolume(vol);
break;
}
case GET_CUR_AUDIO_TREBLE_VOLUME:
- ret = mpTv->GetCurAudioTrebleVolume();
break;
//AUDIO SOUND MODE
case SET_AUDIO_SOUND_MODE: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioSoundMode(vol);
break;
}
case GET_AUDIO_SOUND_MODE:
- ret = mpTv->GetAudioSoundMode();
break;
case SAVE_CUR_AUDIO_SOUND_MODE: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSoundMode(vol);
break;
}
case GET_CUR_AUDIO_SOUND_MODE:
- ret = mpTv->GetCurAudioSoundMode();
break;
//AUDIO WALL EFFECT
case SET_AUDIO_WALL_EFFECT: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioWallEffect(vol);
break;
}
case GET_AUDIO_WALL_EFFECT:
- ret = mpTv->GetAudioWallEffect();
break;
case SAVE_CUR_AUDIO_WALL_EFFECT: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioWallEffect(vol);
break;
}
case GET_CUR_AUDIO_WALL_EFFECT:
- ret = mpTv->GetCurAudioWallEffect();
break;
//AUDIO EQ MODE
case SET_AUDIO_EQ_MODE: {
- int vol = p.readInt32();
- ret = mpTv->SetAudioEQMode(vol);
break;
}
case GET_AUDIO_EQ_MODE:
- ret = mpTv->GetAudioEQMode();
break;
case SAVE_CUR_AUDIO_EQ_MODE: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioEQMode(vol);
break;
}
case GET_CUR_AUDIO_EQ_MODE:
- ret = mpTv->GetCurAudioEQMode();
break;
//AUDIO EQ GAIN
case GET_AUDIO_EQ_RANGE: {
- int buf[2];
- ret = mpTv->GetAudioEQRange(buf);
- //r->writeInt32(2);
- //r->writeInt32(buf[0]);
- //r->writeInt32(buf[1]);
- //r->writeInt32(ret);
break;
}
case GET_AUDIO_EQ_BAND_COUNT:
- ret = mpTv->GetAudioEQBandCount();
break;
case SET_AUDIO_EQ_GAIN: {
- int buf[128] = {0};
- int bufSize = p.readInt32();
- for (int i = 0; i < bufSize; i++) {
- buf[i] = p.readInt32();
- }
- ret = mpTv->SetAudioEQGain(buf);
break;
}
case GET_AUDIO_EQ_GAIN: {
- int buf[128] = {0};
- ret = mpTv->GetAudioEQGain(buf);
- int bufSize = mpTv->GetAudioEQBandCount();
- for (int i = 0; i < bufSize; i++) {
- //r->writeInt32(buf[i]);
- }
- //r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_EQ_GAIN: {
- int buf[128] = {0};
- int bufSize = p.readInt32();
- for (int i = 0; i < bufSize; i++) {
- buf[i] = p.readInt32();
- }
- ret = mpTv->SaveCurAudioEQGain(buf);
break;
}
case GET_CUR_EQ_GAIN: {
- int buf[128] = {0};
- ret = mpTv->GetCurAudioEQGain(buf);
- int bufSize = mpTv->GetAudioEQBandCount();
- //r->writeInt32(bufSize);
- for (int i = 0; i < bufSize; i++) {
- //r->writeInt32(buf[i]);
- }
break;
}
case SET_AUDIO_EQ_SWITCH: {
- int tmpVal = p.readInt32();
- ret = mpTv->SetAudioEQSwitch(tmpVal);
break;
}
// AUDIO SPDIF SWITCH
case SET_AUDIO_SPDIF_SWITCH: {
- int tmp_val = p.readInt32();
- ret = mpTv->SetAudioSPDIFSwitch(tmp_val);
break;
}
case SAVE_CUR_AUDIO_SPDIF_SWITCH: {
- int tmp_val = p.readInt32();
- ret = mpTv->SaveCurAudioSPDIFSwitch(tmp_val);
break;
}
case GET_CUR_AUDIO_SPDIF_SWITCH:
- ret = mpTv->GetCurAudioSPDIFSwitch();
break;
//AUDIO SPDIF MODE
case SET_AUDIO_SPDIF_MODE: {
- int vol = p.readInt32();
- int progId = p.readInt32();
- int audioTrackId = p.readInt32();
- ret = mpTv->SetAudioSPDIFMode(vol);
- mpTv->ResetAudioDecoderForPCMOutput();
break;
}
case SAVE_CUR_AUDIO_SPDIF_MODE: {
- int vol = p.readInt32();
- ret = mpTv->SaveCurAudioSPDIFMode(vol);
break;
}
case GET_CUR_AUDIO_SPDIF_MODE:
- ret = mpTv->GetCurAudioSPDIFMode();
break;
case SET_AMAUDIO_OUTPUT_MODE: {
- int tmp_val = p.readInt32();
- ret = mpTv->SetAmAudioOutputMode(tmp_val);
break;
}
case SET_AMAUDIO_MUSIC_GAIN: {
- int tmp_val = p.readInt32();
- ret = mpTv->SetAmAudioMusicGain(tmp_val);
break;
}
case SET_AMAUDIO_LEFT_GAIN: {
- int tmp_val = p.readInt32();
- ret = mpTv->SetAmAudioLeftGain(tmp_val);
break;
}
case SET_AMAUDIO_RIGHT_GAIN: {
- int tmp_val = p.readInt32();
- ret = mpTv->SetAmAudioRightGain(tmp_val);
break;
}
case SET_AMAUDIO_PRE_GAIN: {
- float tmp_val = p.readFloat();
- ret = mpTv->setAmAudioPreGain(tmp_val);
break;
}
case SET_AMAUDIO_PRE_MUTE: {
- int tmp_val = p.readInt32();
- ret = mpTv->setAmAudioPreMute(tmp_val);
break;
}
case GET_AMAUDIO_PRE_MUTE:
- ret = mpTv->getAmAudioPreMute();
break;
case SELECT_LINE_IN_CHANNEL: {
- int channel = p.readInt32();
- ret = mpTv->AudioLineInSelectChannel(channel);
- LOGD("SELECT_LINE_IN_CHANNEL: channel = %d; ret = %d.\n", channel, ret);
+
break;
}
case SET_LINE_IN_CAPTURE_VOL: {
int l_vol = p.readInt32();
int r_vol = p.readInt32();
- ret = mpTv->AudioSetLineInCaptureVolume(l_vol, r_vol);
break;
}
case SET_AUDIO_VOL_COMP: {
- int tmpVal = p.readInt32();
- ret = mpTv->SetCurProgramAudioVolumeCompensationVal(tmpVal);
break;
}
case GET_AUDIO_VOL_COMP:
@@ -1042,17 +889,12 @@ int DroidTvServiceIntf::processCmd(const Parcel &p) {
break;
case SET_AUDIO_VIRTUAL: {
- int enable = p.readInt32();
- int level = p.readInt32();
- ret = mpTv->SetAudioVirtualizer(enable, level);
break;
}
case GET_AUDIO_VIRTUAL_ENABLE:
- ret = mpTv->GetAudioVirtualizerEnable();
break;
case GET_AUDIO_VIRTUAL_LEVEL:
- ret = mpTv->GetAudioVirtualizerLevel();
break;
// AUDIO END
@@ -2053,23 +1895,15 @@ int DroidTvServiceIntf::processCmd(const Parcel &p) {
break;
case SET_AMAUDIO_VOLUME: {
- int volume = p.readInt32();
- ret = mpTv->setAmAudioVolume(float (volume));
break;
}
case GET_AMAUDIO_VOLUME:
- ret = (int)mpTv->getAmAudioVolume();
break;
case SAVE_AMAUDIO_VOLUME: {
- int volume = p.readInt32();
- int source = p.readInt32();
- ret = mpTv->saveAmAudioVolume(volume, source);
break;
}
case GET_SAVE_AMAUDIO_VOLUME: {
- int source = p.readInt32();
- ret = mpTv->getSaveAmAudioVolume(source);
break;
}
case DTV_UPDATE_RRT: {
diff --git a/tv/tvserver/tvserver/TvService.cpp b/tv/tvserver/tvserver/TvService.cpp
index ff597c2..312d9f7 100644
--- a/tv/tvserver/tvserver/TvService.cpp
+++ b/tv/tvserver/tvserver/TvService.cpp
@@ -28,7 +28,6 @@
#include <tvutils.h>
#include <tvsetting/CTvSetting.h>
#include <tv/CTvFactory.h>
-#include <audio/CTvAudio.h>
#include <version/version.h>
#include "tvcmd.h"
#include <tvdb/CTvRegion.h>
@@ -1408,485 +1407,252 @@ status_t TvService::Client::processCmd(const Parcel &p, Parcel *r)
// AUDIO & AUDIO MUTE
case SET_AUDIO_MUTE_FOR_TV: {
int status = p.readInt32();
- if (status != mpTv->GetAudioMuteForTv()) {
- int ret = mpTv->SetAudioMuteForTv(status);
- r->writeInt32(ret);
- }
break;
}
case SET_AUDIO_MUTEKEY_STATUS: {
- int status = p.readInt32();
- int ret = mpTv->SetAudioMuteForSystem(status);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_MUTEKEY_STATUS: {
- int ret = mpTv->GetAudioMuteForSystem();
- r->writeInt32(ret);
break;
}
case SET_AUDIO_AVOUT_MUTE_STATUS: {
- int status = p.readInt32();
- int ret = mpTv->SetAudioAVOutMute(status);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_AVOUT_MUTE_STATUS: {
- int ret = mpTv->GetAudioAVOutMute();
- r->writeInt32(ret);
break;
}
case SET_AUDIO_SPDIF_MUTE_STATUS: {
- int status = p.readInt32();
- int ret = mpTv->SetAudioSPDIFMute(status);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SPDIF_MUTE_STATUS: {
- int ret = mpTv->GetAudioSPDIFMute();
- r->writeInt32(ret);
break;
}
// AUDIO MASTER VOLUME
case SET_AUDIO_MASTER_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioMasterVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_MASTER_VOLUME: {
- int ret = mpTv->GetAudioMasterVolume();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_MASTER_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioMasterVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_MASTER_VOLUME: {
- int ret = mpTv->GetCurAudioMasterVolume();
- r->writeInt32(ret);
break;
}
//AUDIO BALANCE
case SET_AUDIO_BALANCE: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioBalance(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_BALANCE: {
- int ret = mpTv->GetAudioBalance();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_BALANCE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioBalance(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_BALANCE: {
- int ret = mpTv->GetCurAudioBalance();
- r->writeInt32(ret);
break;
}
//AUDIO SUPPERBASS VOLUME
case SET_AUDIO_SUPPER_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSupperBassVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SUPPER_BASS_VOLUME: {
- int ret = mpTv->GetAudioSupperBassVolume();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SUPPER_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSupperBassVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SUPPER_BASS_VOLUME: {
- int ret = mpTv->GetCurAudioSupperBassVolume();
- r->writeInt32(ret);
break;
}
//AUDIO SUPPERBASS SWITCH
case SET_AUDIO_SUPPER_BASS_SWITCH: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSupperBassSwitch(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SUPPER_BASS_SWITCH: {
- int ret = mpTv->GetAudioSupperBassSwitch();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SUPPER_BASS_SWITCH: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSupperBassSwitch(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SUPPER_BASS_SWITCH: {
- int ret = mpTv->GetCurAudioSupperBassSwitch();
- r->writeInt32(ret);
break;
}
//AUDIO SRS SURROUND SWITCH
case SET_AUDIO_SRS_SURROUND: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSRSSurround(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SRS_SURROUND: {
- int ret = mpTv->GetAudioSRSSurround();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SRS_SURROUND: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSrsSurround(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SRS_SURROUND: {
- int ret = mpTv->GetCurAudioSRSSurround();
- r->writeInt32(ret);
break;
}
//AUDIO SRS DIALOG CLARITY
case SET_AUDIO_SRS_DIALOG_CLARITY: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSrsDialogClarity(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SRS_DIALOG_CLARITY: {
- int ret = mpTv->GetAudioSrsDialogClarity();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SRS_DIALOG_CLARITY: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSrsDialogClarity(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SRS_DIALOG_CLARITY: {
- int ret = mpTv->GetCurAudioSrsDialogClarity();
- r->writeInt32(ret);
break;
}
//AUDIO SRS TRUBASS
case SET_AUDIO_SRS_TRU_BASS: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSrsTruBass(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SRS_TRU_BASS: {
- int ret = mpTv->GetAudioSrsTruBass();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SRS_TRU_BASS: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSrsTruBass(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SRS_TRU_BASS: {
- int ret = mpTv->GetCurAudioSrsTruBass();
- r->writeInt32(ret);
break;
}
//AUDIO BASS
case SET_AUDIO_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioBassVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_BASS_VOLUME: {
- int ret = mpTv->GetAudioBassVolume();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioBassVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_BASS_VOLUME: {
- int ret = mpTv->GetCurAudioBassVolume();
- r->writeInt32(ret);
break;
}
//AUDIO TREBLE
case SET_AUDIO_TREBLE_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioTrebleVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_TREBLE_VOLUME: {
- int ret = mpTv->GetAudioTrebleVolume();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_TREBLE_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioTrebleVolume(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_TREBLE_VOLUME: {
- int ret = mpTv->GetCurAudioTrebleVolume();
- r->writeInt32(ret);
break;
}
//AUDIO SOUND MODE
case SET_AUDIO_SOUND_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSoundMode(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_SOUND_MODE: {
- int ret = mpTv->GetAudioSoundMode();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SOUND_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSoundMode(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SOUND_MODE: {
- int ret = mpTv->GetCurAudioSoundMode();
- r->writeInt32(ret);
break;
}
//AUDIO WALL EFFECT
case SET_AUDIO_WALL_EFFECT: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioWallEffect(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_WALL_EFFECT: {
- int ret = mpTv->GetAudioWallEffect();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_WALL_EFFECT: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioWallEffect(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_WALL_EFFECT: {
- int ret = mpTv->GetCurAudioWallEffect();
- r->writeInt32(ret);
break;
}
//AUDIO EQ MODE
case SET_AUDIO_EQ_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioEQMode(vol);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_EQ_MODE: {
- int ret = mpTv->GetAudioEQMode();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_EQ_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioEQMode(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_EQ_MODE: {
- int ret = mpTv->GetCurAudioEQMode();
- r->writeInt32(ret);
break;
}
//AUDIO EQ GAIN
case GET_AUDIO_EQ_RANGE: {
- int buf[2];
- int ret = mpTv->GetAudioEQRange(buf);
- r->writeInt32(2);
- r->writeInt32(buf[0]);
- r->writeInt32(buf[1]);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_EQ_BAND_COUNT: {
- int ret = mpTv->GetAudioEQBandCount();
- r->writeInt32(ret);
break;
}
case SET_AUDIO_EQ_GAIN: {
- int buf[128] = {0};
- int bufSize = p.readInt32();
- for (int i = 0; i < bufSize; i++) {
- buf[i] = p.readInt32();
- }
- int ret = mpTv->SetAudioEQGain(buf);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_EQ_GAIN: {
- int buf[128] = {0};
- int ret = mpTv->GetAudioEQGain(buf);
- int bufSize = mpTv->GetAudioEQBandCount();
- r->writeInt32(bufSize);
- for (int i = 0; i < bufSize; i++) {
- r->writeInt32(buf[i]);
- }
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_EQ_GAIN: {
- int buf[128] = {0};
- int bufSize = p.readInt32();
- for (int i = 0; i < bufSize; i++) {
- buf[i] = p.readInt32();
- }
- int ret = mpTv->SaveCurAudioEQGain(buf);
- r->writeInt32(ret);
break;
}
case GET_CUR_EQ_GAIN: {
- int buf[128] = {0};
- int ret = mpTv->GetCurAudioEQGain(buf);
- int bufSize = mpTv->GetAudioEQBandCount();
- r->writeInt32(bufSize);
- for (int i = 0; i < bufSize; i++) {
- r->writeInt32(buf[i]);
- }
- r->writeInt32(ret);
break;
}
case SET_AUDIO_EQ_SWITCH: {
- int tmpVal = p.readInt32();
- int ret = mpTv->SetAudioEQSwitch(tmpVal);
- r->writeInt32(ret);
break;
}
// AUDIO SPDIF SWITCH
case SET_AUDIO_SPDIF_SWITCH: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAudioSPDIFSwitch(tmp_val);
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SPDIF_SWITCH: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SaveCurAudioSPDIFSwitch(tmp_val);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SPDIF_SWITCH: {
- int ret = mpTv->GetCurAudioSPDIFSwitch();
- r->writeInt32(ret);
break;
}
//AUDIO SPDIF MODE
case SET_AUDIO_SPDIF_MODE: {
- int vol = p.readInt32();
- int progId = p.readInt32();
- int audioTrackId = p.readInt32();
- int ret = mpTv->SetAudioSPDIFMode(vol);
- mpTv->ResetAudioDecoderForPCMOutput();
- r->writeInt32(ret);
break;
}
case SAVE_CUR_AUDIO_SPDIF_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSPDIFMode(vol);
- r->writeInt32(ret);
break;
}
case GET_CUR_AUDIO_SPDIF_MODE: {
- int ret = mpTv->GetCurAudioSPDIFMode();
- r->writeInt32(ret);
break;
}
case SET_AMAUDIO_OUTPUT_MODE: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioOutputMode(tmp_val);
- r->writeInt32(ret);
break;
}
case SET_AMAUDIO_MUSIC_GAIN: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioMusicGain(tmp_val);
- r->writeInt32(ret);
break;
}
case SET_AMAUDIO_LEFT_GAIN: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioLeftGain(tmp_val);
- r->writeInt32(ret);
break;
}
case SET_AMAUDIO_RIGHT_GAIN: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioRightGain(tmp_val);
- r->writeInt32(ret);
break;
}
case SET_AMAUDIO_PRE_GAIN: {
- float tmp_val = p.readFloat();
- int ret = mpTv->setAmAudioPreGain(tmp_val);
- r->writeInt32(ret);
break;
}
case SET_AMAUDIO_PRE_MUTE: {
- int tmp_val = p.readInt32();
- int ret = mpTv->setAmAudioPreMute(tmp_val);
- r->writeInt32(ret);
break;
}
case GET_AMAUDIO_PRE_MUTE: {
- int ret = mpTv->getAmAudioPreMute();
- r->writeInt32(ret);
break;
}
case SELECT_LINE_IN_CHANNEL: {
- int channel = p.readInt32();
- int ret = mpTv->AudioLineInSelectChannel(channel);
- r->writeInt32(ret);
- LOGD("SELECT_LINE_IN_CHANNEL: channel = %d; ret = %d.\n", channel, ret);
break;
}
case SET_LINE_IN_CAPTURE_VOL: {
- int l_vol = p.readInt32();
- int r_vol = p.readInt32();
- int ret = mpTv->AudioSetLineInCaptureVolume(l_vol, r_vol);
- r->writeInt32(ret);
break;
}
case SET_AUDIO_VOL_COMP: {
- int tmpVal = p.readInt32();
- int ret = mpTv->SetCurProgramAudioVolumeCompensationVal(tmpVal);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_VOL_COMP: {
@@ -1895,20 +1661,12 @@ status_t TvService::Client::processCmd(const Parcel &p, Parcel *r)
break;
}
case SET_AUDIO_VIRTUAL: {
- int enable = p.readInt32();
- int level = p.readInt32();
- int ret = mpTv->SetAudioVirtualizer(enable, level);
- r->writeInt32(ret);
break;
}
case GET_AUDIO_VIRTUAL_ENABLE: {
- int ret = mpTv->GetAudioVirtualizerEnable();
- r->writeInt32(ret);
break;
}
case GET_AUDIO_VIRTUAL_LEVEL: {
- int ret = mpTv->GetAudioVirtualizerLevel();
- r->writeInt32(ret);
break;
}
// AUDIO END
@@ -3565,27 +3323,15 @@ status_t TvService::Client::processCmd(const Parcel &p, Parcel *r)
break;
}
case SET_AMAUDIO_VOLUME: {
- int volume = p.readInt32();
- int ret = mpTv->setAmAudioVolume(float (volume));
- r->writeInt32(ret);
break;
}
case GET_AMAUDIO_VOLUME: {
- float volume = mpTv->getAmAudioVolume();
- r->writeInt32(int (volume));
break;
}
case SAVE_AMAUDIO_VOLUME: {
- int volume = p.readInt32();
- int source = p.readInt32();
- int ret = mpTv->saveAmAudioVolume(volume, source);
- r->writeInt32(ret);
break;
}
case GET_SAVE_AMAUDIO_VOLUME: {
- int source = p.readInt32();
- int volume = mpTv->getSaveAmAudioVolume(source);
- r->writeInt32(volume);
break;
}
case DTV_UPDATE_RRT: {