⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 am_app_logic_processor_mask.cc

📁 Motorola synergy audio component
💻 CC
📖 第 1 页 / 共 5 页
字号:
            case AM_AUDIO_PATH_ID_ALERT_LITE:                info_ptr->speaker = HAPI_AUD_OUT_SEL_ALERT_TRANSDUCER;            case AM_AUDIO_PATH_ID_UI_LITE:            case AM_AUDIO_PATH_ID_KEY_LITE:            case AM_AUDIO_PATH_ID_NETWORK_LITE:                //  SET THE SPEAKER MATRIX GAINS ONLY FOR TONES, NO MIC IS REQUIRED!                gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, TONE_GENERATOR,                                 CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                info_ptr->ctg_gain = gain_table_ptr->dsp_gain_2;                info_ptr->hardware_gain_speaker = gain_table_ptr->hardware_gain;                set_matrix( info_ptr, TONE_GENERATOR, CODEC_SPEAKER, gain_table_ptr->dsp_gain_1 );                info_ptr->mic     = HAPI_AUD_IN_SEL_NO_MIC;                break ;            case AM_AUDIO_PATH_ID_VOICE:                // enable speech output at DSP                 set_matrix( info_ptr, TONE_GENERATOR, CODEC_SPEAKER, DISCONNECT_DSP_CTG_GAIN );                set_matrix( info_ptr, TONE_GENERATOR, UPLINK_SPEECH, DISCONNECT_DSP_CTG_GAIN );                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_NOISE_SUPP))                    set_bit( info_ptr->instruction_mask, AM_I_MASK_NOISE_SUPPRESS );                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_ECHO_CTRL))                {                    set_bit( info_ptr->instruction_mask, AM_I_MASK_ECHO_CONTROL );                }                //  SET THE SPEAKER MATRIX GAINS.                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SPKR_BIT0))                {                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SPKR_BIT1))                    {                        /* 11 = BOOM */                        info_ptr->speaker = HAPI_AUD_OUT_SEL_BOOM_HEADSET_SPEAKER;                        gain_table_ptr = get_gain( ctia_headset_device, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                        info_ptr->echo_mode = ECHO_MODE_HEADSET;                    }                    else                    {                        /* 01 = INTERNAL */                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                           info_ptr->echo_mode = ECHO_MODE_HANDSET;                    }                }                else                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SPKR_BIT1))                    {                        /* 10 = external */                        info_ptr->speaker = HAPI_AUD_OUT_SEL_CE_BUS_SPEAKER;                        gain_table_ptr = get_gain( DL_ACC_DM_CE_BUS_TEST, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                        info_ptr->echo_mode = ECHO_MODE_HANDSFREE;                                       }                    else                    {                        /* 00 = off */                        info_ptr->speaker = HAPI_AUD_OUT_SEL_NO_SPEAKER;                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, AM_AUDIO_PATH_ID_INVALID_TONE, volume, in_call );                        info_ptr->echo_mode = ECHO_MODE_HANDSFREE;                    }                info_ptr->hardware_gain_speaker = gain_table_ptr->hardware_gain;                if (!read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_UL_DL_MUTE))                {                    set_matrix( info_ptr, DOWNLINK_SPEECH, CODEC_SPEAKER, gain_table_ptr->dsp_gain_1 );                }                else                {                    set_matrix( info_ptr, DOWNLINK_SPEECH, CODEC_SPEAKER, MUTE_DSP_AUDIO );                }                // SET THE SIDETONE (FEEDBACK) GAINS.                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SIDETONE))                {                    set_matrix( info_ptr, CODEC_MIC, CODEC_SPEAKER, gain_table_ptr->dsp_gain_2 );                }                //  SET THE MIC MATRIX GAINS.                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_MIC_BIT0))                {                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_MIC_BIT1))                    {                        /* 11 = boom */                        info_ptr->mic     = HAPI_AUD_IN_SEL_BOOM_HEADSET_MIC;                        gain_table_ptr = get_gain( ctia_headset_device, CODEC_MIC,                                                   UPLINK_SPEECH, info_ptr->path_type, volume, in_call );                    }                    else                    {                        /* 01 = internal */                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, CODEC_MIC,                                                   UPLINK_SPEECH, info_ptr->path_type, volume, in_call );                    }                }                else                {                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_MIC_BIT1))                    {                        /* 10 = external */                        info_ptr->mic     = HAPI_AUD_IN_SEL_CE_BUS_MIC;                        gain_table_ptr = get_gain( DL_ACC_DM_CE_BUS_TEST, CODEC_MIC,                                                   UPLINK_SPEECH, info_ptr->path_type, volume, in_call );                    }                    else                    {                        /* 00 = off */                        info_ptr->mic = HAPI_AUD_IN_SEL_NO_MIC;                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, CODEC_MIC,                                                    UPLINK_SPEECH, AM_AUDIO_PATH_ID_INVALID_TONE, volume, in_call );                        }                }                info_ptr->hardware_gain_mic = gain_table_ptr->hardware_gain;                if (!read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_UL_DL_MUTE))                {                    set_matrix( info_ptr, CODEC_MIC, UPLINK_SPEECH, gain_table_ptr->dsp_gain_1 );                }                else                {                   set_matrix( info_ptr, CODEC_MIC, UPLINK_SPEECH, MUTE_DSP_AUDIO );                 }                break ;            case AM_AUDIO_PATH_ID_VT_VOICE:  //kind of like voice, but without the effects                set_matrix( info_ptr, TONE_GENERATOR, CODEC_SPEAKER, DISCONNECT_DSP_CTG_GAIN );                set_matrix( info_ptr, TONE_GENERATOR, UPLINK_SPEECH, DISCONNECT_DSP_CTG_GAIN );                //  SET THE SPEAKER MATRIX GAINS.                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SPKR_BIT0))                {                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SPKR_BIT1))                    {                        /* 11 = BOOM */                        info_ptr->speaker = HAPI_AUD_OUT_SEL_BOOM_HEADSET_SPEAKER;                        gain_table_ptr = get_gain( ctia_headset_device, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                    }                    else                    {                        /* 01 = INTERNAL */                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                       }                }                else                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SPKR_BIT1))                    {                        /* 10 = external */                        info_ptr->speaker = HAPI_AUD_OUT_SEL_CE_BUS_SPEAKER;                        gain_table_ptr = get_gain( DL_ACC_DM_CE_BUS_TEST, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, info_ptr->path_type, volume, in_call );                    }                    else                    {                        /* 00 = off */                        info_ptr->speaker = HAPI_AUD_OUT_SEL_NO_SPEAKER;                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, DOWNLINK_SPEECH,                                                    CODEC_SPEAKER, AM_AUDIO_PATH_ID_INVALID_TONE, volume, in_call );                    }                info_ptr->hardware_gain_speaker = gain_table_ptr->hardware_gain;                if (!read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_UL_DL_MUTE))                {                    set_matrix( info_ptr, DOWNLINK_SPEECH, CODEC_SPEAKER, gain_table_ptr->dsp_gain_1 );                }                else                {                    set_matrix( info_ptr, DOWNLINK_SPEECH, CODEC_SPEAKER, MUTE_DSP_AUDIO );                }                // SET THE SIDETONE (FEEDBACK) GAINS.                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_SIDETONE))                {                    set_matrix( info_ptr, CODEC_MIC, CODEC_SPEAKER, gain_table_ptr->dsp_gain_2 );                }                //  SET THE MIC MATRIX GAINS.                if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_MIC_BIT0))                {                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_MIC_BIT1))                    {                        /* 11 = boom */                        info_ptr->mic     = HAPI_AUD_IN_SEL_BOOM_HEADSET_MIC;                        gain_table_ptr = get_gain( ctia_headset_device, CODEC_MIC,                                                   UPLINK_SPEECH, info_ptr->path_type, volume, in_call );                    }                    else                    {                        /* 01 = internal */                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, CODEC_MIC,                                                   UPLINK_SPEECH, info_ptr->path_type, volume, in_call );                    }                }                else                {                    if (read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_MIC_BIT1))                    {                        /* 10 = external */                        info_ptr->mic     = HAPI_AUD_IN_SEL_CE_BUS_MIC;                        gain_table_ptr = get_gain( DL_ACC_DM_CE_BUS_TEST, CODEC_MIC,                                                   UPLINK_SPEECH, info_ptr->path_type, volume, in_call );                    }                    else                    {                        /* 00 = off */                        info_ptr->mic = HAPI_AUD_IN_SEL_NO_MIC;                        gain_table_ptr = get_gain( DL_ACC_DM_HANDSET, CODEC_MIC,                                                    UPLINK_SPEECH, AM_AUDIO_PATH_ID_INVALID_TONE, volume, in_call );                        }                }                info_ptr->hardware_gain_mic = gain_table_ptr->hardware_gain;                if (!read_bit(audio_ctia_mode,AUDIO_CTIA_MASK_UL_DL_MUTE))                {                    set_matrix( info_ptr, CODEC_MIC, UPLINK_SPEECH, gain_table_ptr->dsp_gain_1 );                }                else                {                   set_matrix( info_ptr, CODEC_MIC, UPLINK_SPEECH, MUTE_DSP_AUDIO );                 }                break ;            case AM_AUDIO_PATH_ID_DATA:            case AM_AUDIO_PATH_ID_INVALID_TONE:            case AM_AUDIO_PATH_ID_UNUSED_TONE:            default:                 break ;        }    }#if ((AUDIO_GSM == TRUE) || (AUDIO_TDMA == TRUE))    /****************************************************************************/    /*                                DAI MODE                                  */    /****************************************************************************/    else if( (audio_dai_mode == DL_AUDIO_TONE_TYPE_DAI_ANALOG_UPLINK) ||             (audio_dai_mode == DL_AUDIO_TONE_TYPE_DAI_ANALOG_DOWNLINK) ||             (audio_dai_mode == DL_AUDIO_TONE_TYPE_DAI_DIGITAL_UPLINK) ||             (audio_dai_mode == DL_AUDIO_TONE_TYPE_DAI_DIGITAL_DOWNLINK))    {        UINT8 dai_device_type;        // PHONE MODE        info_ptr->phone_mode = ~(1<<AM_HANDSFREE_AUDIO);        // READ THE VOLUME STEP WE ARE TRYING TO SET TO.        if(volume == INVALID_VOLUME_STEP)        {            volume = relay_layer.get_volume_step ( info_ptr );        }        if ((audio_dai_mode == DL_AUDIO_TONE_TYPE_DAI_DIGITAL_UPLINK)            ||(audio_dai_mode == DL_AUDIO_TONE_TYPE_DAI_DIGITAL_DOWNLINK))        {            dai_device_type = DL_ACC_DM_BT_HEADSET;              }        else if (device_array[ DL_ACC_DM_HEADSET ])        {            dai_device_type= DL_ACC_DM_HEADSET;        }        else if (device_array[ DL_ACC_DM_EMU_HEADSET ])        {            dai_device_type = DL_ACC_DM_EMU_HEADSET;        }        else        {            dai_device_type = DL_ACC_DM_HANDSET;        }        set_bit( info_ptr->instruction_mask, AM_I_MASK_MIC_FILTER );        set_bit( info_ptr->instruction_mask, AM_I_MASK_SPKR_FILTER );        // DETERMINE THE AUDIO GAINS AND SET THE DSP MATRIX GAINS.        switch ( audio_dai_mode )        {            case DL_AUDIO_TONE_TYPE_DAI_ANALOG_UPLINK:            case DL_AUDIO_TONE_TYPE_DAI_ANALOG_DOWNLINK:                // SPEAKER AND MIC SELECTION                info_ptr->speaker = HAPI_AUD_OUT_SEL_HANDSET_SPEAKER;                info_ptr->mic     = HAPI_AUD_IN_SEL_HANDSET_MIC;                set_matrix( info_ptr, TONE_GENERATOR, CODEC_SPEAKER, DISCONNECT_DSP_CTG_GAIN );                //  SET THE SPEAKER MATRIX GAINS.                gain_table_ptr = get_gain( dai_device_type, DOWNLINK_SPEECH,                                  CODEC_SPEAKER, AM_AUDIO_PATH_ID_VOICE, volume, in_call );                info_ptr->hardware_gain_speaker = gain_table_ptr->hardware_gain;                set_matrix( info_ptr, SAP_RX_SLOT_1, CODEC_SPEAKER, 0x0800 );                //  SET THE MIC MATRIX GAINS.                gain_table_ptr = get_gain( dai_device_type, CODEC_MIC,                                 UPLINK_SPEECH, AM_AUDIO_PATH_ID_VOICE, volume, in_call );                info_ptr->hardware_gain_mic = gain_table_ptr->hardware_gain;                set_matrix( info_ptr, CODEC_MIC, SAP_TX_SLOT_1, 0x0800 );                //  ENABLE AUDIO SHAPING FILTER                set_bit( info_ptr->instruction_mask, AM_I_MASK_AUDIO_HANDSET_FILTERING );                break;            case DL_AUDIO_TONE_TYPE_DAI_DIGITAL_UPLINK:            case DL_AUDIO_TONE_TYPE_DAI_DIGITAL_DOWNLINK:                // SPEAKER AND MIC SELECTION                info_ptr->speaker = HAPI_AUD_OUT_SEL_NO_SPEAKER;                info_ptr->mic     = HAPI_AUD_IN_SEL_NO_MIC;                set_matrix( info_ptr, TONE_GENERATOR, CODEC_SPEAKER, DISCONNECT_DSP_CTG_GAIN );                //  SET THE SPEAKER MATRIX GAINS.                gain_table_ptr = get_gain( dai_device_type, DOWNLINK_SPEECH,                                  CODEC_SPEAKER, AM_AUDIO_PATH_ID_VOICE, volume, in_call );                info_ptr->hardware_gain_speaker = gain_table_ptr->hardware_gain;                set_matrix( info_ptr, DOWNLINK_SPEECH, SAP_TX_SLOT_1, 0x0800 );                //  SET THE MIC MATRIX GAINS.                gain_table_ptr = get_gain( dai_device_type, CODEC_MIC,                                 UPLINK_SPEECH, AM_AUDIO_PATH_ID_VOICE, volume, in_call );                info_ptr->hardware_gain_mic = gain_table_ptr->hardware_gain;                set_matrix( info_ptr, SAP_RX_SLOT_1, UPLINK_SPEECH, 0x0800 );                // DISABLE AUDIO SHAPING FILTER                clear_bit( info_ptr->instruction_mask, AM_I_MASK_AUDIO_HANDSET_FILTERING );                break;            default:                 break ;        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -