diff --git a/tv/tuner/aidl/default/Filter.cpp b/tv/tuner/aidl/default/Filter.cpp index 7b62c3e21e..d8f5dd5f28 100644 --- a/tv/tuner/aidl/default/Filter.cpp +++ b/tv/tuner/aidl/default/Filter.cpp @@ -326,6 +326,8 @@ Filter::~Filter() { ALOGV("%s", __FUNCTION__); mFilterThreadRunning = true; std::vector events; + + mFilterCount += 1; // All the filter event callbacks in start are for testing purpose. switch (mType.mainType) { case DemuxFilterMainType::TS: @@ -362,6 +364,8 @@ Filter::~Filter() { ::ndk::ScopedAStatus Filter::stop() { ALOGV("%s", __FUNCTION__); + mFilterCount -= 1; + mFilterThreadRunning = false; if (mFilterThread.joinable()) { mFilterThread.join(); diff --git a/tv/tuner/aidl/default/Filter.h b/tv/tuner/aidl/default/Filter.h index 1cf6b3abc4..e2a0c7abfa 100644 --- a/tv/tuner/aidl/default/Filter.h +++ b/tv/tuner/aidl/default/Filter.h @@ -289,6 +289,7 @@ class Filter : public BnFilter { uint8_t mIpCidMonitored = 0; PlaybackStatus mIptvDvrPlaybackStatus; + std::atomic mFilterCount = 0; }; } // namespace tuner