Merge "Release resource before send MSG_RESOURCE_LOST message to TIS"
This commit is contained in:
@@ -362,6 +362,11 @@ public class Tuner implements AutoCloseable {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
|
releaseAll();
|
||||||
|
TunerUtils.throwExceptionForResult(nativeClose(), "failed to close tuner");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void releaseAll() {
|
||||||
if (mFrontendHandle != null) {
|
if (mFrontendHandle != null) {
|
||||||
int res = nativeCloseFrontend(mFrontendHandle);
|
int res = nativeCloseFrontend(mFrontendHandle);
|
||||||
if (res != Tuner.RESULT_SUCCESS) {
|
if (res != Tuner.RESULT_SUCCESS) {
|
||||||
@@ -396,9 +401,9 @@ public class Tuner implements AutoCloseable {
|
|||||||
TunerUtils.throwExceptionForResult(res, "failed to close demux");
|
TunerUtils.throwExceptionForResult(res, "failed to close demux");
|
||||||
}
|
}
|
||||||
mTunerResourceManager.releaseDemux(mDemuxHandle, mClientId);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case MSG_RESOURCE_LOST: {
|
case MSG_RESOURCE_LOST: {
|
||||||
|
releaseAll();
|
||||||
if (mOnResourceLostListener != null
|
if (mOnResourceLostListener != null
|
||||||
&& mOnResourceLostListenerExecutor != null) {
|
&& mOnResourceLostListenerExecutor != null) {
|
||||||
mOnResourceLostListenerExecutor.execute(
|
mOnResourceLostListenerExecutor.execute(
|
||||||
|
|||||||
Reference in New Issue
Block a user