summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-12-30 12:22:57 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-12-30 12:22:57 +0000
commit1f07b60a756cce795332bfbbd1f87dac4916055e (patch)
tree2bf92da88ed938beabb4273657437cd76740228a /media
parent4b7054b9c034a24d078758df045dfc8e09cbdf1c (diff)
parentacb16468cbc03c16cc459fb98111a3ce0fc8e9a1 (diff)
Merge "Release resource before send MSG_RESOURCE_LOST message to TIS" am: eb709b6d88 am: acb16468cb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536908 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I7b2b70e789fd7e2247d246d1c4718d971e791cdc
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/tv/tuner/Tuner.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java
index 8bf688dba10b..e148d0e29b5a 100644
--- a/media/java/android/media/tv/tuner/Tuner.java
+++ b/media/java/android/media/tv/tuner/Tuner.java
@@ -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(