commit 22677724e3437e9f9551d0281afbc7786c886265 Author: Sangmin Choi Date: Mon Nov 28 18:22:07 2022 +0900 [BPM-9871] CSMAI2-55-Ignore-AC3.patch diff --git a/amp_wrapper.c b/amp_wrapper.c index 3e0b58a..0dc6bb6 100644 --- a/amp_wrapper.c +++ b/amp_wrapper.c @@ -4,6 +4,7 @@ extern "C" { #define LOG_TAG "halMediaPlayer" +#include #include #include "btv_hal.h" @@ -51,6 +52,21 @@ void amp_log(int device, char *log) { void amp_reset_buffer(synaptics_player_info *socPlayerInfo); INT64 amp_iptv_mgr_get_position(AVP_HANDLE *player); +int amp_check_nugu_enabled(){ + char nugu_enabled[PROP_VALUE_MAX]; + memset(nugu_enabled, 0, PROP_VALUE_MAX); + + if( !property_get("vendor.audio.nugu.enabled", nugu_enabled, "0") ) + ALOGD("++%s failed to read vendor.audio.nugu.enabled", __FUNCTION__); + + if( !strcmp(nugu_enabled, "1") ){ + ALOGD("++%s nugu active (%s)!!!!", __FUNCTION__, nugu_enabled); + return 1; + } + ALOGD("++%s nugu in-active (%s)!!!!", __FUNCTION__, nugu_enabled); + return 0; +} + int amp_SetWindowSize(synaptics_player_info *socPlayerInfo) { ALOGD("++SetWindowSize"); if(socPlayerInfo == NULL) { @@ -550,11 +566,16 @@ void setHdmiFormat(AMIXER_HANDLE amixer, AVP_AudioOutputMode mode) { HRESULT ret; if(mode == AVP_AUDIO_PASSTHROUGH /* && PREPARE_PASSTHROUGH&& socP8layerInfo->playerConfig.audio_codec == AMP_MS11_DDC*/) { if(spdifFormat != AMP_SND_SPDIF_FORMAT_RAW_MAIN || hdmiFormat != AMP_SND_HDMI_FORMAT_RAW_MAIN) { - ALOGD("++setHdmiFormat set dolby!!!!"); - ret = AMP_SND_SetSpdifFormat(AMP_SND_SPDIF_FORMAT_RAW_MAIN); - assert(ret == SUCCESS); - ret = AMP_SND_SetHDMIFormat(AMP_SND_HDMI_FORMAT_RAW_MAIN); - assert(ret == SUCCESS); + + if( amp_check_nugu_enabled() ){ + ALOGD("++setHdmiFormat ignored nugu enabled!!!!"); + }else{ + ALOGD("++setHdmiFormat set dolby !!!!"); + ret = AMP_SND_SetSpdifFormat(AMP_SND_SPDIF_FORMAT_RAW_MAIN); + assert(ret == SUCCESS); + ret = AMP_SND_SetHDMIFormat(AMP_SND_HDMI_FORMAT_RAW_MAIN); + assert(ret == SUCCESS); + } }else ALOGD("++setHdmiFormat already dolby!!!"); } else if(spdifFormat != AMP_SND_SPDIF_FORMAT_STEREO_PCM || hdmiFormat != AMP_SND_HDMI_FORMAT_PCM_MULTI) { ALOGD("++setHdmiFormat set pcm");