stop过程

Dear sir :
如下log中这些releaseInput()是在什么情况会执行它??是在哪里触发它执行??我查了下android_media_AudioSystem.cpp的JNI调用流程,也没找到相关的接口。在AudioSystem.cpp和AudioPolicyService.cpp中均有此函数的接口,但是在
android_media_AudioSystem.cpp的JNI接口中没找到,不知道上层怎么调用这个函数,可以释放相应的Input??
void AudioSystem::releaseInput(audio_io_handle_t input)
{
const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
if (aps == 0) return;
aps->releaseInput(input);
}

void AudioPolicyService::releaseInput(audio_io_handle_t input)
{
if (mpAudioPolicy == NULL) {
return;
}
Mutex::Autolock _l(mLock);
mpAudioPolicy->release_input(mpAudioPolicy, input);

ssize_t index = mInputs.indexOfKey(input);
if (index < 0) {
return;
}
InputDesc *inputDesc = mInputs.valueAt(index);
setPreProcessorEnabled(inputDesc, false);
delete inputDesc;
mInputs.removeItemsAt(index);
}

Line 2397: 08-30 11:16:36.248 143 702 D AudioMTKPolicyManager: releaseInput() 183
Line 2416: 08-30 11:16:36.252 143 702 D AudioMTKPolicyManager: releaseInput() exit
Line 28959: 08-30 11:25:08.323 143 701 D AudioMTKPolicyManager: releaseInput() 194
Line 28978: 08-30 11:25:08.333 143 701 D AudioMTKPolicyManager: releaseInput() exit
Line 33867: 08-30 11:25:37.379 143 702 D AudioMTKPolicyManager: releaseInput() 197
Line 33886: 08-30 11:25:37.391 143 702 D AudioMTKPolicyManager: releaseInput() exit
Line 57425: 08-30 11:27:16.524 143 538 D AudioMTKPolicyManager: releaseInput() 176

Line 57448: 08-30 11:27:16.528 143 538 D AudioMTKPolicyManager: releaseInput() exit

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Dear Sir:
App调用了MediaRecorder.java的stop,就会触发后面的AudioMTKPolicyManager的releaseInput。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Dear sir :
App调用了MediaRecorder.java的stop,就会触发后面的AudioMTKPolicyManager的releaseInput。
----------》请问具体怎么触发的,什么条件会触发这个后面的AudioMTKPolicyManager的releaseInput。代码在哪里?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dear Sir:
录音停止的时候,根据录音格式的不同由不同的writer停止录音,如录音格式是ogg,则在OggWriter.cpp,writer最后还是会call 到AudioFlinger。AudioFlinger在对RecorderTrack的destory中会用到 AudioSystem::releaseInput;
AudioFlinger::RecordThread::RecordTrack::destroy()
{
......
AudioSystem::releaseInput(thread->id());
......
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dear Sir:
资源被占用的使用应该还是者其他的应用在占用录音。
PD1227T_A_1.8.1_2013830_111630\mobilelog\APLog_2013_0830_104228\main_log.1中如下时间getInput:
08-30 11:15:29.357 143 701 D AudioMTKPolicyManager: mInputs add input == 176

08-30 11:27:16.524 143 538 D AudioMTKPolicyManager: releaseInput() 176
08-30 11:27:16.524 143 538 D AudioFlinger: closeInput() 176

比较怀疑是input为176 的这次的录音在占占用。
而input为176的这次 录音结合kernal.log看起来是“11985:com.vivo.hising”:
08-30 11:15:29.309 11985 11985 V AudioRecord: set(): sampleRate 44100, channelMask 0xc, frameCount 32768
08-30 11:15:29.310 11985 11985 V AudioRecord: set(): mSessionId 175
是com.vivo.hising在占用着,还请检查咯。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值