Release resource before send MSG_RESOURCE_LOST message to TIS

Bug: 163397430
Test: mmm
Change-Id: I68e0c8704030e2a5713a5b63cffe8a1fb40873fc
This commit is contained in:
shubang
2020-08-12 11:14:39 -07:00
parent 271e922bb0
commit 9e0e1fb6ae

View File

@@ -362,6 +362,11 @@ public class Tuner implements AutoCloseable {
*/
@Override
public void close() {
releaseAll();
TunerUtils.throwExceptionForResult(nativeClose(), "failed to close tuner");
}
private void releaseAll() {
if (mFrontendHandle != null) {
int res = nativeCloseFrontend(mFrontendHandle);
if (res != Tuner.RESULT_SUCCESS) {
@@ -396,9 +401,9 @@ public class Tuner implements AutoCloseable {
TunerUtils.throwExceptionForResult(res, "failed to close demux");
}
mTunerResourceManager.releaseDemux(mDemuxHandle, mClientId);
mFrontendHandle = null;
mDemuxHandle = null;
}
TunerUtils.throwExceptionForResult(nativeClose(), "failed to close tuner");
}
/**
@@ -495,6 +500,7 @@ public class Tuner implements AutoCloseable {
break;
}
case MSG_RESOURCE_LOST: {
releaseAll();
if (mOnResourceLostListener != null
&& mOnResourceLostListenerExecutor != null) {
mOnResourceLostListenerExecutor.execute(