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

Commit 420c0308 authored by Ray Chin's avatar Ray Chin
Browse files

Fix tuner service close HAL twice issue

Bug: 322928583
Test: atest android.media.tv.tuner.cts.TunerTest on cf_x86_tv
Change-Id: I92caa9ca5f93c15131b9a97d0c29194c69fd71a6
parent 5a5b2e68
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -50,7 +50,9 @@ TunerDemux::TunerDemux(const shared_ptr<IDemux> demux, const int id,
}

TunerDemux::~TunerDemux() {
    if (!isClosed) {
        close();
    }
    mDemux = nullptr;
    mTunerService = nullptr;
}
@@ -125,6 +127,7 @@ TunerDemux::~TunerDemux() {
}

::ndk::ScopedAStatus TunerDemux::close() {
    isClosed = true;
    return mDemux->close();
}

+1 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ private:
    shared_ptr<IDemux> mDemux;
    int mDemuxId;
    shared_ptr<TunerService> mTunerService;
    bool isClosed = false;
};

}  // namespace tuner
+4 −1
Original line number Diff line number Diff line
@@ -41,7 +41,9 @@ TunerDescrambler::TunerDescrambler(shared_ptr<IDescrambler> descrambler) {
}

TunerDescrambler::~TunerDescrambler() {
    if (!isClosed) {
        close();
    }
    mDescrambler = nullptr;
}

@@ -75,6 +77,7 @@ TunerDescrambler::~TunerDescrambler() {
}

::ndk::ScopedAStatus TunerDescrambler::close() {
    isClosed = true;
    return mDescrambler->close();
}

+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public:

private:
    shared_ptr<IDescrambler> mDescrambler;
    bool isClosed = false;
};

}  // namespace tuner
+4 −1
Original line number Diff line number Diff line
@@ -37,7 +37,9 @@ TunerDvr::TunerDvr(shared_ptr<IDvr> dvr, DvrType type) {
}

TunerDvr::~TunerDvr() {
    if (!isClosed) {
        close();
    }
    mDvr = nullptr;
}

@@ -92,6 +94,7 @@ TunerDvr::~TunerDvr() {
}

::ndk::ScopedAStatus TunerDvr::close() {
    isClosed = true;
    return mDvr->close();
}

Loading