Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ba7b768 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Refine SharedFilter close() to avoid random crash"

parents aa2e2ec9 f3b2a5d5
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -92,9 +92,21 @@ public final class SharedFilter 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();
                    }
                }
            }
        }
    }
@@ -187,6 +199,8 @@ public final class SharedFilter implements AutoCloseable {
            if (mIsClosed) {
                return;
            }
            mCallback = null;
            mExecutor = null;
            nativeSharedClose();
            mIsClosed = true;
         }
+1 −0
Original line number Diff line number Diff line
@@ -4147,6 +4147,7 @@ static jint android_media_tv_Tuner_close_filter(JNIEnv *env, jobject filter) {

    Result r = filterClient->close();
    filterClient->decStrong(filter);
    filterClient = nullptr;
    if (shared) {
        env->SetLongField(filter, gFields.sharedFilterContext, 0);
    } else {