ITPub博客

首页 > IT职业 > IT生活 > FAQ-MT6250基线关机有pop音

FAQ-MT6250基线关机有pop音

IT生活 作者:SZX511 时间:2019-06-17 14:39:17 0 删除 编辑

MT6250基线关机有pop音,之前MT6250D有出现过,解决方法是将afe_def件的__AFE_PA_DELAY_OFF__定义为1,能够解决。而MT6250按此方法处理后,能将pop音消除,但录音机录音后,立刻播放会死机。
[Solution]
分析过程:因为是播放声音的末尾有pop音,采用提前关PA的方法,这个方法在较多平台经常使用,如MT6236,MT6253,MT6252等。
AFE_TurnOffSpeaker函数修改如下:
void AFE_TurnOffSpeaker( kal_uint8 aud_func )
{
kal_uint32 savedMask;
stack_print("AFE_TurnOffSpeaker v1-afe_common.c line 2872-2");
savedMask = SaveAndSetIRQMask(); /* Disable interrupt to prevent race
condition */
afe.sp_flag &= ~(1<<aud_func);
RestoreIRQMask(savedMask);
if( !afe.gpio_lock && (afe.aud[aud_func].out_dev & L1SP_BUFFER_EXT)) {
AFE_SwitchExtAmplifier( false );
kal_sleep_task(1);
afe.ext_op_on = KAL_FALSE;
}
AFE_SetRefresh();
L1Audio_Msg_AFE_TurnSpk( L1AUDIO_Str_onoff(0), L1AUDIO_Func_Name(aud_func)
);
}
但经试验会出现通话时,对方听不到我们手机的声音,或者对方说话,我们听不到了,免提可以听到.
考虑到若是再去分析通话的问题,会比较发散。于是从__AFE_PA_DELAY_OFF__定义为1,引发死机问题着手。仍将__AFE_PA_DELAY_OFF__定义为1,但录音机录音后,立刻播放会死机,抓memory dump分析。
AFE_Stop_and_Wait_DelayOff中kal_sleep_task,MMI (等待事件<aud_even:0x1>,一直等不到,导致MMI的

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529038/viewspace-2647869/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
一牛网论坛囊括了MTK、高通、射频、PCB、嵌入式、全志、海思等技术,欢迎大家前来学习、讨论

注册时间:2018-03-29

  • 博文量
    237
  • 访问量
    222192