Fix filter close Executor leakage issue

Bug: b/213021173
Tests: DTV Channel Change * 2.5hr PASS
Change-Id: Id9c64fa9712acda1d2947b82d7c69b098fb7016d
This commit is contained in:
Songwen Liao
2021-11-06 15:39:15 +08:00
committed by Hongguang
parent 45dd38dbb4
commit f824b08041

View File

@@ -283,9 +283,21 @@ public class Filter implements AutoCloseable {
synchronized (mCallbackLock) {
if (mCallback != null) {
mCallback.onFilterEvent(this, events);
} else {
for (FilterEvent event : events) {
if (event instanceof MediaEvent) {
((MediaEvent)event).release();
}
}
}
}
});
} else {
for (FilterEvent event : events) {
if (event instanceof MediaEvent) {
((MediaEvent)event).release();
}
}
}
}
}
@@ -558,6 +570,8 @@ public class Filter implements AutoCloseable {
if (res != Tuner.RESULT_SUCCESS) {
TunerUtils.throwExceptionForResult(res, "Failed to close filter.");
} else {
mCallback = null;
mExecutor = null;
mIsStarted = false;
mIsClosed = true;
}